headermask image

Notice: Undefined variable: t in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15

Notice: Undefined variable: r in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15
Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

Мониторим удаленный Linux сервер используя Nagios

В предыдущей статье из этой серии я рассказывал как установить и настроить Nagios 3.0 в Red Hat Server. В этой статье и последующей за ней я расскажу как мониторить удаленные Linux хосты и различные сервисы запущенные на нем.

I. Обзор

II. 6 шагов для установки плагинов Nagios и NRPE на удаленном хосте.

  1. Скачиваем плагины Nagios и NRPE
  2. Создаем аккаунт nagios
  3. Устанавливаем плагины
  4. Устанавливаем NRPE
  5. Запускаем NRPE как демона
  6. Редактируем /usr/local/nagios/etc/nrpe.cfg

III. 4 шага для настройки сервера Nagios для мониторинга удаленного хоста:

  1. Скачиваем NRPE
  2. Устанавливаем check_nrpe
  3. Создаем хост и сервис для удаленного хостаCreate host and service definition for remote host
  4. Перезапускаем Nagios

I. Обзор:Следующие три действия выполняются когда Nagios мониторит какой нибуть сервис (к примеру использование диска) на удаленном Linux хосте.

  1. Nagios выполняет команду check_nrpe на nagios-сервере и запрашивает данные о использовании диска у удаленного хоста используя команду check_disk.
  2. check_nrpe на nagios-сервере взаимодействует с демоном NRPE на удаленном хосту и запрашивает выполнение команды check_disk.
  3. Результат команды check_disk возвращается от NRPE демона к check_nrpe на nagios-сервере.

Примерное схематичное представление потоков:

Nagios Server (check_nrpe) —–> Remote host (NRPE deamon) —–> check_disk

Nagios Server (check_nrpe) <—– Remote host (NRPE deamon) <—– check_disk


II. 6 шагов для установки плагинов Nagios и NRPE на удаленной Linux системе.

1. Скачиваем плагины Nagios и NRPE

Скачиваем следующие файлы с Nagios.org и помещаем их в /home/downloads:

  • nagios-plugins-1.4.11.tar.gz
  • nrpe-2.12.tar.gz

2. Создаем аккаунт nagios

[remotehost]#useradd nagios
[remotehost]#passwd nagios

3. Устанавливаем плагины Nagios

[remotehost]#cd /home/downloads
[remotehost]# tar xvfz nagios-plugins-1.4.11.tar.gz
[remotehost]# cd nagios-plugins-1.4.11
[remotehost]# export LDFLAGS=-ldl
[remotehost]# configure –with-nagios-user=nagios –with-nagios-group=nagios –enable-redhat-pthread-workaround
[remotehost]# make
[remotehost]# make install
[remotehost]# chown nagios.nagios /usr/local/nagios
[remotehost]# chown -R nagios.nagios /usr/local/nagios/libexec/

4. Устанавливаем NRPE

[remotehost]#cd /home/downloads
[remotehost]# tar xvfz nrpe-2.12.tar.gz
[remotehost]# cd nrpe-2.12
[remotehost]# configure
[remotehost]# make all
[remotehost]# make install-plugin
[remotehost]# make install-daemon
[remotehost]# make install-daemon-config
[remotehost]# make install-xinetd

5. Запускаем NRPE как демон:

  • Измените /etc/xinetd.d/nrpe и добавьте ip-адрес Nagios сервера в директиву only_from.
       only_from       = 127.0.0.1 192.168.1.2
  • Измените /etc/services добавив следующую строку в конец файла.
       nrpe 5666/tcp # NRPE
  • Перезапустите xinetd
       [remotehost]#service xinetd restart
  • Проверьте слушает ли NRPE свой порт.
       [remotehost]# netstat -at | grep nrpe       tcp 0      0 *:nrpe *:*                         LISTEN
  • Убедитесь что NRPE функционирует правильно.
       [remotehost]# /usr/local/nagios/libexec/check_nrpe -H localhost
       NRPE v2.12

6. Измените /usr/local/nagios/etc/nrpe.cfg

Файл nrpe.cfg содержит команды, которые проверяют различные сервисы. По умолчанию в nrpe.cfg содержиться несколько стандартных команд, к примеру check_users и check_load:

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

В команде check опция “-w” означает “Warning” и “-c” означает “Critical”. К примеру, в команде check_disk, описанной ниже, если доступного места на диске менее 20%, nagios пошлет предупреждающее сообщение. Если менее 10%, будет послано критическое сообщение.

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1

