> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SNMP

> SNMP trap ve inform mesajlarını güvenli şekilde gönderen bağlantı tanımı oluşturur. Ağ cihazlarından trap/inform mesajları alarak v1/v2c/v3 protokolleriyle güvenli izleme gerçekleştirebilir

## Genel Bakış

<AccordionGroup>
  <Accordion title="Amacı Nedir?">
    <CardGroup cols={1}>
      <Card title="Trap/Inform Mesaj Eşleştirme" icon="send">
        Ağ ve altyapı cihazlarından gelen SNMP trap/inform mesajlarını Apinizer Integration Flow bileşenleriyle eşleştirmek için kullanılır
      </Card>

      <Card title="Alarm Yönetimi" icon="bell">
        Aynı connection üzerinden birden fazla mesaj tipini yönlendirerek operasyon ekiplerinin alarm yönetimini kolaylaştırır
      </Card>

      <Card title="Çoklu Versiyon Desteği" icon="layers">
        SNMP v1, v2c ve v3 destekleri sayesinde farklı güvenlik seviyelerine sahip cihazlarla tutarlı iletişim kurulmasını sağlar
      </Card>

      <Card title="Ortam Taşıma" icon="move">
        Proje bazlı yetkilendirme ve export/import desteği ile bağlantı yapılandırmalarının ortamlara taşınmasını hızlandırır
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Çalışma Prensibi">
    <CardGroup cols={2}>
      <Card title="Bağlantı Başlatma" icon="play">
        Integration Flow veya Connector içerisinden SNMP bağlantısı talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur
      </Card>

      <Card title="Connection Pool Yönetimi" icon="database">
        Hafif UDP oturumları için mantıksal bir connection pool tutulur; aktif soket varsa yeniden kullanılır, yoksa yeni SNMP oturumu açılır
      </Card>

      <Card title="Kimlik Doğrulama" icon="lock">
        SNMP v1/v2c için community string, SNMP v3 için USM tabanlı Authentication mekanizması devreye alınır
      </Card>

      <Card title="Veri İletişimi" icon="send">
        Tanımlanan message type'a göre UDP 161/162 portları üzerinden trap, inform veya get istekleri gönderilip cevaplar okunur
      </Card>

      <Card title="Bağlantı Yönetimi" icon="settings">
        İşlem tamamlandıktan sonra bağlantı pool'a geri döner; sürekli trap dinlemede soket açık tutulur
      </Card>

      <Card title="Hata Yönetimi" icon="alert-circle">
        Bağlantı hatası, timeout veya authentication hatası durumunda retryCount değeri kadar tekrar denenir, ardından hata loglanıp kullanıcıya iletilir
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Kullanım Alanları">
    <CardGroup cols={2}>
      <Card title="Olay Yönetim Sistemi" icon="activity">
        Ağ cihazlarından gelen trap'leri olay yönetim sistemine aktarmak
      </Card>

      <Card title="Veri Merkezi İzleme" icon="monitor">
        Veri merkezindeki enerji ve iklimlendirme ekipmanlarını SNMP OID değerleriyle izlemek
      </Card>

      <Card title="SIEM Entegrasyonu" icon="shield">
        Güvenlik cihazlarından gelen SNMP inform mesajlarını SIEM entegrasyonuna yönlendirmek
      </Card>

      <Card title="REST API Köprüleri" icon="link">
        Donanım üreticilerinin sunduğu SNMP tabanlı REST API köprüleriyle iletişim kurmak
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Teknik Özellikler ve Yetenekler

<AccordionGroup>
  <Accordion title="Temel Özellikler">
    <CardGroup cols={2}>
      <Card title="Çoklu SNMP Versiyon Desteği" icon="layers">
        V1, V2c ve V3 seçimleriyle hem legacy hem de güvenli USM tabanlı cihazlara bağlanılabilir.
      </Card>

      <Card title="Mesaj Tipi Esnekliği" icon="send">
        Trap, Inform veya Get istekleri seçilerek farklı alarm senaryoları tek connection'dan yönetilir.
      </Card>

      <Card title="Dinamik PDU OID Yönetimi" icon="map">
        PDU OID for Message/Time alanları ve PDU Variable Map sayesinde cihaz spesifik alanlar kolayca eşlenir.
      </Card>

      <Card title="Ortam Bazlı Yapılandırma" icon="code-branch">
        Her ortam (Development, Test, Production) için ayrı connection parametreleri tanımlama imkanı.
      </Card>

      <Card title="Enable/Disable Kontrolü" icon="toggle-on">
        Connection'ı aktif veya pasif hale getirme (enable/disable toggle). Pasif durumda bağlantı kullanılamaz ancak yapılandırması saklanır.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="İleri Düzey Özellikler">
    <CardGroup cols={2}>
      <Card title="PDU Variable Map Düzenleyicisi" icon="code">
        Key/value tablosu ile SNMP payload'ındaki OID'ler iş kurallarına göre yeniden adlandırılır.
      </Card>

      <Card title="USM Güvenlik Seviyesi Otomasyonu" icon="shield">
        Security Level seçimine göre gerekli authentication/privilege alanları otomatik zorunlu hale gelir.
      </Card>

      <Card title="Global Taşıma ve Proje Paylaşımı" icon="share">
        Connection, Project Operations servisleriyle global alana taşınarak birden fazla projede tekrar kullanılabilir.
      </Card>

      <Card title="Connection Test Özelliği" icon="flask">
        "Test Connection" butonu ile bağlantı parametrelerini kaydetmeden önce doğrulama imkanı.
      </Card>

      <Card title="Export/Import Özelliği" icon="file-export">
        Connection yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
      </Card>

      <Card title="Connection Monitoring" icon="chart-line">
        Bağlantı sağlığı, pool durumu ve performans metriklerini izleme.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Connection Parametreleri

