İçeriğe geç
Sahadan
TeknikOrta10 dk okuma

MikroTik'i Zabbix ile İzleme: SNMP Kurulumu ve Kritik Trigger'lar

MikroTik router'ı Zabbix ile SNMP üzerinden izleme: v2/v3 kurulumu, community güvenliği, hazır template ile host ekleme, kritik metrikler ve trigger eşikleri.

Erdem Özyurt

Kısa cevap: MikroTik’i Zabbix’e bağlamanın standart yolu SNMP’dir. Router tarafında güvenli bir community (tercihen SNMPv3) tanımlayıp servisi açarsınız, Zabbix tarafında hazır Mikrotik by SNMP template’ini bağlarsınız; CPU, bellek, sıcaklık ve interface metrikleri otomatik akmaya başlar. İşin asıl ustalığı kurulumda değil, trigger eşiklerini kendi ağınıza göre ayarlayıp alarm yorgunluğuna düşmemektedir. Çok sayıda router ve sunucuyu tek Zabbix üzerinden izlediğim kurulumlardan süzülen sıra şu.

SNMP’yi router’da güvenli şekilde nasıl açarım?

Önce community, sonra servis. RouterOS varsayılan olarak public adlı, adres kısıtı olmayan tek bir community ile gelir; resmi doküman bu ayarı açıkça güvensiz sayar. Servisi açmadan önce bu community’yi ele alın: adını değiştirin ve yalnız Zabbix sunucunuzun IP’sinden erişilebilir yapın.

# Varsayılan community'yi yeniden adlandır ve kaynak IP kısıtla
/snmp community set [find default=yes] name=zbx-oku addresses=192.168.10.5/32 read-access=yes write-access=no

# Servisi etkinleştir; contact ve location envanterde işinize yarar
/snmp set enabled=yes contact="ag-yonetimi" location="merkez-kabinet"

Satır satır: addresses alanı SNMP sorgusuna cevap verilecek kaynakları sınırlar (varsayılan 0.0.0.0/0, yani herkes). write-access=no önemli: izleme için okuma yeter, SNMP üzerinden yazma yetkisini kimseye vermeyin. Yönetim düzlemini toparlamak bu yazının kapsamı dışında ama SNMP’yi açtığınız cihazda Winbox ve diğer yönetim servislerinin de sıkılaştırılmış olması gerekir; SNMP tek başına bir istisna değildir.

Firewall tarafını da aynı anda kapatın. Input zincirinizde genel bir drop varsa (olmalı), UDP 161’i yalnız Zabbix’e açan kuralı drop’un üstüne koyun:

/ip firewall filter add chain=input protocol=udp dst-port=161 src-address=192.168.10.5 action=accept comment="SNMP: yalniz Zabbix"

SNMPv2c mi SNMPv3 mü?

Karar kriteri trafiğin geçtiği yol: SNMPv2c’de community adı ve tüm veriler düz metin akar, bu yüzden yalnız izole yönetim VLAN’ında savunulabilir. Cihaz uzak bir lokasyondaysa, trafik paylaşılan bir hattan veya tünelden geçiyorsa SNMPv3 kullanın; security=private seviyesi hem kimlik doğrulama hem şifreleme sağlar.

/snmp community add name=zbx-v3 security=private \
  authentication-protocol=SHA1 authentication-password=GucluParola-1 \
  encryption-protocol=AES encryption-password=GucluParola-2 \
  addresses=192.168.10.5/32 read-access=yes write-access=no

Notlar: parolalar en az 8 karakter olmalı; authentication-protocol için SHA1’i, encryption-protocol için AES’i seçin (MD5 ve DES eski uyumluluk için durur, yeni kurulumda yeri yok). Zabbix host tarafında SNMPv3 interface’inde aynı güvenlik seviyesini (authPriv) ve aynı protokolleri seçeceksiniz; iki taraf birebir eşleşmezse cihaz sorguya hiç cevap vermez ve saatlerce yanlış yerde hata ararsınız.

Zabbix’te MikroTik host’u nasıl eklenir?

Hazır template ile üç dakikalık iş. Zabbix’in resmi Mikrotik by SNMP template’i kutudan çıkar; CPU, bellek, disk, sıcaklık, uptime, seri numarası ve RouterOS sürümünü toplar, interface’leri otomatik keşfedip trafik ve hata sayaçlarını izlemeye alır. CCR, CRS, hEX gibi model ailelerine özel türevler de vardır; genel template çoğu kurulum için yeterlidir.

