Category Archives: CentOS

Nagios plugin check_mk

Сервер на котором будем тестировать check_mk

# uname -a
Linux centos.bezha.od.ua 2.6.32-220.13.1.el6.x86_64 x86_64 GNU/Linux
# lsb_release -a
Distributor ID:	CentOS
Description:	CentOS release 6.2 (Final)
Release:	6.2
Codename:	Final

Версия Nagios должна быть больше чем 3.0

# nagios -V
Nagios Core 3.3.1
Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 07-25-2011
License: GPL

Версия Python должна быть больше чем 2.3

# yum install python python-devel mod_python
# python --version
Python 2.6.6

На сервере должен быть установлен Xinetd

# yum install xinetd
# chkconfig xinetd on
# service xinetd start

Скачиваем и устанавливаем Check_MK stable

# cd /root
# wget http://mathias-kettner.de/download/check_mk-1.1.12p7.tar.gz
# tar xzf check_mk-1.1.12p7.tar.gz
# cd check_mk-1.1.12p7
# ./setup

Проверяем

# check_mk --version
This is check_mk version 1.1.12p7
Copyright (C) 2009 Mathias Kettner

Cкачиваем и устанавливаем Linux agent

# cd /root
# wget http://mathias-kettner.de/download/check_mk-agent-1.1.12p7-1.noarch.rpm
# rpm -i check_mk-agent-1.1.12p7-1.noarch.rpm

Проверяем

# check_mk_agent
<<>>
Version: 1.1.12p7
AgentOS: linux
# netstat -nlp | grep 6556
tcp        0      0 :::6556                     :::*                        LISTEN      2094/xinetd

Можно ограничить доступ к check_mk используя xinetd

# grep -v -E "#|^$" /etc/xinetd.d/check_mk
service check_mk
{
	type           = UNLISTED
	port           = 6556
	socket_type    = stream
	protocol       = tcp
	wait           = no
	user           = root
	server         = /usr/bin/check_mk_agent
	only_from      = 127.0.0.1 192.168.1.8
	log_on_success =
	disable        = no
}

Добавляем хосты которые необходимо мониторить

# cat /etc/check_mk/main.mk
all_hosts = [ "localhost", "debian.bezha.od.ua" ]

Делаем инвентаризацию

# check_mk -I localhost
cpu.loads         1 new checks
cpu.threads       1 new checks
df                1 new checks
diskstat          1 new checks
kernel            3 new checks
kernel.util       1 new checks
lnx_if            1 new checks
mem.used          1 new checks
tcp_conn_stats    1 new checks
uptime            1 new checks

Записываем результаты в Nagios. (Закомментируем предварительно localhost в /etc/nagios/nagios.cfg)

# check_mk -O
Generating Nagios configuration...OK
Validating Nagios configuration...OK
Precompiling host checks...OK
Reloading Nagios...OK

Перезапускаем сервисы

# service httpd restart
# service xinetd restart
# service nagios restart

Результат

Удаляям мониторинг сервисов которые на не интересуют

# cat /etc/check_mk/main.mk
all_hosts = [ "localhost", "debian.bezha.od.ua" ]
inventory_df_exclude_mountpoints   = [ '/boot', '/dev' ]
ignored_checks = [
([ "ntp.time", "postfix_mailq", "cpu.threads", "kernel", "kernel.util', "mounts", "vbox_guest" ], ALL_HOSTS)
]

Переинициализируем инвентаризацию на основе наших изменений

# check_mk -II localhost
# check_mk -O

Результат