<AccordionGroup>
  <Accordion title="Zorunlu Parametreler">
    <CardGroup cols={1}>
      <Card title="Name" icon="tag">
        **Açıklama:** Connection adı (benzersiz olmalı)\
        **Örnek Değer:** `Production_SNMP`\
        **Notlar:** Boşlukla başlamaz, özel karakterler kullanılmamalı
      </Card>

      <Card title="Version" icon="layers">
        **Açıklama:** Kullanılacak SNMP versiyonu (V1, V2c, V3)\
        **Örnek Değer:** `V3`\
        **Notlar:** Cihazın desteklediği en yüksek versiyonu seçmeniz önerilir
      </Card>

      <Card title="Connection String" icon="network">
        **Açıklama:** SNMP hedefine ait UDP adresi ve portu\
        **Örnek Değer:** `udp:10.10.10.5/162`\
        **Notlar:** Port 162 trap, 161 get/inform için kullanılır
      </Card>

      <Card title="Security/Community Name" icon="lock">
        **Açıklama:** Versiyona göre community string veya security name\
        **Örnek Değer:** `public`\
        **Notlar:** V3'te security name olarak kullanılır, v1/v2c'de community zorunludur
      </Card>

      <Card title="Retry Count" icon="refresh-cw">
        **Açıklama:** Başarısız iletiler için tekrar deneme sayısı\
        **Örnek Değer:** `2`\
        **Notlar:** 0 değeri yeniden deneme yapılmayacağı anlamına gelir
      </Card>

      <Card title="Timeout (saniye)" icon="clock">
        **Açıklama:** SNMP isteği için yanıta kadar beklenecek süre\
        **Örnek Değer:** `30`\
        **Notlar:** Çok düşük süreler paket kaybına yol açabilir
      </Card>

      <Card title="Message Type" icon="send">
        **Açıklama:** Trap, Inform veya Get seçimleri\
        **Örnek Değer:** `TRAP`\
        **Notlar:** Seçilen tip Integration Flow adımlarını tetikler
      </Card>

      <Card title="PDU OID for Message" icon="code">
        **Açıklama:** Alarm mesajının okunacağı OID\
        **Örnek Değer:** `.1.3.6.1.2.1.1.6`\
        **Notlar:** Cihaz dokümantasyonuna göre güncellenmelidir
      </Card>

      <Card title="Security Level" icon="shield">
        **Açıklama:** Yalnızca V3'te kullanılacak USM güvenlik seviyesi\
        **Örnek Değer:** `AUTH_PRIV`\
        **Notlar:** Seçime göre ek authentication/priv alanları zorunlu olur
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="İsteğe Bağlı Parametreler">
    <CardGroup cols={1}>
      <Card title="Description" icon="file-text">
        **Açıklama:** Connection amacı hakkında açıklama\
        **Varsayılan Değer:** (Boş)\
        **Önerilen Değer:** DC Trap Forwarder
      </Card>

      <Card title="PDU OID for Time" icon="clock">
        **Açıklama:** Mesaj zaman damgası için okunacak OID\
        **Varsayılan Değer:** `.1.3.6.1.2.1.1.3.0`\
        **Önerilen Değer:** Cihazın sysUpTime OID'siyle eşleştirin
      </Card>

      <Card title="PDU Variable Map" icon="map">
        **Açıklama:** Ek OID Alan adı eşleştirmeleri\
        **Varsayılan Değer:** (Boş)\
        **Önerilen Değer:** Kritik alanlar için key/value çifti ekleyin
      </Card>

      <Card title="Privacy Protocol List" icon="shield">
        **Açıklama:** V3 için desteklenen gizlilik algoritmaları\
        **Varsayılan Değer:** (AES128)\
        **Önerilen Değer:** Cihazla uyumlu tüm algoritmaları seçin
      </Card>

      <Card title="Enable User Authentication" icon="user-check">
        **Açıklama:** Kullanıcı bazlı USM yetkilendirmesi\
        **Varsayılan Değer:** false\
        **Önerilen Değer:** V3 ve kritik cihazlarda true yapın
      </Card>

      <Card title="Security Name" icon="user">
        **Açıklama:** User auth açıkken kullanılacak isim\
        **Varsayılan Değer:** (Boş)\
        **Önerilen Değer:** Community ile aynı değeri kullanmak tutarlıdır
      </Card>

      <Card title="USM Authentication Protocol" icon="key">
        **Açıklama:** MD5/SHA vb. kimlik doğrulama algoritması\
        **Varsayılan Değer:** (Boş)\
        **Önerilen Değer:** Güçlü algoritma (ör. SHA256) seçin
      </Card>

      <Card title="Auth Passphrase" icon="lock">
        **Açıklama:** Authentication için parola\
        **Varsayılan Değer:** (Boş)\
        **Önerilen Değer:** En az 8 karakter + karmaşıklık artı sağlayın
      </Card>

      <Card title="USM Privacy Protocol" icon="shield-check">
        **Açıklama:** DES/AES vb. gizlilik algoritması\
        **Varsayılan Değer:** (Boş)\
        **Önerilen Değer:** AES256 destekleniyorsa tercih edin
      </Card>

      <Card title="Priv Passphrase" icon="key">
        **Açıklama:** Gizlilik parolası\
        **Varsayılan Değer:** (Boş)\
        **Önerilen Değer:** Şifre yönetimini secret manager üzerinden yapın
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

