Мониторинг температуры Cisco через Nagios

Автор: | 09.12.2016

Так как в серверной переодически отключается кондиционер, решил я мониторить 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)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *