LinuxForum.Fans
Тема

Средство мониторинга Nagios (настройка)

Автор: Bokas 78 сообщений 35155 просмотров
#65894

По поводу nagios, что нужно ставить на удаленной машине сервисы которой хочу мониторить. Вот допустим есть 2 машины , на одну я поставил nagios (серверную часть) , что ставить на вторую NRPE ?

#66878

поставил все , но не видит remote hosts, только local, создал фаил в /usr/local/nagios/etc/objects/remotehost.cfg сделал как написано , когда проверяю конфиг , появляються ошибки :(

#66885
Bokas написал:
[quote=step_slim]Bokas

Вот почитайте всё расписано и с картинками: http://www.thegeekstuff.com/2008/07/how-to-monitor-remote-windows-machine-using-nagios-on-linux/
NRPE - это аддон для Нагиоса http://nagios.sourceforge.net/docs/3_0/addons.html#nrpe
Все аддоны должны стоять на сервере, это типа правил какие показания снимать с удалённой машины.
wink

да я читал smile , просто решил убедиться wink[/quote]
поставил все как написано , теперь борюсь с remotehost.cfg, все делаю как здесь //www.thegeekstuff.com , но не получаеться :( , при проверке конфига после изменения , находит ошибки .

#66919

Bokas
И так, изначально вам не нужен этот файл, у Вас же есть шаблоны конфиги в папке odjects лежит замечательный шаблон windows.cfg, его редактироваете под свои нужды. Далее, первоначально Вы должны были найти файл nagios.cfg и его настроить, опять же под свои нужды, с прописанием IP и параметрами. Вообще рекомендую в папке nagios создать папку winserver и в неё копировать шаблон windows.cfg и потом настраивать его, после настройки переименовывать его в название удалённой машины и так каждую машину. По окончанию у Вас в папке будет лежать то колличество шаблонов сколько удалённых станций.

Вот посмотрите полная инструкция на русском языке: http://www.xakep.ru/magazine/xa/118/136/1.asp
И вот еще: http://belgorod.lug.ru/wiki/index.php/Nagios_-_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0#.D0.A3.D0.B2.D0.B5.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F
Всё расписано до мелочей, можно даже карту 3D сделать wink
з.ы. Надеюсь оригинальный конфиг остался без изменений? Всегда перед редактированием делайте резервную копию любого конфига.

#66954

oO я настраивал 2 линукс машины
делал так
1. создал /usr/local/nagios/etc/objects/remotehost.cfg для моего удаленного хоста.
2.в /usr/local/nagios/etc/nagios.cfg указал строку cfg_file=/usr/local/nagios/etc/objects/remotehost.cfg для моего хоста
3. Вот конфиг remotehost.cfg

text
###############################################################################
# LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE
#
# Last Modified: 05-31-2007
#
# NOTE: This config file is intended to serve as an *extremely* simple 
#       example of how you can create configuration entries to monitor
#       the local (Linux) machine.
#
###############################################################################

############################################################################### ############################################################################### # # HOST DEFINITION # ############################################################################### ###############################################################################

# Define a host for the local machine

define host{ use linux-server ; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name linux-mbyu alias RemoteHost address 192.168.1.122 }

############################################################################### ############################################################################### # # HOST GROUP DEFINITION # ############################################################################### ###############################################################################

# Define an optional hostgroup for Linux machines

define hostgroup{ hostgroup_name linux-hosts ; The name of the hostgroup alias LinuxHosts ; Long name of the group members linux-mbyu ; Comma separated list of hosts that belong to this group }

############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ###############################################################################

# Define a service to "ping" the remote machine

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description PING check_command check_ping!100.0,20%!500.0,60% }

# Define a service to check the disk space of the root partition # on the local machine. Warning if < 20% free, critical if # < 10% free space on partition.

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description Root Partition check_command check_local_disk!20%!10%!/ }

# Define a service to check the number of currently logged in # users on the local machine. Warning if > 20 users, critical # if > 50 users.

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description Current Users check_command check_local_users!20!50 }

# Define a service to check the number of currently running procs # on the local machine. Warning if > 250 processes, critical if # > 400 users.

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description Total Processes check_command check_local_procs!250!400!RSZDT }