### Timeout ve Connection Pool Parametreleri

<CardGroup cols={2}>
  <Card title="Connection Timeout" icon="clock">
    **Açıklama:** Bağlantı kurulması için maksimum bekleme süresi\
    **Varsayılan:** 30000 ms\
    **Min:** 1000 ms | **Max:** 120000 ms
  </Card>

  <Card title="Request Timeout" icon="hourglass">
    **Açıklama:** İstek yanıtı için maksimum bekleme süresi\
    **Varsayılan:** 30000 ms\
    **Min:** 1000 ms | **Max:** 120000 ms
  </Card>

  <Card title="Pool Size" icon="layer-group">
    **Açıklama:** Connection pool'daki maksimum bağlantı sayısı\
    **Varsayılan:** 5\
    **Min:** 1 | **Max:** 50
  </Card>

  <Card title="SNMP Retry Interval" icon="repeat">
    **Açıklama:** Yeniden deneme arasındaki bekleme süresi\
    **Varsayılan:** 5000 ms\
    **Min:** 1000 ms | **Max:** 30000 ms
  </Card>
</CardGroup>

## Kullanım Senaryoları

<CardGroup cols={2}>
  <Card title="Ağ Alarm Konsolidasyonu" icon="activity">
    **Durum:** Core switch'lerden yüzlerce trap geliyor\
    **Çözüm:** Versiyon V2c, message type TRAP, retry count 1, PDU map'te interface OID'leri etiketle\
    **Beklenen Sonuç:** Tüm trap'ler tek connection üzerinden toplanır ve Flow içerisinde ilgili kuyruğa yönlenir
  </Card>

  <Card title="Güvenlik Cihaz Inform Akışı" icon="shield">
    **Durum:** UTM cihazının 162 portu kapalı\
    **Çözüm:** Message type INFORM, connection string udp:utm01/161, timeout 45, enable user authentication true\
    **Beklenen Sonuç:** Connection otomatik olarak 161 portunu kullanır, inform yanıtı beklenir
  </Card>

  <Card title="Enerji İzleme" icon="battery">
    **Durum:** UPS cihazları sysUpTime bilgisini gönderiyor\
    **Çözüm:** PDU OID for Time .1.3.6.1.2.1.1.3.0, variable map'te batteryStatus OID'si tanımla\
    **Beklenen Sonuç:** Flow, batteryStatus değerine göre uyarı üretir
  </Card>

  <Card title="SNMPv3 Güvenli Trap" icon="lock">
    **Durum:** Yetkisiz erişim girişimleri görüldü\
    **Çözüm:** Version V3, security level AUTH\_PRIV, SHA256 + AES128 seç, secret manager'dan passphrase oku\
    **Beklenen Sonuç:** Trap'ler şifreli gelir, kimlik doğrulama hataları loglanır
  </Card>

  <Card title="Test Ortamı Simülasyonu" icon="flask">
    **Durum:** Lab cihazlarından gelen fake trap'ler testte kullanılacak\
    **Çözüm:** Connection string udp:lab-simulator/162, enable false iken parametreler ayarlanır, ardından enable edilir\
    **Beklenen Sonuç:** Test senaryolarında gerçek üretim configuration'ı etkilenmeden trap akışı doğrulanır
  </Card>
</CardGroup>

## Connection Yapılandırma

### Yeni SNMP Oluşturma

<img src="https://mintcdn.com/apinizer/YX1NcEKlSBeHefxE/images/yonetici/baglantilar/snmp-variable-new.png?fit=max&auto=format&n=YX1NcEKlSBeHefxE&q=85&s=46ddbd67df667c4966d4ece5dd35928a" alt="Image 2024 9 9 15 35 35 Pn" width="1000" className="mr-auto" data-path="images/yonetici/baglantilar/snmp-variable-new.png" />

#### Yapılandırma Adımları

<Steps>
  <Step title="Oluşturma Sayfasına Gitme">
    * Sol menüden **Connection → SNMP** bölümüne gidin.
    * Sağ üstteki **\[+ Create]** butonuna tıklayın.
  </Step>

  <Step title="Temel Bilgileri Girme">
    **Enable Status (Aktif Durumu):**

    * Toggle ile aktif/pasif durumu ayarlayın. Yeni connection'lar varsayılan olarak aktiftir.

    **Name (İsim) - Zorunlu:**

    * Örnek: `Production_SNMP`
    * Benzersiz isim girin, boşlukla başlamaz.
    * Sistem otomatik kontrol eder. Yeşil tik: kullanılabilir. Kırmızı çarpı: mevcut isim.

    **Description (Açıklama):**

    * Örnek: "SNMP trap toplayıcı"
    * Maks. 1000 karakter.
    * Connection'ın amacını açıklayın.

    <Info>
      Sayfanın üst kısmındaki işlem butonları alanında, **\[\<> Variable]** butonunu kullanarak dinamik değer seçebilir, Global variable ifadeleri sayesinde connection parametrelerini sabit değer yerine değişken tabanlı yönetebilirsiniz. Detaylı bilgi için [Dinamik Değişkenler](/tr/concepts/temel-kavramlar/dinamik-degiskenler) sayfasını inceleyebilirsiniz.
    </Info>
  </Step>

  <Step title="Environment (Ortam) Seçimi">
    * Dropdown menüden ortam seçin: **Development**, **Test**, veya **Production**.
    * Her ortam için farklı connection parametreleri tanımlanabilir.
  </Step>

  <Step title="SNMP Temel Parametreleri">
    * **Version**, **Connection String**, **Message Type**, **Retry Count** ve **Timeout** alanlarını doldurun.
    * Cihaz dökümantasyonuna göre doğru portu yazın, retryCount değerini ağ kalitesine göre ayarlayın, timeout değerinin saniye cinsinden olduğunu unutmayın.
  </Step>

  <Step title="OID ve Mesaj Haritaları">
    * **PDU OID for Message/Time** alanlarını cihazınızın MIB dosyalarına göre belirleyin.
    * Ek alanlara ihtiyaç varsa **PDU Variable Map** tablosuna key/value olarak OID ve okunacak alan ismini ekleyin.
  </Step>

  <Step title="Timeout ve Connection Pool Ayarları">
    * Gelişmiş bölümde connection/request timeout değerlerini milisaniye cinsinden gözden geçirin.
    * **Pool Size** ile eşzamanlı trap işleme kapasitesini belirleyin ve **SNMP Retry Interval** için ağ gecikmesine uygun değer girin.
  </Step>

  <Step title="Güvenlik ve Authentication Ayarları">
    * SNMPv3 seçtiyseniz **Security Level** belirleyin.
    * **Enable User Authentication** açıldığında USM Authentication/Privacy protokollerini seçin, passphrase alanlarını en az 8 karakter belirleyin ve secret manager bilgilerini kullanın.
  </Step>

  <Step title="Test Connection">
    * **\[Test Connection]** butonuna tıklayın.
    * Bağlantı parametrelerinin doğru olup olmadığını test edin.
    * **Başarılı:** Yeşil onay mesajı
    * **Başarısız:** Hata detayları gösterilir
  </Step>

  <Step title="Kaydetme">
    * Sağ üstteki **\[Save and Deploy]** butonuna tıklayın.

    **Kontrol Listesi:**

    * Benzersiz isim
    * Zorunlu alanlar dolu
    * Test connection başarılı (önerilir)

    **Sonuç:**

    * Connection listeye eklenir
    * Integration Flow ve Connector adımlarında kullanılabilir hale gelir
    * Ortama göre aktif olur

    <Check>
      Connection başarıyla oluşturuldu! Artık Integration Flow ve Connector adımlarında kullanabilirsiniz.
    </Check>
  </Step>
</Steps>

### Connection'ı Silme

Connection'ı silmek için:

<CardGroup cols={2}>
  <Card title="Yöntem 1: Liste Ekranından" icon="list">
    * Connection listesinde satır sonundaki **⋮** menüsünden **Delete** seçeneğini tıklayın.
    * Onay dialogunda silme işlemini onaylayın.
  </Card>

  <Card title="Silme İpuçları" icon="info-circle">
    **Silmeden Önce Kontrol Edin:**

    * Integration Flow veya Connector adımlarında kullanılıyor olabilir.
    * Gerekirse alternatif bir connection atayın.
    * Silmeden önce Export ile yedek alın.
  </Card>

  <Card title="Alternatif: Deaktif Etme" icon="toggle-off">
    * Silmek yerine connection'ın aktif durumunu pasif hale getirin.
    * Connection pasif olur ancak silinmez.
    * Gerektiğinde aktif hale getirerek yeniden kullanabilirsiniz.
  </Card>
