Так как в серверной переодически отключается кондиционер, решил я мониторить Nagios’ом температуру с цисок, тем более в них 2 датчика.
Ставить какой либо плагин мне не хотелось, по простой причине, что есть snmp который умеет снимать с кошек информацию, и он уже встроен в Nagios по умолчанию.
Излазив интернет, вменяего решения я так и не нашел, поэтому пишу свой.
Идем на cisco (в моем случае это 2960S):
#conf t
(config)#snmp-server community public RO
(config)#snmp-server host 10.10.1.39 public (указываем ваш сервер Nagios)
На этом настройка cisco завершена.
Далее идем на Nagios:
Нам нужно добавить новое описание команды в /etc/nagios-plugins/config/snmp.cfg
# ‘check_snmp’ command definition
define command{
command_name check_snmp
command_line /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ $ARG1$
}
Сохраняем, идем описываем команду в /etc/nagios3/command.cfg
#######################################################
#
# TEMPERATURE
#
#####################################################
define command{
command_name term_on_sensor1
command_line check_snmp -H ‘$HOSTADDRESS$’ -C ‘$ARG1$’ -o 1.3.6.1.4.1.35160.1.16.1.13.1-l ‘Term on sensor1’ -u ‘degree’ -w ‘$ARG2$’ -c ‘$ARG3$’
}define command{
command_name term_on_sensor2
command_line $USER1$/check_snmp -H ‘$HOSTADDRESS$’ -C ‘$ARG1$’ -o 1.3.6.1.4.1.35160.1.16.1.13.2-l ‘Term on sensor2’ -u ‘degree’ -w ‘$ARG2$’ -c ‘$ARG3$’
}
Теперь самое главное, т.к. у разных кошек, разные номера датчиков (последяя цифра MIB’a) нам нужно выяснить какой номер у нашей.
Поэтому в командной строке Nagios’a пишем:
snmpwalk -v2c -c public -On 10.10.100.23 1.3.6.1.4.1.9.9.13.1.3.1.3
на что получаем ответ:
.1.3.6.1.4.1.9.9.13.1.3.1.3.1008 = Gauge32: 24
так вот последняя цифра и есть номер датчика!
все просто, когда знаешь где искать 🙂
Итак, идем и описываем сервис, хосты и группы (я привык описывать все в одном файле, поэтому создаем файл в:
#touch /etc/nagios3/conf.d/cisco-device.cfg
После открываем файл, и пишем следующее:
#########Cisco iOS
define host{
host_name 2K-3.1[10.10.100.23] (указываем адрес и понятно имя нашей кошки)
alias 2K-3.1
address 10.10.100.23
use generic-host
}#########Group
define hostgroup {
hostgroup_name cisco-device
alias cisco
members 2K-3.1[10.10.100.23] (включаем все девайсы которые нам нужны, через запятую!)
}#########Service
##Temperature
define service{
use generic-service
hostgroup_name cisco-device
service_description TEMPERATURE
check_command check_snmp!-C public -o .1.3.6.1.4.1.9.9.13.1.3.1.3.1008 -w 41 -c 45 -l ‘Temperature Celsium: ‘
}
и вот тут, уже вставляем информацию от snmpwalk.
Последний штрих, перезагружаем Nagios:
#/etc/init.d/nagios3 restart
И идем на веб-интерфейс и радуемся полученой информации.
Если у вас вылетела ошибка:
External command error: Error in packet
или любая другая, связанная с тем, что нету пакета, MIB/OID не известный…вам в следующую статью — Мониторинг температуры Cisco через Nagios (часть 2)