# Define a service to check the load on the local machine.

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description Current Load check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0 }

# Define a service to check the swap usage the local machine. # Critical if less than 10% of swap is free, warning if less than 20% is free

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description Swap Usage check_command check_local_swap!20!10 }

# Define a service to check SSH on the local machine. # Disable notifications for this service by default, as not all users may have SSH enabled.

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description SSH check_command check_ssh notifications_enabled 0 }

# Define a service to check HTTP on the local machine. # Disable notifications for this service by default, as not all users may have HTTP enabled.

define service{ use local-service ; Name of service template to use host_name linux-mbyu service_description HTTP check_command check_http notifications_enabled 0 }

4.Проверил доступен ли хост linux-9c0k:~ # /usr/local/nagios/libexec/check_nrpe -H 192.168.1.122
NRPE v2.12 -- все ОК

5.linux-9c0k:~ # service nagios reload

text
Running configuration check...done.
Reloading nagios configuration...done

[b]6.проверил конфиг на ошибки[/b] linux-9c0k:~ # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 3.2.1 Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 03-09-2010 License: GPL

Website: [url]http://www.nagios.org[/url] Reading configuration data... Read main config file okay... Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'... Processing object config file '/usr/local/nagios/etc/objects/contacts.cfg'... Processing object config file '/usr/local/nagios/etc/objects/timeperiods.cfg'... Processing object config file '/usr/local/nagios/etc/objects/templates.cfg'... Processing object config file '/usr/local/nagios/etc/objects/localhost.cfg'... Processing object config file '/usr/local/nagios/etc/objects/remotehost.cfg'... Read object config files okay...

Running pre-flight check on configuration data...

Checking services... Checked 16 services. Checking hosts... Checked 2 hosts. Checking host groups... Checked 2 host groups. Checking service groups... Checked 0 service groups. Checking contacts... Checked 1 contacts. Checking contact groups... Checked 1 contact groups. Checking service escalations... Checked 0 service escalations. Checking service dependencies... Checked 0 service dependencies. Checking host escalations... Checked 0 host escalations. Checking host dependencies... Checked 0 host dependencies. Checking commands... Checked 25 commands. Checking time periods... Checked 5 time periods. Checking for circular paths between hosts... Checking for circular host and service dependencies... Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings...

Total Warnings: 0 Total Errors: 0

Things look okay - No serious problems were detected during the pre-flight check

ВСЕ ОК :(
но как видел я один локалхост так его и вижу ...

#66998

Bokas
Ну так сразу и сказали бы, что Вам нужно проверять Линукс хост, у меня просто мониторятся Винды с Линукса smile Завтра посмотрю, какой там конфиг, складывается ощущение, что Вы не тот шаблон используете, а видите Вы себя правильно? Где Вы просматриваете подключенные хосты? Если на карте, то Вам необходимо ещё карту создавать для каждого хоста.

#67033

Da hosti s windows mne ewe ponadobitsya, rewil poprobovat' sna4ala pod linux. Sebya vigy 4erez kartu i tam ewe est' vkladka "view all hosts" - 4to to tipa togo , tyda zahogy, a tam toko localhost.
PS - piwy s nouta a tyt net yazika russkogo smile

#67084

Bokas
Ну я как всегда был прав, не тот шаблон Вы задействовали, всё же рекомендую использовать инструкции которые я Вам предложил. Ну ладно, начнём по шагам. Я надеюсь Вы ставили Nagios путём подключения репазитария в один клик, обязательным условием необходимо, что бы у Вы ещё установили всевозможные addone в Nagios. Поищите их через Yast, они там есть. (в строке поиска ввести Nagios). Далее нам понадобится на удалённую (контролируемую машину) поставил пакет snmp рекомендую это сделать на обеих Linux машинах.
А) На удалённой машине проделываем такие действия:
1. Скачиваем Nagios Plugins and NRPE Add-on вот отсюда:http://www.nagios.org/download/, либо подключаем репазитарий и ставим из репазитария, тогда установку пакетов можно пропустить и начинаем с пункта 5.
Должно быть примерно вот это:
* nagios-plugins-1.4.11.tar.gz
* nrpe-2.12.tar.gz
Цифры могут отличатся, я давно ставил, хотя проверил они отличаются :P
2. Создаём пользователя Nagios

