snmp servisi sistem hakkındaki bilgileri verme konusunda gayet başarılı bir protokol sistemde belli başlı izlenmesi gereken yapılar için OID’ler bulunmakta. Fakat daha fazlasını istediğimizde veya kendi yazdığımız servis için gereki outputları dışarıya ulaştırmak için dizginleri ele almak gerekiyor.
Bunu yapmak aslında pek de zor değil.
Mesela nginx için çalışan process id’lerin kaç tane olduğunu sayan bir program yazalım
1 |
emacs /etc/snmp/scripts/check_apache.sh |
1 2 3 4 |
#!/bin/sh NUMPIDS=`pgrep httpd | wc -l` exit $NUMPIDS |
Daha sonra bu outputu bize bize yollaması icin smnpd.conf dosyamıza scriptin yolunu tanıtalım ve orada bir değişkene atayalım
1 |
extend nginx_pids /bin/bash /etc/snmp/scripts/check_nginx.sh |
1 |
service snmp restart |
Servisimizi restartladıktan sonra yapının ne çıktımızı kontrol edelim
1 |
snmpwalk -v 2c -c public localhost 'NET-SNMP-EXTEND-MIB::nsExtendResult |
komutunu verdiğimizde snmpd.conf dosyamızda tanımlı olan bütün değişkenlerin değerlerini göreceğiz.
Sadece gerekli değişkeni görmek istiyorsanız küçük bir farklılık ile istediğiniz kısmı çağırabilirsiniz.
1 |
snmpwalk -v 2c -c public localhost 'NET-SNMP-EXTEND-MIB::nsExtendResult."httpd_pids"' |
Bu işlemden sonra gerekli mekanizmaları kullanarak istediğiniz işlemleri(grafik, tablolama vs.) gerçekleştirebilirsiniz.
Esen kalın 🙂
Daha fazlasi için :
http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/mrtg/snmpd.conf.txt