Adımlar:

  1. Data collection > Hosts > Create host: host adını ve grubunu tanımlayın.
  2. Interface olarak SNMP ekleyin: cihazın IP’si, port 161, sürüm v2c veya v3.
  3. Template olarak Mikrotik by SNMP bağlayın.
  4. Host makrolarında {$SNMP_COMMUNITY} değerini kendi community adınızla değiştirin (v3’te bunun yerine interface üzerinde kullanıcı/parola alanlarını doldurursunuz).
  5. Birkaç dakika sonra Latest data’da metrikler akmalı; akmıyorsa ilk bakılacak yer firewall kuralı ve addresses kısıtıdır.

Toplu ekleme yapacaksanız community adını global veya template makrosu olarak tanımlayın, host bazında yalnız istisnaları değiştirin; elli cihazda elli ayrı elle girilmiş community, ilk rotasyonda size pahalıya mal olur.

Hangi metrikler gerçekten izlemeye değer?

Template yüzlerce item toplar ama operasyonel karar beş altı metrikten çıkar. Sahada en çok işime yarayanlar ve nedenleri:

Metrik Kaynak Neden kritik
CPU kullanımı hrProcessorLoad Sürekli yüksek CPU çökme habercisidir; ani sıçrama saldırı veya kural hatası işaretidir
Bellek kullanımı used/total yüzdesi Bellek sızıntısı yavaş büyür; grafiği olmadan yakalanmaz
Interface trafiği ifHCIn/OutOctets Kapasite planlama + hattı dolduran anomaliyi görme
Interface hataları ifInErrors, discards Artan hata sayacı kablo/SFP/duplex sorunudur; kullanıcı “internet yavaş” der
Uptime sysUpTime Uptime’ın sıfırlanması fark edilmemiş reboot demektir; elektrik ve donanım sorununu açığa çıkarır
Sıcaklık mtxrHlProcessorTemperature Kabin havalandırma arızasını cihaz yanmadan haber verir
SNMP/ICMP erişilebilirlik template kontrolü Cihaz hiç cevap vermiyorsa diğer her şey anlamsızdır

İki not: sıcaklık sensörü her modelde yoktur (hEX gibi giriş seviyesi cihazlarda ilgili item boş kalır, bu bir arıza değildir). CPU grafiği alarm verdiğinde ise sorun genelde Zabbix’te değil cihazın içindedir; suçluyu isimlendirmek için CPU %100 teşhis rehberindeki Profile adımlarını uygulayın.

Trigger eşikleri ne olmalı?

Template’in varsayılanları makul bir başlangıçtır; hepsi makro olduğu için host bazında ezebilirsiniz. Resmi template’in öne çıkan eşikleri:

Makro Varsayılan Tetiklediği durum
{$CPU.UTIL.CRIT} %90 CPU kullanımı eşiği aşarsa (5 dk ortalama)
{$MEMORY.UTIL.MAX} %90 Bellek kullanımı eşiği aşarsa
{$TEMP_CRIT} 60°C Cihaz sıcaklığı kritik eşiği geçerse
{$IF.ERRORS.WARN} 2 paket/sn Interface hata oranı eşiği aşarsa
{$ICMP_LOSS_WARN} %20 Ping kaybı eşiği geçerse

Ayarlama pratiği: PPPoE sonlandıran veya kuyruk çalıştıran bir router’da CPU’nun %70 seyretmesi normal olabilir; o host’ta {$CPU.UTIL.CRIT} değerini yükseltmek yerine önce bu yükün meşru olup olmadığını teşhis edin, meşruysa makroyu host seviyesinde ezin. Uptime tarafında template, sayaç sıfırlandığında “cihaz yeniden başladı” uyarısı üretir; bu alarmı asla kapatmayın, gece 03:00’te elektriği gidip gelen kabini başka türlü öğrenemezsiniz. Cihaz SNMP’ye hiç cevap vermediğinde ise alarm sırası bambaşka bir sürece girer; o senaryonun saha planı router cevap vermediğinde yazısında.

Alarm yorgunluğuna nasıl düşmem?