text
# useradd nagios
# passwd nagios

3. Устанавливаем nagios-plugin (с учётом того, если Вы пакеты скачали в папку /home)

text
# cd /home/downloads
# tar xvfz nagios-plugins-1.4.11.tar.gz
# cd nagios-plugins-1.4.11
# export LDFLAGS=-ldl

# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround # make # make install

# chown nagios.nagios /usr/local/nagios # chown -R nagios.nagios /usr/local/nagios/libexec/

Помните цифры в названиях пакета отличаются, я Вам привожу список команд для примера!!!
4. Устанавливаем NRPE (мы ведь и его скачали, я надеюсь, если нет идём к пункту 1)

text
# cd /home/downloads
# tar xvfz nrpe-2.12.tar.gz
# cd nrpe-2.12

# ./configure # make all # make install-plugin # make install-daemon # make install-daemon-config # make install-xinetd

5. Отредактируем файл /etc/xinetd.d/nrpe, для этого внесём в него изменения добавим IP адрес сервера, после строчки с IP адресом 127.0.0.1 добавляем IP Nagios сервера, после пробела.

text
only_from       = 127.0.0.1 IP Nagios server

6. Отредактируем файл /etc/services добавим в конец файла строчку:

text
nrpe 5666/tcp # NRPE

7. Проверяем что NRPE у нас запустился и случает:

text
# netstat -at | grep nrpe

Ответ должен быть примерно таким:

text
tcp 0      0 *:nrpe *:*                         LISTEN
text
# /usr/local/nagios/libexec/check_nrpe -H localhost

Ответ

text
NRPE v2.12

- может отличаться в зависимости от версии
8. Файл Nrpe.cfg находящийся на удалённой машине, по умолчанию имеет 2 типа проверки - это проверка пользователей и проверка загрузки процессов. Эти строки в этом файле выглядят так:

text
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

Более подробную и тонкую настройку можно будет произвести пос же.

Б) И так Шаг второй конфигурируем сервер.
1. Помните я писал выше о том, что нужно установить все addons на сервере, нам понадобится NRPE Add-on, если Вы его ещё не установили, сделайте это, воспользовавшись Yast либо скачав отсюда http://www.nagios.org/download/
2. Нам необходимо установить пакеты: openssl-devel, krb5-devel, zlib-devel, e2fsprogs-devel
По идеи, если Вы подключали репазитарий, то эти пакеты должны присутствовать в системе, но лучше перепроверить.
3. Проверим доступность удалённого хоста, ля этого:

#/usr/local/nagios/libexec/check_nrpe -H *IPудалённого хоста*

Естественно без звёздочек и надписи IP.
Ответ должен быть примерно такой:

NRPE v2.12

В зависимости от версии!!!
4. Вот теперь только создаём сервис на удалённый хост.
Переходим в файл /usr/local/nagios/etc/objects/remotehost.cfg и начинаем его редактировать:
host definition sample:

text
define host{
use linux-server
host_name remotehost
alias Remote Host
address (тут вводите IP адрес удалённой машины)
contact_groups admins
}

Service definition sample:

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

5. Делаем релоад сервиса:

text
# service nagios reload

И смотрим новый появившийся хост wink

#67264

сделал все вышенаписанное связь с хостом есть(nrpe работает). Кстати говоря, у меня по умолчанию не создается фаил remotehost.cfg , толкьо localhost.cfg. я копирую local и там меняю и соответственно прописую в конфиге путь к нему.

Так вот после всего сделанного делаю service nagios reload.


linux-rc9o:/home/adminb/Downloads/nrpe-2.12 # service nagios reload
Running configuration check... CONFIG ERROR! Reload aborted. Check your Nagios configuration.


ошибка:

