Monitoring serverů pomocí SNMP
Po dlouhé době přináším článek o tom, jak na monitoring serverů pomocí SNMP na Nagiosu. S novou prací jsem se setkal, krom jiného, právě i s konfigurací serverů a Nagiosu a po počátečním řešení monitoringu přes NRPE jsem zůstal u SNMP monitoringu, jelikož mi přijde mnohem jednodušší na konfiguraci.
První kroky před konfigurací
Pro chod monitoringu předpokládám připravený server s Nagiosem a tak nyní musíme na všechny servery nainstalovat a nakonfigurovat službu SNMP.
Pro CentOS
yum install net-snmp
Pro Debian
apt-get install snmp
Pro některé (zejména externí) Perl skripty potřebujeme dostat podporu SNMP i do Perlu.
perl -MCPAN -e 'install Net::SNMP'
Konfigurujeme
Na řadu nyní přijde nastavení SNMP v konfiguračním souboru umístěném v /etc/snmp/snmpd.conf. Stačí přepsat SecName na vlastní security name, IP rozsah a vespod partitions, které chcete na sledovat (na každém serveru mohou být nastaveny samozřejmě jiné).
`####################################################
snmpd.conf:
####################################################
com2sec local localhost SecName
com2sec SecName 10.0.0.0/24 SecName
rocommunity SecName
#groupName securityModel securityName
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 SecName
group MyROGroup v2c SecName
group MyROGroup usm SecName
view all included .1 80
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaIfIndex ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaPhysAddress ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaNetAddress ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaType egp.egpNeighTable.egpNeighEntry.egpNeighEventTrigger
syslocation Linux
syscontact PetrVanicek <>
dontLogTCPWrappersConnects yes
disk /
disk /home`
Startujeme
Po zkopírování a upravení konfiguráku je potřeba službu ještě nastartovat (nebo po každé další změně restartovat).
service snmpd start
Většinou budeme muset i povolit SNMP porty i v iptables. To učiníme přidáním dvou řádků před commit v /etc/sysconfig/iptables.
-A INPUT -p tcp -m tcp --dport 161 -j ACCEPT -A INPUT -p udp -m udp --dport 162 -j ACCEPT
A poté iptables restartujeme /etc/init.d/iptables restart a existenci řádků si ověříme zadáním iptables -L
Testujeme
V případě problémů nebo pro jistotu můžeme otestovat funkčnost použitím SNMPWALK. Nejdřív na localhostu a pak z Nagiosu serveru na IP adresu serveru, který chceme sledovat.
snmpwalk -v 1 -c SecName localhost system
A po SNMPWALK zkusíme rovnou samotný skript z Nagios serveru.
./check_snmp -H <IP> -o .1.3.6.1.4.1.2021.10.1.3.1 -C SecName
Nyní by již nemělo nic bránit tomu, aby SNMP nechodilo a tak stačí doplnit nově nakonfigurované servery a příkazy do konfigurace Nagiosu.
V případě dotazů nebo nejasností se klidně ptejte v komentářích, nebo zanechte co by vás zajímalo a já se na to mohu v některém příštím článku zaměřit.