Решил я поставить zabbix, чтобы мониторить все и вся, с агентом проблем не возникло - ставишь агент, сообщаещь ему где сервер, а серверу рассказываешь про машину и про то, какие данные нужно получать (главное, в переменной Hostname агента указать то же значение, что и на сервере) - все довольно просто. А вот с snmp пришлось чутка почитать.
Но для начала чуть-чуть про другое - про ntp. Собственно, ntp никак не относится к теме статьи, но уж чтобы про Zabbix два раза не вставать... Суть в том, что шаблон для ntp - пытается проверить работу ntp по протоколу tcp, в то время, как стандарт - udp: https://support.zabbix.com/browse/ZBXNEXT-786 разработчики обещают скоро добавить в релиз, но пока ждем.
А теперь вернемся к основной теме. Чтобы настроить заббикс нужно было посмотреть значения переменных. Для этого служат команды snmpwalk, snmpget, snmptranslate. Они в ubuntu идут в составе пакета snmp и, как и пакет snmp-mibs-downloader, вместе с Zabbix не устанавливаются (что, наверное, и правильно, т.к. данные настройки можно производить с любого компьютера).
Пакет snmp-mibs-downloader позволяет использовать нормативные базы данных MIB, которые позволяют переводить числовые названия переменных в человеко-читаемый вид. Например ".1.3.6.1.2.1.1.5.0
" в MIB соответствует строке "SNMPv2-MIB::sysName.0
".
После установки пакета snmp-mibs-downloader команды не будут использовать данные из данных баз до тех пор, пока в конфиге /etc/snmp/snmp.conf не будет закомментирована строчка "mibs :
". Впрочем, об этом сказано в комментарии в данном файле.
Когда пакет будет установлен и конфиг поправлен, проверить, что базы используются, можно, например, с помощью команды: "snmptranslate -Tp | head
".
Иногда производители публикуют свои mib-файлы. Для того, чтобы добавить mib-файл в список поиска необходимо скопировать его в /usr/share/snmp/mibs. Для ручного обновления стандартных mib-файлов можно использовать: "sudo download-mibs
".
Проверка значения:
snmpget -v {1|2 - version snmp} -c {community} -O e {server} {MIB}