</CardGroup>

### Connection'ı Dışa/İçe Aktarma

<Info>
  Bu adımda kullanıcı, mevcut connection'ları yedekleme, farklı ortamlara taşıma veya paylaşma amacıyla dışa aktarabilir (export) ya da daha önce dışa aktarılmış bir connection'ı tekrar içe aktarabilir (import). Bu işlem, sürüm yönetimi, test ve üretim ortamları arasında geçiş veya ekipler arası paylaşım süreçlerinde veri bütünlüğünü korumak için kullanılır.
</Info>

<AccordionGroup>
  <Accordion title="Dışa Aktarma (Export)">
    <CardGroup cols={2}>
      <Card title="Yöntem 1: Liste Ekranından" icon="list">
        * Connection listesinde satır sonundaki **⋮** menüsünden **Export** seçeneğini tıklayın.
        * ZIP dosyası otomatik olarak indirilir.
      </Card>

      <Card title="Dosya Formatı" icon="file-zipper">
        Format: `{Date}-snmp-integration-{ConnectionName}-export.zip`\
        Örnek: `13 Nov 2025-snmp-integration-Production_SNMP-export.zip`
      </Card>

      <Card title="ZIP İçeriği" icon="folder-open">
        * Connection JSON dosyası
        * Metadata bilgileri
        * Bağımlılık bilgileri (örneğin sertifikalar, key store)
      </Card>

      <Card title="Kullanım Alanları" icon="list-check">
        * Yedekleme
        * Ortamlar arası taşıma (Test → Prod)
        * Versiyonlama
        * Ekip veya proje bazlı paylaşım
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="İçe Aktarma (Import)">
    <CardGroup cols={2}>
      <Card title="İçe Aktarma Adımları" icon="upload">
        * Ana listede **\[Import SNMP]** butonuna tıklayın.
        * İndirilen ZIP dosyasını seçin.
        * Sistem kontrolleri: Format geçerli mi? İsim çakışması var mı? Bağımlılıklar mevcut mu?
        * Ardından **\[Import]** butonuna tıklayın.
      </Card>

      <Card title="İçe Aktarma Senaryoları" icon="info-circle">
        **Senaryo 1: İsim Çakışması** → Eski connection'ın üzerine yazın veya yeni bir isimle oluşturun.

        **Senaryo 2: Eksik Bağımlılıklar** → Eksik sertifikaları veya key store'ları önce oluşturun veya import sırasında çıkarın.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

### Connection'ın Kullanım Alanları

<CardGroup cols={2}>
  <Card title="Connection Oluşturma ve Aktif Etme" icon="plus-circle">
    **Adımlar:**

    1. Connection'ı oluşturun
    2. Test Connection ile bağlantıyı doğrulayın
    3. Save and Deploy ile kaydedin ve etkinleştirin
    4. Connection'ın Enabled durumda olduğundan emin olun.
  </Card>

  <Card title="Integration / Connector Adımlarında Kullanım" icon="workflow">
    SNMP trap, inform veya get mesajları gerektiren adımlarda connection seçilir. Örnek: "SNMP Trap Receiver", "SNMP Inform Handler", "SNMP Get Request" gibi adımlar. Bağlantı seçimi bu adımların yapılandırmasında yer alan Connection alanından yapılır.
  </Card>

  <Card title="Scheduled Job Kullanımı" icon="clock">
    Zamanlanmış görevlerde (ör. belirli aralıklarla SNMP trap toplama, ağ cihazı izleme vb.) bağlantı seçilerek SNMP cihazlarına erişim sağlanır. Connection değiştiğinde, job çalışma davranışı da buna göre güncellenir.
  </Card>

  <Card title="Test Amaçlı Kullanım" icon="check-circle">
    Connection Test özelliği ile bağlantının doğruluğu Integration Flow'dan bağımsız olarak kontrol edilebilir. Bu test hata ayıklama sürecinde kritik önem taşır.
  </Card>
</CardGroup>

## Best Practices