Checking services...
Error: Service check command 'check_nrpe' specified in service 'Root Partition' for host 'LinuxSERV' not defined anywhere!
Checked 9 services.
он ругаеться на дописанную в конфиге строку check_nrpe!check_local_disck!
а без нее то работает :D т е когда так check_local_disck!. Я понял в че проблема была ,вот в этих пакетах , у меня их небыло krb5-devel, zlib-devel, e2fsprogs-devel
но теперь карты не видно :(

Спасибо за оказанную помощь, но темку то не надо закрывать , еще будут вопросы wink

#67274

Bokas
Не за что, всегда рад помочь wink Задавайте вопросы не стесняйтесь, тему закрывать не буду, разделю только, нужно отделить Nagios от вопроса про ping. По поводу карты, там всё интересно, самое сложное в Nagios это карта, но и там всё решается, может на досуге, время будет напишу инструкцию.. Вы разобрались с сообщениями о неполадках, ну что бы отчеты присылал он вам?? А то то же могу написать, у меня где то был материал ка краз уже собранный. smile

#67298

Пишите еще не разобрался , smile , пригодиться

#67476

Bokas

но теперь карты не видно sad

Открываем файл localhost.cfg, находим вот этот блок

text
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################

# Define an optional hostgroup for Linux machines

define hostgroup{ hostgroup_name linux-hosts ; The name of the hostgroup alias LinuxHosts ; Long name of the group members (linux-mbyu ; Comma separated list of hosts that belong to this group) И вместо вот этой надписи, перечисляем свои хосты "DNS name", начиная с localhost. }

После чего перестартуем процес Нагиоса и смотрим карту wink

Пишите еще не разобрался , smile , пригодиться

Давайте всё же так, задавайте конкретные вопросы, будем решать smile

#67524

Дело в том что у меня не видно даже карты на локалхост.

Вот то что написал:

text
# Define an optional hostgroup for Linux machines

define hostgroup{ hostgroup_name linux-servers ; The name of the hostgroup alias Linux Servers ; Long name of the group members localhost,LinuxSERV ; Comma separated list of hosts that belong to this group }

перегрузил , и ниже результат(при нажатии на вкладку map)


Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404

localhost
Fri Aug 13 11:03:58 2010
Apache/2.2.13 (Linux/SUSE)

#67529

Bokas
Попробуйте исправить вот эту строку:

text
members         localhost,LinuxSERV; Comma separated list of hosts that belong to this group

Уберите пробелы после LinuxSERV и ;, а то получается что у Вас ищется Host с именем LinuxSERV и 3 пробела.
з.ы. Во всём блоке за одно подвинте точку с запитой в плотную.

#67557
step_slim написал:
Bokas
Попробуйте исправить вот эту строку:
text
members         localhost,LinuxSERV; Comma separated list of hosts that belong to this group

Уберите пробелы после LinuxSERV и ;, а то получается что у Вас ищется Host с именем LinuxSERV и 3 пробела.
з.ы. Во всём блоке за одно подвинте точку с запитой в плотную.

мне кажеться дело не в пробелах, и не в точках, допустим у меня только один локалхост, мне бы карта была бы видна, но ее нет даже для него.

#67558

убрал пробелы - тоже самое
А если у меня сервак за NAT или мой хост за NAT? Что мне указать в allowed hosts во втором случаи?

#67561

Bokas
Очевидно, что проблема из-за отсутствия описания хоста самого по себе. Получается при открытие карты идёт обращение к файлу описания хоста, там ничего не находит и отваливается. Я так понимаю, что у Вас при выборе карты полностью web интерфейс падает? Ну если судить по этой надписи:

Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404

localhost
Fri Aug 13 11:03:58 2010
Apache/2.2.13 (Linux/SUSE)
#67565

нет не полностью только при нажатии на вкладку map. Я думаю , может просто что то еще нужно доустановить?

#67606

Bokas
Единственное что приходит на ум, произведите полную чистку систему и повторную установку, подозреваю, что из-за установки по частям именно эти проблемы. Если у Вас 11.2, вот подключите репазитарий Nagios: http://software.opensuse.org/ymp/openSUSE:11.2/standard/nagios.ymp?base=openSUSE%3A11.2&query=Nagios Подключение в один клик.
А вот небольное описание необходимых пакетов при установки: http://www.diwi.nl/node/3

В принципе можете подключить репазитарий, потом просто выполнить по пунктам, что в инструкции, либо сверить с инструкцией наличие пакетов. smile

з.ы. Рекомендую всё же ставить всё из Yast все пакеты, потому как более взвешенная и правильная установка будет.

#67615

OK. а как быть c NAT ?

Войдите или зарегистрируйтесь, чтобы ответить.