Kural basit: aksiyonu olmayan alarm, alarm değildir. Çok hostlu Zabbix işletirken gördüğüm en yaygın çürüme şu döngüdür: her şey alarma bağlanır, telefon susmaz, ekip bildirimleri sessize alır, gerçek kesinti kaçar. Bunu engelleyen üç mekanizma:

  • Trigger bağımlılığı: uçtaki lokasyonun WAN linki düştüğünde arkasındaki switch, AP ve kameraların “unreachable” alarmları bastırılmalı. Tek olay, tek bildirim.
  • Keşif filtresi: istemci erişim portlarının up/down olması doğaldır; interface keşfini {$NET.IF.IFNAME.NOT_MATCHES} gibi makrolarla filtreleyin, yalnız uplink ve WAN portları alarm üretsin.
  • Önem disiplini: “Disaster” yalnız hizmet kesintisi demek olmalı. Sıcaklık uyarısı Warning’dir, mesai içinde bakılır; her şeyi High yaparsanız hiçbir şey High değildir.

Kurulum kontrol listesi

  • Varsayılan public community yeniden adlandırıldı, addresses ile kısıtlandı
  • write-access=no doğrulandı
  • Uzak/paylaşımlı hat üzerindeki cihazlarda SNMPv3 (SHA1 + AES) kullanıldı
  • Firewall input zincirinde UDP 161 yalnız Zabbix IP’sine açık
  • Host’a Mikrotik by SNMP template bağlandı, {$SNMP_COMMUNITY} güncellendi
  • Latest data’da CPU, bellek, uptime ve interface verisi aktığı görüldü
  • Eşik makroları cihazın gerçek profiline göre gözden geçirildi
  • Trigger bağımlılıkları ve keşif filtreleri kuruldu (alarm yorgunluğu önlemi)

İzleme, kurulduğu gün değil ilk kesintiyi erken yakaladığı gün kendini öder. Router filonuz için SNMP standardı kurmak, mevcut Zabbix’inizi toparlamak veya eşikleri birlikte ayarlamak isterseniz MikroTik destek hizmetime ulaşabilirsiniz.

#mikrotik#routeros#snmp#zabbix#izleme#monitoring
Paylaş:𝕏 TwitterLinkedIn

Sıkça Sorulan Sorular

MikroTik'te SNMP nasıl etkinleştirilir?

İki adım: önce /snmp community menüsünden güvenli bir community tanımlayın (varsayılan public'i olduğu gibi bırakmayın), sonra /snmp set enabled=yes ile servisi açın. Community'nin addresses alanına yalnız izleme sunucunuzun IP'sini yazın; firewall'da da UDP 161'i sadece o kaynağa açın.

SNMP v2 mi v3 mü kullanmalıyım?

SNMPv2c'de community adı ve tüm veri ağda düz metin gider; yalnız izole bir yönetim VLAN'ında kabul edilebilir. Cihaza yönetim ağı dışından erişiliyorsa veya trafik paylaşılan bir hattan geçiyorsa SNMPv3 kullanın: security=private ile hem kimlik doğrulama (SHA1) hem şifreleme (AES) devreye girer.

Zabbix'te MikroTik için hazır template var mı?

Var: Zabbix ile birlikte gelen resmi "Mikrotik by SNMP" template'i CPU, bellek, disk, sıcaklık, uptime ve interface metriklerini otomatik keşifle toplar. Ayrıca CCR, CRS, hEX gibi model ailelerine özel türevleri de mevcuttur; host'a template'i bağlayıp {$SNMP_COMMUNITY} makrosunu kendi community'nizle değiştirmeniz yeterli.

SNMP community adını public bırakmak neden tehlikeli?

MikroTik'in kendi dokümanı varsayılan public community'yi güvensiz sayar ve değiştirilmesini söyler. public, herkesin ilk denediği addır; okuma erişimi bile cihazın modelini, RouterOS sürümünü, interface ve IP düzenini dışarı verir, bu da saldırganın keşif aşamasını hazır eder. Adı değiştirin, addresses ile kaynak IP kısıtlayın, mümkünse v3'e geçin.

Zabbix çok fazla alarm üretiyor, nasıl azaltırım?

Üç araç var: eşik makrolarını host bazında gerçekçi değerlere çekmek (her cihaz aynı CPU profilinde çalışmaz), trigger bağımlılığı kurmak (site linki düştüğünde arkasındaki cihazların alarmlarını bastırır) ve interface keşfini filtrelemek (istemci portlarının up/down değişimi alarm olmamalı). Her alarmın bir aksiyonu olmalı; aksiyonu olmayan alarm kapatılır, log'a düşürülür.

Yazan: Erdem Özyurt

Bilişim Danışmanı · ISP Altyapı · Siber Güvenlik

Kablo döşemekten kod yazmaya, ağ tasarımından web geliştirmeye; Layer 1'den Layer 7'ye bütünlük içinde çalışıyorum.

Hakkımda daha fazla →