Заметка: Вы можете выполнить любую из этих команд в командной строке для проверки.

[remotehost]#/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
DISK CRITICAL - free space: / 6420 MB (10% inode=98%);| /=55032MB;51792;58266;0;64741


III. 4 шага для настройки сервера Nagios для мониторинга удаленного хоста:

1. Скачиваем NRPE

Скачиваем nrpe-2.12.tar.gz с сайта Nagios.org:

2. Устанавливаем check_nrpe

[nagios-server]# tar xvfz nrpe-2.12.tar.gz
[nagios-server]# cd nrpe-2.1.2
[nagios-server]# ./configure
[nagios-server]# make all
[nagios-server]# make install-plugin

После команды ./configure вы увидите суммарную информацию о конфигурации:

*** Configuration summary for nrpe 2.12 05-31-2008 ***:
General Options:
————————-
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios

Заметка: Я получил ошибку “checking for SSL headers… configure: error: Cannot find ssl headers” в процессе выполнения ./configure. В данном случае необходимо установить пакет openssl-devel и выполнить ./configure опять.

[nagios-server]# rpm -ivh openssl-devel-0.9.7a-43.16.i386.rpm krb5-devel-1.3.4-47.i386.rpm zlib-devel-1.2.1.2-1.2.i386.rpm e2fsprogs-devel-1.35-12.5.
el4.i386.rpm
warning: openssl-devel-0.9.7a-43.16.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing… ########################################### [100%]
1:e2fsprogs-devel ########################################### [ 25%]
2:krb5-devel ########################################### [ 50%]
3:zlib-devel ########################################### [ 75%]
4:openssl-devel ########################################### [100%]

Проверьте как nagios мониторит удаленный хост.

[nagios-server]#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.3
NRPE v2.12

Заметка: 192.168.1.3 в данном случае это ip-адрес удаленного хоста, где установлен NRPE и плагины nagios.

3. Создаем хост и сервисы для мониторинга

Создайте новый конфигурационный файл /usr/local/nagios/etc/objects/remotehost.cfg для определения хоста и сервисов, которые будут мониторится на удаленном хосте.

Пример определения хоста:

define host{
use linux-server
host_name remotehost
alias Remote Host
address 192.168.1.3
contact_groups admins
}

Пример определения сервиса:

define service{
use generic-service
service_description Root Partition
contact_groups admins
check_command check_nrpe!check_disk
}

4. Перезапускаем nagios

Перезапустите nagios, как показано ниже и зайдите в веб-интерфейс (http://nagios-server/nagios/) для проверки статуса удаленного Linux хоста.

[nagios-server]#service nagios reload

Постовой

Рекомендую к прочтению админский блог, довольно много неплохих материалов. Из последнего советую тем, кто ещё не использует, попробовать Firefox и Adblock Plus.

Похожие посты
  • Как мониторить свитчи и их активные порты с помощью Nagios
  • Установка и настройка Nagios 3.0 в Red Hat Linux
  • Используем Net_DNSBL и Nagios для проверки, находится ли наш сервер в RBL
  • Мониторим активные сессии VPN и температуру с помощью Nagios
  • Мониторим Windows сервер с помощью Nagios
  • Описание более 350 команд Linux c примерами.
  • WSUS станет опциональной ролью для Windows Server 2008 Server Manager
  • Mac4Lin: как Linux превратить в Mac
  • Демонстрация Exchange Server 2007
  • Веб-трансляция: Новые приемы управления серверами в Windows Server 2008: Server Manager и PowerShell
  • 2 комментов оставлено (Add 1 more)

    1. где подвох в check_nrpe

      не ясно где подвох ==> UNKNOWN – Local copy/copies of nginx_status is empty.

      прооверяем напрямую root@s1 [~]# /usr/local/nagios/libexec/check_nginx -N -H localhost OK – nginx is running. 2 requests per second, 1 connections per second (2.00 requests per connection) | ‘reqpsec’=2 ‘conpsec’=1 ‘conpreq’=2.00

      через check_nrpe не хочет

      root@s1 [~]# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_nginx UNKNOWN – Local copy/copies of nginx_status is empty.

      сама команда в nrpe.cfg

      command[check_nginx]=/usr/local/nagios/libexec/check_nginx -N -H localhost

      ну так где же подвох ?

      1. Денис on February 24th, 2010 at 1:50 am
    2. Для устранения ошибки “checking for SSL headers… configure: error: Cannot find ssl headers” в Debian необходимо установить libssl-dev

      2. VL8 on March 12th, 2009 at 3:42 pm