Как стать автором
Обновить

Nagios & check-mk

Кто не знаком с предметом читаем тут и тут.
Если кратко:
Nagios — система мониторинга;
check-mk — один из плагинов для неё, отличается возможностью автоматически и с минимальными нагрузками собирать информацию о сервисах.
Установка и начальная настройка на примере Ubuntu.


Установка клиента

1. Если у Вас Ubuntu 11.10 то все уже есть в репозитории, устанавливаем:
# apt-get install xinetd check-mk-agent

2. Если нет, добавляем репозиторий oneric:
# nano /etc/apt/sources.list
добавляем в конец строку, сохраняем, закрываем
deb http://ru.archive.ubuntu.com/ubuntu/ oneiric universe
обновляем список пакетов
# apt-get update
устанавливаем
# apt-get install xinetd check-mk-agent

3. Либо качаем и устанавливаем:
# wget http://mathias-kettner.de/download/check-mk-agent_1.1.12p7-2_all.deb
# dpkg -i check-mk-agent_1.1.12p7-2_all.deb

Проверяем установку:
# check_mk_agent
команда выдает много информации о системе.

Проверяем сервер:
# netstat -ln | grep 6556
tcp 0 0 0.0.0.0:6556 0.0.0.0:* LISTEN

Если порт не открыт, проверяем настройки службы:
# nano /etc/xinetd.d/check_mk
обратите внимание на строку
disable = no

Перезапускаем xinetd:
# service xinetd restart

Установка сервера

1. Если у Вас Ubuntu 11.10, устанавливаем:
# apt-get install check-mk-server check-mk-config-nagios3

2. Если нет, добавляем репозиторий oneric (см. выше), устанавливаем:
# apt-get install check-mk-server check-mk-config-nagios3

3. Где скачать на сайте отдельный пакет для сервера я так и не нашел.

Проверяем установку:
# check_mk
команда должна вывести справку.

Создаем указатель на шаблоны для сервисов и команд:
# ln -s /etc/icinga/objects/check_mk_templates.cfg /etc/nagios3/conf.d/

Добавляем сервера (добавлять лучше имя, а не IP, так как именно в таком виде будет показано название сервера на сайте):
# nano /etc/check_mk/main.mk
между скобок указываем имена серверов которые будем мониторить (и на которые предварительно установлен клиент)
# Put your host names here
# all_hosts = [ 'localhost' ]
all_hosts = [
"server1",
"server2",
"server3"
]


Запускаем поиск сервисов:
# check_mk -u -II
система выведет список обнаруженных на клиентах сервисов
cpu.loads 1 new checks
cpu.threads 1 new checks
df 1 new checks
diskstat 2 new checks
kernel 3 new checks
kernel.util 1 new checks
logwatch 2 new checks
mem.used 1 new checks
mem.vmalloc 1 new checks
mounts 1 new checks
netctr.combined 3 new checks
ntp.time 1 new checks
tcp_conn_stats 1 new checks
uptime 1 new checks


Компилируем команды:
# check_mk -C

Формируем конфигурацию для nagios:
# check_mk -N > /etc/nagios3/conf.d/check_mk_objects.cfg

Обратите внимание какие права у файлов check_mk_objects.cfg и check_mk_templates.cfg чтобы nagios смог с ними работать, кроме того не забываем закоментировать определения хостов в nagios если они у вас уже мониторились.

Включаем пассивные проверки:
# nano /etc/nagios3/nagios.cfg
меняем значения следующих параметров
check_external_commands=1
command_check_interval=1


Обновляем параметры nagios:
# service nagios3 reload

Проверяем, идут ли проверки:
# tail -f /var/log/nagios3/nagios.log

Если все в порядке, отключаем логирование пассивных проверок (зачем их записывать, если все в порядке?):
# nano /etc/nagios3/nagios.cfg
меняем параметр
log_passive_checks=0

Обновляем параметры nagios:
# service nagios3 reload

В итоге в списке сервисов на сайте у вас должно получится нечто такое:


Если проверки отрабатывают, а хост отмечен тревогой (нет пинга), то в check_mk_templates.cfg находим описание команды
define command {
command_name check-mk-ping
command_line /usr/lib/nagios/plugins/check_icmp $HOSTADDRESS$

и добавляем в последнюю строку sudo (вы ведь добавили пользователя nagios в sudoers?)
получается так:
define command {
command_name check-mk-ping
command_line sudo /usr/lib/nagios/plugins/check_icmp $HOSTADDRESS$


Надеюсь все успешно, удачи.

Nagios Is The Industry Standard In IT Infrastructure Monitoring.
Check_MK — Nagios-plugin for retrieving data.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.