<AccordionGroup>
  <Accordion title="Yapılması Gerekenler ve En İyi Uygulamalar">
    <CardGroup cols={2}>
      <Card title="Trap Adresleme" icon="send">
        **Kötü:** Tüm cihazları tek community ile bırakmak\
        **İyi:** Her cihaz sınıfı için ayrı community tanımlamak\
        **En İyi:** SNMPv3 USM kullanıcıları kullanarak her cihaz grubuna farklı security name atamak
      </Card>

      <Card title="OID Yönetimi" icon="map">
        **Kötü:** PDU Variable Map'i boş bırakmak\
        **İyi:** Sadece kritik OID'leri eklemek\
        **En İyi:** Tüm iş kurallarında kullanılacak OID'leri anlamlı isimlerle map'lemek ve versiyonlamak
      </Card>

      <Card title="Retry/Timeout Ayarı" icon="clock">
        **Kötü:** Varsayılan retryCount ve timeout değerlerini her ortamda bırakmak\
        **İyi:** Ağ kalitesine göre retryCount'u güncellemek\
        **En İyi:** Prod ortamında latency ölçüp timeout/interval değerlerini veriyle optimize etmek
      </Card>

      <Card title="Flow Entegrasyonu" icon="workflow">
        **Kötü:** Aynı connection'ı birbirinden bağımsız flow'larda versiyon kontrolü olmadan kullanmak\
        **İyi:** Flow başına kullanılan connection versiyonunu dokümante etmek\
        **En İyi:** Export edilen connection'ı Git deposu veya artefact yönetimiyle versionlayıp flow değişiklikleriyle eşleştirmek
      </Card>

      <Card title="Ortam Yönetimi" icon="layers">
        **Kötü:** Tüm ortamlarda aynı connection parametrelerini kullanmak\
        **İyi:** Her ortam için ayrı connection oluşturmak\
        **En İyi:** Environment seçeneğini kullanarak tek connection'da tüm ortamları yönetmek, ortamlar arası geçişte sadece environment değiştirmek
      </Card>

      <Card title="Connection Test" icon="check-circle">
        **Kötü:** Connection'ı test etmeden kaydetmek ve deploy etmek\
        **İyi:** Kaydetmeden önce Test Connection ile doğrulamak\
        **En İyi:** Her parametre değişikliğinden sonra test etmek, production'a geçmeden önce test ortamında tam entegrasyon testi yapmak
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Güvenlik En İyi Uygulamaları">
    <CardGroup cols={2}>
      <Card title="Community String Yönetimi" icon="key">
        Varsayılan public/private string'lerini production ortamında kullanmayın. Cihaz başına benzersiz string belirleyin ve secret manager'da saklayın
      </Card>

      <Card title="USM Parola Politikası" icon="lock">
        8 karakterden kısa parolalar brute-force riski taşır. Auth/priv passphrase alanlarını karmaşık hale getirin ve düzenli aralıklarla değiştirin
      </Card>

      <Card title="SNMP Ağ Segmentasyonu" icon="network">
        Trafiği yalnızca yönetim VLAN'larına açın, firewall'da sadece gerekli kaynak IP'lerine izin verin, kalanları drop edin
      </Card>

      <Card title="Kimlik Bilgileri Yönetimi" icon="user-check">
        Kullanıcı adı ve şifre gibi hassas bilgileri environment variable veya secret manager kullanarak saklayın. Kimlik bilgilerini kod veya konfigürasyon dosyalarına hardcode etmeyin. Periyodik olarak şifreleri güncelleyin
      </Card>

      <Card title="SSL/TLS Kullanımı" icon="shield-check">
        Production ortamında mutlaka SSL/TLS aktif edin. Self-signed sertifikalar sadece development ortamında kullanın. Sertifika expiration tarihlerini takip edin ve zamanında yenileyin
      </Card>

      <Card title="Erişim Kontrolü" icon="lock">
        Connection yapılandırmasını sadece yetkili kullanıcıların değiştirmesine izin verin. Connection değişiklik loglarını saklayın. Kritik connection'lar için değişiklik approval süreci uygulayın
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Kaçınılması Gerekenler">
    <CardGroup cols={2}>
      <Card title="Statik OID Haritaları" icon="alert-triangle">
        **Neden kaçınılmalı:** Yeni cihaz eklendiğinde OID değişiklikleri fark edilmez\
        **Alternatif:** PDU Variable Map'i düzenli gözden geçirip versiyonlayın
      </Card>

      <Card title="Sınırsız Retransmission" icon="alert-triangle">
        **Neden kaçınılmalı:** Sonsuz retry cihaz ve ağı gereksiz yükler\
        **Alternatif:** retryCount değerini düşük tutun, hataları Flow logic'iyle yönetin
      </Card>

      <Card title="Firewall Portlarını Açmamak" icon="alert-triangle">
        **Neden kaçınılmalı:** UDP 161/162 kapalıyken connection sürekli timeout verir\
        **Alternatif:** Ağ ekipleriyle port açılışını koordine edin ve erişim testlerini otomasyona bağlayın
      </Card>

      <Card title="Production Connection'ı Test Ortamında Kullanma" icon="alert-triangle">
        **Neden kaçınılmalı:** Test verileri production sistemine yazılabilir, gerçek kullanıcılar etkilenebilir, güvenlik riski oluşur\
        **Alternatif:** Her ortam için ayrı connection oluşturun, environment parametresini kullanın, connection isimlerini ortama göre prefix ekleyerek ayırın (Test\_, Prod\_)
      </Card>

      <Card title="Çok Düşük Timeout Değerleri" icon="alert-triangle">
        **Neden kaçınılmalı:** Ağ gecikmelerinde connection sürekli timeout olur, Entegrasyon adımları başarısız olur\
        **Alternatif:** Gerçek kullanım senaryolarına göre timeout değerlerini ayarlayın, network latency'yi ölçün ve timeout'ları buna göre belirleyin
      </Card>

      <Card title="Connection Pool Kullanmama" icon="alert-triangle">
        **Neden kaçınılmalı:** Her istekte yeni bağlantı açılır, performans düşer, kaynak tüketimi artar, hedef sistem yükü artar\
        **Alternatif:** Connection pool aktif edin, pool size'ı trafik hacmine göre ayarlayın, pool monitoring kurun
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Performans İpuçları">
    <CardGroup cols={2}>
      <Card title="Trap Önceliklendirme" icon="arrow-up">
        **Öneri:** Kritik cihazlar için ayrı connection veya daha yüksek pool size tanımlayın\
        **Etki:** Hayati alarmların gecikmesi önlenir
      </Card>

      <Card title="Retry Politikası" icon="refresh-cw">
        **Öneri:** Latency ölçümlerine göre retry ve interval değerlerini ayarlayın\
        **Etki:** Gereksiz paket gönderimi azalır, ağ verimliliği artar
      </Card>

      <Card title="OID Önbellekleme" icon="database">
        **Öneri:** Sık kullanılan OID sonuçlarını Flow içerisinde cache edin\
        **Etki:** PDU işleme süresi kısalır, CPU tüketimi azalır
      </Card>

      <Card title="Connection Pool Optimizasyonu" icon="database">
        **Öneri:** Pool size'ı peak trafiğe göre ayarlayın (önerilen: eşzamanlı istek sayısı × 1.5), idle connection timeout'ları belirleyin, pool health check yapın\
        **Etki:** Bağlantı açma maliyeti %80 azalır, yanıt süreleri düşer, kaynak kullanımı optimize edilir
      </Card>

      <Card title="Timeout Değerleri Optimizasyonu" icon="hourglass">
        **Öneri:** Gerçek network latency'yi ölçün, timeout değerlerini buna göre ayarlayın, çok düşük veya çok yüksek timeout'lardan kaçının\
        **Etki:** Gereksiz beklemeler önlenir, hızlı fail-over sağlanır, kullanıcı deneyimi iyileşir
      </Card>

      <Card title="Connection Monitoring" icon="activity">
        **Öneri:** Connection pool kullanımını izleyin, timeout oranlarını takip edin, connection health check yapın, alerting kurun\
        **Etki:** Sorunlar proaktif tespit edilir, performans darboğazları erken belirlenir, kesinti süresi azalır
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Sorun Giderme (Troubleshooting)

<AccordionGroup>
  <Accordion title="Trap Hedefine Ulaşmıyor">
    <Warning>
      Yanlış connection string, firewall UDP 162'yi engelliyor veya cihaz trap göndermiyor olabilir.
    </Warning>

    <Steps>
      <Step title="Connection String Doğrulama">
        Connection string'deki IP/port'u doğrulayın.
      </Step>

      <Step title="UDP Port Erişimi">
        Ağ ekibinden UDP 162 erişimini test edin.
      </Step>

      <Step title="Cihaz Testi">
        Cihazdan manuel trap gönderip logları inceleyin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="SNMPv3 Kimlik Doğrulama Başarısız">
    <Warning>
      Security level yanlış, auth/priv passphrase hatalı veya saat senkronu yok olabilir.
    </Warning>

    <Steps>
      <Step title="Security Level Eşleştirme">
        Security level ve protokolleri cihazla eşleştirin.
      </Step>

      <Step title="Parola Güncelleme">
        Secret manager'daki parolaları yeniden girin.
      </Step>

      <Step title="Saat Senkronizasyonu">
        Cihaz ve Apinizer saatlerini NTP ile hizalayın.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Connection Timeout">
    <Warning>
      Network gecikmesi, hedef sistem yavaş yanıt veriyor veya timeout değeri çok düşük olabilir.
    </Warning>

    <Steps>
      <Step title="Network Kontrolü">
        Network connectivity kontrol edin.
      </Step>

      <Step title="Sistem Sağlığı">
        Hedef sistem sağlığını kontrol edin.
      </Step>

      <Step title="Timeout Ayarları">
        Timeout değerlerini artırın.
      </Step>

      <Step title="Log İnceleme">
        Connection loglarını inceleyin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Authentication Failed">
    <Warning>
      Yanlış kullanıcı adı/şifre, expired credentials veya yetki problemi olabilir.
    </Warning>

    <Steps>
      <Step title="Kimlik Bilgileri">
        Kimlik bilgilerini doğrulayın.
      </Step>

      <Step title="Kullanıcı Durumu">
        Hedef sistemde kullanıcının aktif olduğunu kontrol edin.
      </Step>

      <Step title="Yetki Kontrolü">
        Gerekli yetkilerin verildiğini kontrol edin.
      </Step>

      <Step title="Sertifika Kontrolü">
        SSL/TLS sertifikalarını kontrol edin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Pool Exhausted">
    <Warning>
      Pool size çok düşük, connection leak var veya trafik çok yüksek olabilir.
    </Warning>

    <Steps>
      <Step title="Pool Size">
        Pool size'ı artırın.
      </Step>

      <Step title="Connection Kontrolü">
        Connection'ların düzgün kapatıldığını kontrol edin.
      </Step>

      <Step title="Idle Timeout">
        Idle connection timeout'ları ayarlayın.
      </Step>

      <Step title="Metrik İzleme">
        Connection kullanım metriklerini izleyin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Connection Test Başarılı Ama Entegrasyon Akışı Hata Veriyor">
    <Warning>
      Integration/Connector adımında farklı connection seçili olabilir, adım yanlış yapılandırılmış olabilir veya Flow/Job redeploy edilmemiş olabilir.
    </Warning>

    <Steps>
      <Step title="Enable Toggle">
        Connection'ın enable toggle'ının aktif olduğunu kontrol edin.
      </Step>

      <Step title="Connection Seçimi">
        Integration Flow'da doğru connection'ın seçildiğini doğrulayın.
      </Step>

      <Step title="Connection Deploy">
        Connection'ı tekrar deploy edin.
      </Step>

      <Step title="Flow/Job Deploy">
        Integration Flow veya Job'ı redeploy edin.
      </Step>

      <Step title="Log Kontrolü">
        Gateway loglarını kontrol edin.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

## Sık Sorulan Sorular (SSS)

<AccordionGroup>
  <Accordion title="SNMP Connection hangi versiyonları destekler?">
    <Info>
      V1, V2c ve V3 desteklenir; V3 seçildiğinde USM güvenlik seçenekleri açılır.
    </Info>
  </Accordion>

  <Accordion title="Aynı connection ile hem trap hem inform gönderebilir miyim?">
    <Info>
      Hayır, message type tek değer alır. İki farklı tip için iki connection oluşturmanız veya export/import ile çoğaltmanız gerekir.
    </Info>
  </Accordion>

  <Accordion title="PDU Variable Map ne işe yarar?">
    <Info>
      OID alan adı eşlemesi yaparak Integration Flow tarafında okunabilir alan isimleri sağlar ve yeni OID'leri kolayca eklemenizi mümkün kılar.
    </Info>
  </Accordion>

  <Accordion title="SNMPv3'te security level seçimi nasıl olmalı?">
    <Info>
      Cihaz destekliyorsa AUTH\_PRIV önerilir; bu durumda authentication ve privacy protokollerini seçip parolaları girmeniz gerekir.
    </Info>
  </Accordion>

  <Accordion title="Trap portu kapalıysa ne olur?">
    <Warning>
      UDP 162 engellenmişse connection timeout'a düşer. Ağ ekibinden firewall kuralını açtırıp Test Connection çalıştırın.
    </Warning>
  </Accordion>

  <Accordion title="Aynı connection'ı birden fazla Integration Flow'da kullanabilir miyim?">
    <Check>
      Evet, aynı connection birden fazla Integration Flow veya Connector adımında kullanılabilir. Bu merkezi yönetim sağlar ve konfigürasyon tutarlılığını garanti eder. Ancak connection'da yapılan değişiklikler tüm kullanım yerlerini etkileyeceği için dikkatli olunmalıdır.
    </Check>
  </Accordion>

  <Accordion title="Connection pool kullanmak zorunlu mudur?">
    <Info>
      Connection pool kullanımı zorunlu değildir ancak yüksek trafikli sistemlerde şiddetle önerilir. Her istekte yeni bağlantı açmak yerine mevcut bağlantıları yeniden kullanmak performansı önemli ölçüde artırır.
    </Info>
  </Accordion>

  <Accordion title="Test ve Production için farklı connection'lar mı oluşturmalıyım?">
    <Check>
      Evet, her ortam için ayrı connection oluşturmanız önerilir. Alternatif olarak environment parametresini kullanarak tek connection içinde tüm ortamları yönetebilirsiniz. Bu yaklaşım daha kolay yönetim ve daha az hata riski sağlar.
    </Check>
  </Accordion>

  <Accordion title="Test Connection başarılı ama Integration Flow'da çalışmıyor, neden?">
    <Warning>
      Birkaç neden olabilir:
    </Warning>

    1. Connection enable toggle'ı pasif olabilir
    2. Integration adımında farklı bir connection seçili olabilir
    3. Connection deploy edilmemiş olabilir
    4. Integration Flow henüz redeploy edilmemiş olabilir
  </Accordion>
</AccordionGroup>
