Nagios установка и настройка. Nagios установка и настройка сервера мониторинга

Для начала на server01 необходимо установить пакет nagios. Для этого введите в терминале:

Sudo apt-get install nagios3 nagios-nrpe-plugin

Вам будет предложено ввести пароль для пользователя nagiosadmin . Учетные записи пользователя находятся в /etc/nagios3/htpasswd.users. Для смены пароля пользователя nagiosadmin или добавления других пользователей для выполнения CGI скриптов Nagios используйте утилиту htpasswd , которая является частью пакета apache2-utils .

Например, для смены пароля пользователя nagiosadmin введите в терминале:

Sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

Для добавления пользователя:

Sudo htpasswd /etc/nagios3/htpasswd.users steve

Sudo apt-get install nagios-nrpe-server

NRPE позволяет выполнять локальные проверки на удаленном компьютере. Но существуют и другие способы достижения этой цели, используя другие плагины Nagios, также как и другие способы проверок.

Обзор файлов настройки

Существует несколько директорий, содержащих конфигурационные файлы Nagios, а также файлы проверок.

1. /etc/nagios3: содержит конфигурационные файлы для работы демона nagios, файлы CGI , описания компьютеров и т.д.

2. /etc/nagios-plugins: файлы конфигурации для служебных проверок.

3. /etc/nagios: содержит конфигурационные файлы на удаленном компьютере nagios-nrpe-server .

4. /usr/lib/nagios/plugins/: тут находятся бинарные проверки. Для просмотра опций проверки используйте ключ "-h".

Например: /usr/lib/nagios/plugins/check_dhcp -h

Существует множество проверок Nagios, которые могут быть настроены для выполнения на любом компьютере. В этом примере Nagios будет настроен на проверку дискового пространства, службы DNS , а также группы пользователей MySQL. Проверка DNS будет осуществятся на server02 , а группа компьютеров MySQL будет включать в себя как server01 так и server02 .

Смотрите раздел HTTPD - Apache2 Web Server для более детальных настроек Apache, Служба Доменных Имен (DNS) для настройки DNS , а также MySQL для настройки MySQL .

В дополнение к этому будут приведены несколько терминов, которые помогут вам облегчить настройку Nagios:

Компьютер (хост): сервер, рабочая станция, сетевое устройство и т.д., которое отслеживается.

Группа компьютеров: группа подобных компьютеров. Например вы можете сгруппировать все веб-сервера, файловые сервера и т.д.

Служба: служба, которая отслеживается на компьютере. Например HTTP , DNS , NFS и т.д.

Группа служб: позволяет объединить несколько служб вместе. Например это будет полезным для объединения нескольких веб-серверов.

Контакт: человек, который будет уведомлен при каком-либо событии. Nagios может быть настроен на отправку email, SMS-сообщений и т.д.

По умолчанию Nagios настроен на проверку HTTP , дискового пространства, SSH , текущих пользователей, процессов и слежение за уровнем загрузки на локальном компьютере. Nagios также выполняет проверку шлюза посредством команды ping .

Совокупность установленных систем Nagios могут быть настроены комплексно. Начать лучше с нескольких компьютеров, одного или двух, а затем настроить оптимальным образом вместо использования дополнений.

Настройка

1.1. Для начала необходимо создать конфигурационный файл для server02 . Если не указанно иное, выполните все эти команды на server01 . Введите в терминале:

Sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg \ /etc/nagios3/conf.d/server02.cfg

В вышеуказанном, а также следующем примере замените «server01», «server02» 172.18.100.100 и 172.18.100.101 на имя и ip-адрес ваших серверов.

Define host{ use generic-host ; Name of host template to use host_name server02 alias Server 02 address 172.18.100.101 } # check DNS service. define service { use generic-service host_name server02 service_description DNS check_command check_dns!172.18.100.101 }

1.3. Перезагрузите демон nagios для активации новых настроек:

2.1 Теперь добавим служебное описание для проверки MySQL путем добавления следующих строк в /etc/nagios3/conf.d/services_nagios2.cfg:

# check MySQL servers. define service { hostgroup_name mysql-servers service_description MySQL check_command check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS use generic-service notification_interval 0 ; set > 0 if you want to be renotified }

2.2. Сейчас должны быть определены сервера группы mysql. Отредактируйте /etc/nagios3/conf.d/hostgroups_nagios2.cfg добавив следующее:

# MySQL hostgroup. define hostgroup { hostgroup_name mysql-servers alias MySQL servers members localhost, server02 }

Mysql -u root -p -e "create user nagios identified by "secret";"

Пользователь nagios должен присутствовать на всех компьютерах рабочей группы серверов mysql.

2.4. Перезагрузите nagios для проверки сервера MySQL.

Sudo /etc/init.d/nagios3 restart

3.1. Наконец необходимо настроить NRPE для проверки дискового пространства на server02 .

На server01 добавим служебную проверку в /etc/nagios3/conf.d/server02.cfg:

# NRPE disk check. define service { use generic-service host_name server02 service_description nrpe-disk check_command check_nrpe_1arg!check_all_disks!172.18.100.101 }

3.2. Теперь на server02 отредактируем /etc/nagios/nrpe.cfg:

Allowed_hosts=172.18.100.100

А в строку объявления команды добавим:

Command=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e

3.3. В конце перезагрузим nagios-nrpe-server:

Sudo /etc/init.d/nagios-nrpe-server restart

3.4. На server01 также необходимо перезагрузить nagios:

Sudo /etc/init.d/nagios3 restart

Теперь вы должны видеть ваши сервера и служебные проверки в файлах Nagios CGI . Для доступа к ним наберите в строке браузера http://server01/nagios3 . Вам будет предложено ввести имя пользователя и пароль для nagiosadmin.

Ссылки

В этом разделе были описаны лишь незначительные возможности Nagios. nagios-plugins-extra и nagios-snmp-plugins содержит намного больше файлов проверки служб.

1. Для более детальной информации обратитесь к документации на официальном сайте Nagios .

2. Узконаправленная документация по Nagios .

3. Существует несколько книг посвященных Nagios и мониторингу сети.

4. Страница Nagios Ubuntu Wiki также содержит достаточно документации.

ЙУРПМШЪПЧБОЙС Nagios Ч ТЕБМШОПК ЦЙЪОЙ, НЩ ЪБЧПЕЧБМЙ ДМС УЕВС ДПЧПМШОП РТПУФПТОПЕ НЕУФП РПД УПМОГЕН. рПУМЕ ФТЕИ РТЕДЩДХЭЙИ УФБФЕК Х ЮЙФБФЕМЕК ОБЛПРЙМПУШ ОЕЛПФПТПЕ ЛПМЙЮЕУФЧП ЧПРТПУПЧ. ьФП ЪОБЮЙФ, ЮФП, ОЕУНПФТС ОБ ЧУЕ ВЩМЩЕ ХУРЕИЙ, РТЙЫМП ЧТЕНС РТЕЛТБФЙФШ ТБУЫЙТСФШ УЧПЙ ЧМБДЕОЙС Й РЕТЕКФЙ ОБ ЙОФЕОУЙЧОЩК РХФШ ТБЪЧЙФЙС. уМЕЗЛБ ЪБНЕДМЙН УЧПК ВЕЗ ЧРЕТЕД Й ЪБКНЕНУС ВМБЗПХУФТПКУФЧПН ЪБИЧБЮЕООПЗП РТПУФТБОУФЧБ. лБЛ ПВЩЮОП, Ч ОБЮБМЕ УФБФШЙ ИПФЕМПУШ ВЩ ХРПНСОХФШ ФП ПВУФПСФЕМШУФЧП, ЮФП ПРЙУЩЧБЕНЩЕ ДЕКУФЧЙС ЧЩРПМОСМЙУШ ОБ ИПУФЕ, ТБВПФБАЭЕН РПД ХРТБЧМЕОЙЕН FreeBSD 4.8. пДОБЛП РЕТЕЦЙЧБФШ РП ЬФП РПЧПДХ ОЕ УФПЙФ, ФБЛ ЛБЛ ЧУЕ ПВУХЦДБЕНЩЕ РТЙЕНЩ ВХДХФ ПФМЙЮОП ТБВПФБФШ У МАВЩН ДЙУФТЙВХФЙЧПН Unix-РПДПВОЩИ ПРЕТБГЙПООЩИ УЙУФЕН, ДМС ЛПФПТЩИ УХЭЕУФЧХЕФ ЧЕТУЙС Nagios. еДЙОУФЧЕООЩН ЭЕЛПФМЙЧЩН НПНЕОФПН НПЦЕФ ВЩФШ ТБЪМЙЮЙЕ Ч ЙНЕОБИ ДЙТЕЛФПТЙК, ЗДЕ ТБУРПМПЦЙМЙУШ Nagios Й ПУФБМШОПЕ ЧУРПНПЗБФЕМШОПЕ РТПЗТБННОПЕ ПВЕУРЕЮЕОЙЕ, ОЕПВИПДЙНПЕ ДМС ОБЫЕК ТБВПФЩ. оБДЕАУШ, У ЬФЙН НЕМЛЙНЙ РТПВМЕНБНЙ ЧЩ УНПЦЕФЕ ТБЪПВТБФШУС УБНПУФПСФЕМШОП.

рЕТЧЩН ДЕМПН ИПФЕМПУШ ВЩ ОБХЮЙФШ Nagios ЗПЧПТЙФШ ОБ ЮЙУФПН ТХУУЛПН СЪЩЛЕ. лБЛ ЧУЕЗДБ, ЧУРПНЙОБЕН, ЮФП Ч ЬФПН НЙТЕ ОЕФ ОЙЮЕЗП ОЕЧПЪНПЦОПЗП. рТЙНЕТОП ДЕЧСФШ НЕУСГЕЧ ОБЪБД С ЪБЧЕТЫЙМ ТБВПФЩ РП МПЛБМЙЪБГЙЙ Nagios ЧЕТУЙЙ 1.06 beta. ъБФЕН, РП НЕТЕ ЧЩИПДБ ОПЧЩИ ЧЕТУЙК РТПДХЛФБ, ФБ ЦЕ УХДШВБ РПУФЙЗМБ ПЖЙГЙБМШОЩЕ ТЕМЙЪЩ 1.0 Й 1.1. нЕФПДЙЛБ ТХУЙЖЙЛБГЙС ДМС ЧУЕИ ЧЕТУЙК ПДЙОБЛПЧБ, РПЬФПНХ С ВХДХ ПРЙУЩЧБФШ ЕЕ ОБ РТЙНЕТЕ ЧЕТУЙЙ 1.1, ЛБЛ ОБЙВПМЕЕ УЧЕЦЕК Й, ОБДЕАУШ, ОБЙВПМЕЕ ТБУРТПУФТБОЕООПК. рМАУ ЛП ЧУЕНХ, ЙНЕООП ЬФБ ЧЕТУЙС ХУФБОПЧМЕОБ Х НЕОС. йФБЛ, ЮФП ЦЕ ОБН ОХЦОП УДЕМБФШ? рЕТЧЩН ДЕМПН УЛБЮЙЧБЕН ДЙУФТЙВХФЙЧ ЧЕТУЙЙ Nagios, ЛПФПТБС ХУФБОПЧМЕОБ Х ЧБУ У ПЖЙГЙБМШОПЗП УБКФБ http://www.nagios.org. ъБФЕН ЪДЕУШ htpp://onix.opennet.ru/files/, ВЕТЕН УППФЧЕФУФЧХАЭЙЕ ЖБКМЩ МПЛБМЙЪБГЙЙ.

тБУРБЛПЧЩЧБЕН ДЙУФТЙВХФЙЧ Й РБЛЕФ МПЛБМЙЪБГЙЙ Ч МАВПЕ ХДПВОПЕ НЕУФП, ОБРТЙНЕТ Ч ДЙТЕЛФПТЙА /tmp.

# tar zxvf nagios-1.1.tar.gz # tar zxvf nagios_rus_1_1.tar.gz

лПРЙТХЕН ЧУЕ ОЕПВИПДЙНЩЕ ЖБКМЩ ЙЪ РБЛЕФБ МПЛБМЙЪБГЙЙ Ч ТБУРБЛПЧБООЩК ДЙУФТЙВХФЙЧ Й ЪБФЕН, ЛБЛ ПВЩЮОП, РТПЧПДЙН ЛПОЖЙЗХТЙТПЧБОЙЕ.

# cp -R /tmp/nagios_rus_1_1/* /tmp/nagios-1.1/ # cd nagios-1.1 # ./configure --prefix=/usr/local/nagios --with-cgi-url=/nagios/cgi-bin --with-html-url=/nagios/ \ --with-nagios-user=nagios --with-nagios-grp=nagios --with-gd-lib=/usr/local/lib \ --with-gd-inc=/usr/local/include/gd

с ДХНБА, ПВЯСУОСФШ ОБЪОБЮЕОЙЕ ЛМАЮЕК ЛПНБОДЩ configure УНЩУМБ ОЕФ. рПЬФПНХ УТБЪХ ЦЕ РЕТЕИПДЙН Л ЛПНРЙМСГЙЙ.

# make all

рПУМЕ ФПЗП, ЛБЛ ЬФПФ РТПГЕУУ ЪБЧЕТЫЙФУС ХУРЕЫОП, ПУФБОБЧМЙЧБЕН ДЕНПОБ Nagios. чУЕ-ФБЛЙ ТЕЪБФШ РП ЦЙЧПНХ ОЕ ПЮЕОШ ИПТПЫП, Й РПДПВОЩЕ ДЕКУФЧЙС НПЗХФ ЧЩЪЧБФШ ТБЪОППВТБЪОЩЕ УВПЙ Ч ЖХОЛГЙПОЙТПЧБОЙЙ УЙУФЕНЩ НПОЙФПТЙОЗБ.

# /usr/local/etc/nagios.sh stop

чПФ ФЕРЕТШ НПЦОП УРПЛПКОП ЧЩРПМОСФШ ЙОУФБММСГЙА.

# make install

ч ТЕЪХМШФБФЕ ЖБКМЩ ЙЪ ДЙТЕЛФПТЙЙ ДЙУФТЙВХФЙЧБ ДПМЦОЩ ЪБНЕОЙФШ ФЕ ЖБКМЩ, ЛПФПТЩЕ Nagios ЙУРПМШЪПЧБМ ДП УЕЗПДОСЫОЕЗП ДОС. фБЛЙН ПВТБЪПН, ЖБКМЩ ЙЪ /tmp/nagios-1.1/html ДПМЦОЩ РПРБУФШ Ч /usr/local/nagios/share/, Б УЛПНРЙМЙТПЧБООЩЕ ЖБКМЩ ЙЪ /tmp/nagios-1.1/cgi Ч /usr/local/nagios/sbin/.

уОПЧБ ЪБРХУФЙЧ Nagios Й ПВТБФЙЧЫЙУШ Л Web-ЙОФЕТЖЕКУХ, ДПМЦОЩ ХЧЙДЕФШ ЮФП-ФП ЧТПДЕ ФБЛПК ЛБТФЙОЛЙ.

уХДС РП ЧУЕНХ, ТХУЙЖЙЛБГЙС РТПЫМБ ВЕЪ УХЮЛБ-ВЕЪ ЪБДПТЙОЛЙ. уМЕДХАЭБС РТПВМЕНБ, ОХЦДБАЭБСУС Ч ЙУРТБЧМЕОЙЙ - ОЕТБВПФБАЭБС ЛБТФБ УЕФЙ. рТЙ РПРЩФЛЕ ЧПУРПМШЪПЧБФШУС РХОЛФБНЙ "лБТФБ УЕФЙ" (statusmap.cgi) Й "3D ЛБТФБ УЕФЙ" (statuswrl.cgi) ОБ ЬЛТБОЕ ЧНЕУФП ЛБТФЩ ПВЩЮОП РПСЧМСЕФУС ФБЛПЕ НЕОА:

рТЙЮЙО ЬФПНХ НПЦЕФ ВЩФШ ДЧЕ. рЕТЧБС: ОЕ ТБВПФБЕФ ВЙВМЙПФЕЛБ GD, ЛПФПТХА НЩ ХУФБОПЧЙМЙ ЧНЕУФЕ У Nagios. й ЧФПТБС: Ч ЙУРПМШЪХЕНПН ОБНЙ ВТБХЪЕТЕ ПФУХФУФЧХЕФ ЙМЙ ОЕРТБЧЙМШОП ТБВПФБЕФ РПДЛМАЮБЕНЩК НПДХМШ ДМС ПФПВТБЦЕОЙС vrml.

йФБЛ, ОБЮОЕН У РЕТЧПК РТПВМЕНЩ. еУМЙ ЧЩ РПНОЙФЕ, РЕТЕД ЛПНРЙМЙТПЧБОЙЕН Nagios НЩ ЙУРПМШЪПЧБМЙ ЛПНБОДХ configure. уМЕДХЕФ ПВТБФЙФШ ПУПВПЕ ЧОЙНБОЙЕ ОБ РБТБНЕФТЩ --with-gd-lib Й --with-gd-inc, ЛПФПТЩЕ ХЛБЪЩЧБАФ ОБ ДЙТЕЛФПТЙЙ, ЗДЕ Ч ОБЫЕК УЙУФЕНЕ ОБИПДСФУС ЪБЗПМПЧПЮОЩЕ Й ВЙВМЙПФЕЮОЩЕ ЖБКМЩ РБЛЕФБ GD. лПНБОДБ configure РЩФБЕФУС БЧФПНБФЙЮЕУЛЙ РПДЛМАЮЙФШ ОХЦОЩЕ ЖБКМЩ Л РТПЕЛФХ, ОП ЕК ОЕ ЧУЕЗДБ ЬФП ХДБЕФУС. пВЩЮОП Ч РТПГЕУУЕ ЛПОЖЙЗХТЙТПЧБОЙС ОБ ЬЛТБО ЧЩЧПДСФУС УППФЧЕФУФЧХАЭЙЕ УППВЭЕОЙС, ОП ЧУС РТПВМЕНБ Ч ФПН, ЮФП ФХДБ ЦЕ УЩРЕФУС ДПЧПМШОП НОПЗП РТПЮЙИ ДЙБЗОПУФЙЮЕУЛЙИ УППВЭЕОЙК, Й РПЬФПНХ ОБКФЙ Й РПОСФШ ФП, ЮФП ОБН ОХЦОП Ч ЬФПН ЧЙОЕЗТЕФЕ, ДПЧПМШОП УМПЦОП. дМС ВПМЕЕ ФПЮОПЗП ДЙБЗОПУФЙТПЧБОЙС РТПВМЕНЩ ПЮЙУФЙН ДЙУФТЙВХФЙЧ ПФ ЖБКМПЧ, УПЪДБООЩИ ЧП ЧТЕНС РТЕДЩДХЭЕК ЛПНРЙМСГЙЙ ЛПНБОДПК:

# make clean

ъБФЕН РЕТЕОБРТБЧЙН ЧУЕ УППВЭЕОЙС ЛПНБОДЩ configure Ч ЖБКМ make.log c РПНПЭША УМЕДХАЭЕК ЛПОУФТХЛГЙЙ.

# ./configure --prefix=/usr/local/nagios --with-cgi-url=/nagios/cgi-bin --with-html-url=/nagios/ \ --with-nagios-user=nagios --with-nagios-grp=nagios --with-gd-lib=/usr/local/lib \ --with-gd-inc=/usr/local/include/gd > make.log

еУМЙ ЧП ЧТЕНС ЛПНРПОПЧЛЙ ВЙВМЙПФЕЛБ GD ОЕ ОБКДЕОБ, ФП ЧОХФТЙ ЖБКМБ make.log УТЕДЙ ЧУЕЗП РТПЮЕЗП ВХДХФ ЧПФ ФБЛЙЕ ОБДРЙУЙ:

Checking for gdImagePng in -lgd (order 1)... no checking for gdImagePng in -lgd (order 2)... no checking for gdImagePng in -lgd (order 3)... no *** GD, PNG, and/or JPEG libraries could not be located... ********* Boutell"s GD library is required to compile the statusmap, trends and histogram CGIs. Get it from http://www.boutell.com/gd/, compile it, and use the --with-gd-lib and --with-gd-inc arguments to specify the locations of the GD library and include files. NOTE: In addition to the gd-devel library, you"ll also need to make sure you have the png-devel and jpeg-devel libraries installed on your system. NOTE: After you install the necessary libraries on your system: 1. Make sure /etc/ld.so.conf has an entry for the directory in which the GD, PNG, and JPEG libraries are installed. 2. Run "ldconfig" to update the run-time linker options. 3. Run "make clean" in the Nagios distribution to clean out any old references to your previous compile. 4. Rerun the configure script. NOTE: If you can"t get the configure script to recognize the GD libs on your system, get over it and move on to other things. The CGIs that use the GD libs are just a small part of the entire Nagios package. Get everything else working first and then revisit the problem. Make sure to check the nagios-users mailing list archives for possible solutions to GD library problems when you resume your troubleshooting. ********************************************************************

оХ Б Ч УМХЮБЕ, ЕУМЙ ЧБН РПЧЕЪМП Й ЧЩ ОБЫМЙ Ч ХЛБЪБООПН ЧЩЫЕ ЖБКМЕ ЧПФ ФБЛПЕ:

Checking for gdImagePng in -lgd (order 1)... yes GD library was found!

ъОБЮЙФ У GD Х ЧБУ ЧУЕ Ч РПТСДЛЕ, Й ЧЩ НПЦЕФЕ УРПЛПКОП РПКФЙ РПРЙФШ ЛПЖЕ, РПЛБ С ТБУУЛБЦХ ПУФБМШОЩН, ЛБЛ ЙЪВБЧЙФШУС ПФ РТПВМЕН У ЬФПК ОЕХМПЧЙНПК ВЙВМЙПФЕЛПК. рП ФТБДЙГЙЙ ОБЮЙОБЕН У FreeBSD. рПУНПФТЕФШ, ХУФБОБЧМЙЧБМБУШ МЙ ВЙВМЙПФЕЛБ GD Ч ЬФХ УЙУФЕНХ УФБОДБТФОЩНЙ УТЕДУФЧБНЙ, ФП ЕУФШ У РПНПЭША РБЛЕФПЧ ЙМЙ РПТФПЧ, НПЦОП ЛПНБОДПК:

# pkg_info | grep gd gd-1.8.4_6 A graphics library for fast image creation

фЕРЕТШ НЩ ЪОБЕН РПМОПЕ ОБЪЧБОЙЕ РБЛЕФБ. уНПФТЙН ЛХДБ, ХУФБОПЧЙМЙУШ ЕЗП ЖБКМЩ.

# pkg_-L gd-1.8.4_6 Information for gd-1.8.4_6: Files: /usr/local/bin/bdftogd /usr/local/bin/gd2copypal /usr/local/bin/gd2topng /usr/local/bin/gdparttopng /usr/local/bin/gdtopng /usr/local/bin/pngtogd /usr/local/bin/pngtogd2 /usr/local/bin/webpng /usr/local/include/gd/gd.h /usr/local/include/gd/gd_io.h /usr/local/include/gd/gdcache.h /usr/local/include/gd/gdfontg.h /usr/local/include/gd/gdfontl.h /usr/local/include/gd/gdfontmb.h /usr/local/include/gd/gdfonts.h /usr/local/include/gd/gdfontt.h /usr/local/lib/libgd.a /usr/local/lib/libgd.so /usr/local/lib/libgd.so.2 /usr/local/share/doc/gd/index.html

йФБЛ, УХДС РП ЧЩЧПДХ, РБТБНЕФТЩ ЛПНБОДЩ configure, ПФОПУСЭЙЕУС Л ВЙВМЙПФЛЕ GD, ДПМЦОЩ ЧЩЗМСДЕФШ ФБЛ --with-gd-lib=/usr/local/lib --with-gd-inc=/usr/local/include/gd.

дБЧБКФЕ РПУНПФТЙН, ЛБЛ НПЦОП ДПВЙФШУС РПДПВОПЗП ЬЖЖЕЛФБ ДМС Linux-УЙУФЕН, ПУОПЧБООЩИ ОБ rpm. ч ЛБЮЕУФЧЕ РТЙНЕТБ ЧПЪШНЕН ALT Linux.

# rpm -qa | grep gd libgd2-devel-2.0.4-alt2 gdm-2.4.4.5-alt1 gdk-pixbuf-loaders-0.22.0-alt2 gdk-pixbuf-0.22.0-alt2 libgd2-2.0.4-alt2 libgda2-1.0.0-alt1 gnome2-utils-gdict-applet-2.4.0-alt2 libgda2-devel-1.0.0-alt1

ч ПФМЙЮЙЕ ПФ FreeBSD, Ч Linux УЙУФЕНБИ ВЙВМЙПФЕЛБ GD ПВЩЮОП ТБЪДЕМЕОБ ОБ ДЧБ ПФДЕМШОЩИ РБЛЕФБ. уХДС РП ЧУЕНХ, ОБУ ЙОФЕТЕУХАФ rpm ЖБКМЩ libgd2 Й libgd2-devel. рЕТЧЩК УПДЕТЦЙФ ДЙОБНЙЮЕУЛЙ ЪБЗТХЦБЕНЩЕ ВЙВМЙПФЕЛЙ, ОХ Б ЧФПТПК, УППФЧЕФУФЧЕООП, ЪБЗПМПЧПЮОЩЕ ЖБКМЩ.

# rpm -ql libgd2 /usr/lib/libgd.so.2 /usr/lib/libgd.so.2.0.4 # rpm -ql libgd2-devel /usr/include/gd.h /usr/include/gd_io.h /usr/include/gdcache.h /usr/include/gdfontg.h /usr/include/gdfontl.h /usr/include/gdfontmb.h /usr/include/gdfonts.h /usr/include/gdfontt.h /usr/lib/libgd.so /usr/share/doc/gd-2.0.4 /usr/share/doc/gd-2.0.4/index.html

оХ Й ОБЛПОЕГ, ХОЙЧЕТУБМШОЩК УРПУПВ, РПДИПДСЭЙК ДМС МАВПК Unix-РПДПВОПК ПРЕТБГЙПООПК УЙУФЕНЩ. йН НПЦОП ЧПУРПМШЪПЧБФШУС Ч УМХЮБЕ, ЕУМЙ ЧУЕ РТЕДЩДХЭЙЕ РПРЩФЛЙ ОЕ ДБМЙ ОЙЛБЛЙИ ТЕЪХМШФБФПЧ. оХЦОП УБНПУФПСФЕМШОП ПФЩУЛБФШ, ЗДЕ ОБИПДСФУС ЖБКМЩ libgd.* Й gd.h

#find / -name libgd.* /usr/lib/libgd.so.1.2 /usr/lib/libgd.so.1 /usr/lib/libgd.so #find / -name gd.h /usr/include/gd.h

фЕРЕТШ ЧЩ НПЦЕФЕ ХЧЕТЕООП УЛБЪБФШ, ЮЕНХ ДПМЦОЩ ВЩФШ ТБЧОЩ РБТБНЕФТЩ --with-gd-lib Й --with-gd-inc ЛПНБОДЩ configure. чЩРПМОСЕН ЕЕ УП ЧУЕНЙ ОЕПВИПДЙНЩНЙ ОБУФТПКЛБНЙ Й, ЛБЛ ПРЙУБОП ЧЩЫЕ, РТПЧЕТСЕН, ОБКДЕОБ МЙ ВЙВМЙПФЕЛБ GD. оХ Й ОБЛПОЕГ, РТПЧПДЙН ЛПНРЙМСГЙА Й ЙОУФБММСГЙА, ОЕ ЪБВЩЧ ПУФБОПЧЙФШ ДЕНПОБ Nagios. рПУМЕ ЬФПЗП ЛБТФБ УЕФЙ (statusmap.cgi) ДПМЦОБ РТЙПВТЕУФЙ ЧЙД, РТЙНЕТОП РПИПЦЙК ОБ ЬФПФ:


фЕРЕТШ ЧУЕ ФЕ, ЛФП ХЫМЙ РЙФШ ЛПЖЕ, НПЗХФ ЧПЪЧТБЭБФШУС. уЕКЮБУ НЩ ОБЮОЕН РПЮЙОЛХ 3D ЛБТФЩ. оЕ ТБВПФБЕФ ПОБ РП РТЙЮЙОЕ ФПЗП, ЮФП ЧБЫ ВТБХЪЕТ ОЕ ЪОБЕФ, ЮФП ДЕМБФШ У vrml ЖБКМПН, ЛПФПТЩК ЧПЪЧТБЭБЕФУС Ч ПФЧЕФ ОБ ЪБРТПУЩ Л УЛТЙРФХ statuswrl.cgi. дМС ФПЗП, ЮФПВЩ ЧУЕ ЪБТБВПФБМП ЛБЛ РПМПЦЕОП, ОХЦОП ХУФБОПЧЙФШ Ч ЙУРПМШЪХЕНЩК ВТБХЪЕТ НПДХМШ ДМС ТБВПФЩ У vrml, ЙМЙ ПФДЕМШОХА РТПЗТБННХ, РТЕДОБЪОБЮЕООХА ДМС ФЕИ ЦЕ ГЕМЕК.

рТПЗТБННОПЗП ПВЕУРЕЮЕОЙС, РПДИПДСЭЕЗП ДМС ЬФПЗП, ОБРЙУБОП ЧПЪ Й НБМЕОШЛБС ФЕМЕЦЛБ. лБЛ ПВЩЮОП, РБМШНБ РЕТЧЕОУФЧБ РП ЛПМЙЮЕУФЧХ ЬЛЪЕНРМСТПЧ РТЙОБДМЕЦЙФ Windows. ъБФЕН ЙДЕФ MAC OS Й, ОБЛПОЕГ, ВТПОЪПЧПЕ ФТЕФШЕ НЕУФП ЪБОЙНБЕФ Linux.

йФБЛ, ОБЮОЕН У ЖБЧПТЙФБ. рТЙ ОЕПВИПДЙНПУФЙ ТБВПФБФШ РПД ХРТБЧМЕОЙЕН Windows Й MAC УЙУФЕН С РТЕДРПЮЙФБА ЙУРПМШЪПЧБФШ Cortona VRML Client РП ФПК РТПУФПК РТЙЮЙОЕ, ЮФП ПО УПЧНЕУФЙН У ВПМШЫЙОУФЧПН ОБЙВПМЕЕ ТБУРТПУФТБОЕООЩИ ВТБХЪЕТПЧ, Л ЮЙУМХ ЛПФПТЩИ ОЕУПНОЕООП ПФОПУСФУС Internet Explorer, Netscape Navigator, Mozilla, iCab. йОФЕТЕУОЩН ЖБЛФПН СЧМСЕФУС ФП ПВУФПСФЕМШУФЧП, ЮФП ЬФПФ РПДЛМАЮБЕНЩК НПДХМШ НПЦОП ЙУРПМШЪПЧБФШ ДБЦЕ ЙЪ ПЖЙУОЩИ РТЙМПЦЕОЙК Microsoft PowerPoint, Microsoft Word. л УПЦБМЕОЙА, ТБЪТБВПФЮЙЛЙ Cortona РПЮЕНХ-ФП ТЕЫЙМЙ РПМОПУФША РТПЙЗОПТЙТПЧБФШ Linux. уЛБЮБФШ ДЙУФТЙВХФЙЧ НПЦОП У УБКФБ http://www.parallelgraphics.com/products/cortona/download/ . юФП ДЕМБФШ РПУМЕ УПЧЕТЫЕОЙС ЬФПЗП УБЛТБНЕОФБМШОПЗП ДЕКУФЧБ, НЩ ПВУХДЙН ОЕНОПЗП РПЪДОЕЕ.

уМЕДХАЭБС ДПУФПКОБС ОБЫЕЗП ЧОЙНБОЙС РТПЗТБННБ ОБЪЩЧБЕНБС Cosmo player Й ЦЙЧЕФ РП ЬФПНХ БДТЕУХ http://ca.com/cosmo/html/ . тБВПФБЕФ Ч ЧЙДЕ ПФДЕМШОПЗП РТЙМПЦЕОЙС Й, ЛПОЕЮОП ЦЕ, ФПМШЛП РПД Windows Й MAC.

ExpressVR-ЛПОЛХТЕОФ Cortona ДМС ЧУЕН ЙЪЧЕУФОПК СВМПЮОПК РМБФЖПТНЩ. рПД ДТХЗЙНЙ ПРЕТБГЙПООЩНЙ УЙУФЕНБНЙ ОЕ ЦЙЧЕФ, РПРЩФПЛ ЬЛУРБОУЙЙ ОЕ РТЕДРТЙОЙНБЕФ Й, УХДС РП РПУМЕДОЙН ФЕОДЕОГЙСН, УЛПТЕЕ ЧУЕЗП, ЮЕТЕЪ ОЕЛПФПТПЕ ЧТЕНС ВХДЕФ ПЛПОЮБФЕМШОП ЧЩФЕУОЕО УЧПЙН НОПЗПЖХОЛГЙПОБМШОЩН РТПФЙЧОЙЛПН. рТЕДОБЪОБЮЕО ФПМШЛП ДМС Netscape Navigator Й Internet Explorer. уЛБЮБФШ ДЙУФТЙВХФЙЧ НПЦОП ПФУАДБ http://members.aol.com/maxmac/vrml/download.html .

FreeWRL - ПФДЕМШОПЕ РТЙМПЦЕОЙЕ, ТБВПФБАЭЕЕ Ч ЛБЮЕУФЧЕ УБНПУФПСФЕМШОПЗП vrml ВТБХЪЕТБ. жХОЛГЙПОЙТХЕФ ОБ РМБФЖПТНБИ Linix Й MAC Й ТБУРПМБЗБЕФУС РП ЬФПНХ БДТЕУХ http://www.crc.ca/FreeWRL/ .

оБ УБНПН ДЕМЕ, РТПЗТБНН, РПДИПДСЭЙИ ДМС ОБЫЙИ ГЕМЕК, ЗПТБЪДП ВПМШЫЕ, ЮЕН ЧЩ НПЗМЙ ВЩ РПДХНБФШ. с РПУФБТБМУС ХРПНСОХФШ МЙЫШ ОБЙВПМЕЕ ЙЪЧЕУФОЩЕ ЙЪ ОЙИ. еУМЙ ЦЕ ЧЩ ИПФЙФЕ ОЕРТЕНЕООП ПЗМБУЙФШ ЧЕУШ УРЙУПЛ, ФП ЧБН ОХЦОП РТПЧЕУФЙ РПЙУЛ РП УМПЧХ vrml ОБ УМЕДХАЭЙЕ УЕТЧЕТБИ, Ч ОБТПДЕ МБУЛПЧП ОБЪЩЧБЕНЩИ УПЖФПНПЗЙМШОЙЛБНЙ:


http://freshmeat.net/
http://tucows.com/
http://filesearch.ru/

л УПЦБМЕОЙА, Nagios РПЛБ ОЕ ХНЕЕФ УБНПУФПСФЕМШОП УФТПЙФШ ЛБТФХ УЕФЙ, ВПМЕЕ ЙМЙ НЕОЕЕ РТЙВМЙЦЕООХА Л ТЕБМШОПНХ ТБУРПМПЦЕОЙА ОБВМАДБЕНЩИ ПВЯЕЛФПЧ ЧОХФТЙ ОЕЕ. оЕУНПФТС ОБ ФП, ЮФП Х ОБУ ЕУФШ ДЧЕ РПДУЕФЙ ОБ ЛБТФЕ, ЧУЕ НБЫЙОЩ ПФПВТБЦБАФУС ФБЛ, ЛБЛ ВХДФП ПОЙ ОБИПДСФУС Ч ПДОПН Й ФПН ЦЕ УЕФЕЧПН ПВМБЛЕ, ФП ЕУФШ ЧУЕ УЧБМЕОП Ч ПДОХ ЛХЮХ. у ПДОПК УФПТПОЩ, ЬФП ХРТПЭБЕФ РТПГЕДХТХ ТЙУПЧБОЙС ЛБТФЩ, ОП У ДТХЗПК, ХУМПЦОСЕФ ЦЙЪОШ БДНЙОЙУФТБФПТБ. рТЕДУФБЧШФЕ УЕВЕ УЙФХБГЙА, ЛПЗДБ ЙЪ УФТПС ЧЩИПДЙФ НБЫЙОБ Inner_Firewall. рТЙ УМЕДХАЭЕН ГЙЛМЕ ЧЩРПМОЕОЙС РТПЧЕТПЛ ОБУ ЪБУЩРМЕФ МБЧЙОБ ХЧЕДПНМЕОЙС П ЛТЙФЙЮЕУЛПН УПУФПСОЙЙ ИПУФПЧ Inner_Firewall, WWW, Mail, 3com_Dmz Й Outer_Firewall. иПФС ОБ УБНПН ДЕМЕ ОЕ ТБВПФБЕФ ФПМШЛП РЕТЧЩК ЙЪ ЧУЕИ ЧЩЫЕРЕТЕЮЙУМЕООЩИ ЛПНРШАФЕТПЧ. рПМХЮБЕФУС, ЮФП БДНЙОЙУФТБФПТ ДПМЦЕО УБНПУФПСФЕМШОП ДПЗБДБФШУС, ЮФП РТЙЧЕМП Л ФБЛЙН НБУУПЧЩН УВПСН. дМС ФПЗП, ЮФПВЩ ЧРТЕДШ ЙЪВЕЦБФШ РПДПВОЩИ ОЕРТЙСФОПУФЕК, ОБН ОЕПВИПДЙНП ПВЯСУОЙФШ Nagios, ЛБЛ РПУФТПЕОБ ОБЫБ УЕФШ Й ЛБЛЙН ПВТБЪПН ДПВЙТБФШУС ДП ЕЕ УБНЩИ ХДБМЕООЩИ ХЗПМЛПЧ. дЕМБЕФУС ЬФП У РПНПЭША УПЪДБОЙС ПФОПЫЕОЙК "ТПДЙФЕМШ" - "РПФПНПЛ" НЕЦДХ ЧУЕНЙ ОБЫЙНЙ ИПУФБНЙ. рПУМЕ ФБЛЙИ ЙЪНЕОЕОЙК ЛТЙФЙЮЕУЛЙЕ ХЧЕДПНМЕОЙС ВХДХФ РТЙИПДЙФШ ФПМШЛП ДМС ЛПНРШАФЕТБ Inner_Firewall, ЧУЕ ПУФБМШОЩЕ НБЫЙОЩ, ЪБДЕКУФЧПЧБООЩЕ Ч ДБООПК РТПВМЕНЕ, РПМХЮБФ УФБФХУ "ОЕДПУФХРОП". уПЗМБУЙФЕУШ, ЬФП ЧУЕ-ФБЛЙ ВПМЕЕ УППФЧЕФУФЧХЕФ ДЕКУФЧЙФЕМШОПНХ РПМПЦЕОЙА ЧЕЭЕК Ч ЛПОФТПМЙТХЕНЩИ УЕФСИ.

рТБТПДЙФЕМЕН ЧУЕИ ЛПНРШАФЕТПЧ УЮЙФБЕФУС НБЫЙОБ, ОБ ЛПФПТПК ТБВПФБЕФ РТПГЕУУ УЙУФЕНЩ НПОЙФПТЙОЗБ. й ХЦЕ ПФ ОЕЗП УФТПЙФУС ГЕРПЮЛБ.

дМС РТБЧЙМШОПК ДЙБЗОПУФЙЛЙ ОЕРПМБДПЛ ЙЕТБТИЙС ДПМЦОБ ЧЩЗМСДЕФШ ФБЛ, ЛБЛ ЙЪПВТБЦЕОП ОБ РТЕДЩДХЭЕК УИЕНЕ. у ФПЮЛЙ ЪТЕОЙС Nagios, ВЩЧБАФ ДЧБ ЧЙДБ ИПУФПЧ - "МПЛБМШОЩЕ" Й "ХДБМЕООЩЕ". мПЛБМШОЩНЙ УЮЙФБАФУС ФЕ, ЛФП ОБИПДЙФУС Ч ФПН ЦЕ УЕФЕЧПН УЕЗНЕОФЕ, ЮФП Й УЙУФЕНБ НПОЙФПТЙОЗБ. нЕЦДХ ОЙНЙ ОЕ ДПМЦОП ВЩФШ ОЙ НБТЫТХФЙЪБФПТПЧ, ОЙ НЕЦУЕФЕЧЩИ ЬЛТБОПЧ. еУМЙ ВЩ Х ОБУ ВЩМЙ ОЕХРТБЧМСЕНЩЕ ЛПННХФБФПТЩ, ОЕ РПДДБАЭЙЕУС НПОЙФПТЙОЗХ, ФП МПЛБМШОЩНЙ ИПУФБНЙ УЮЙФБМЙУШ ВЩ Linux Й Win_2000. оП Ч УЧСЪЙ У ФЕН, ЮФП НЕЦДХ ОЙНЙ ЕУФШ РТПНЕЦХФПЮОПЕ ЪЧЕОП Ч ЧЙДЕ ЛПННХФБФПТБ 3com_Lan, ЛПФПТЩК НПЦОП РПДЧЕТЗОХФШ НПОЙФПТЙОЗХ, ПОЙ РЕТЕИПДСФ Ч ТБЪТСД ХДБМЕООЩИ. б ЕДЙОУФЧЕООЩН МПЛБМШОЩН УФБОПЧЙФУС 3com_Lan.

дПВЙФШУС ЬФПЗП НПЦОП РТЙНЕОЕОЙЕН ФЕЗБ parents Ч ПРТЕДЕМЕОЙЙ ИПУФПЧ. уФПЙФ ПВТБФЙФШ ЧОЙНБОЙЕ ОБ ФПФ УФТБООЩК ЖБЛФ, ЮФП ЖЙТНЕООБС ДПЛХНЕОФБГЙС Ч ТБЪДЕМЕ "Determining Status and Reachability of Network Hosts" ЬФПФ ФЕЗ РПЮЕНХ-ФП ОБЪЩЧБЕФ parent_hosts. иПФС ЕУМЙ РПЛПРБФШУС Ч ЙУИПДОЩИ ФЕЛУФБИ Nagios, ФП РПОЙНБЕН, ЮФП ОБ УБНПН ДЕМЕ ДПМЦЕО ВЩФШ РТПУФП parents. еУМЙ Ч ПРЙУБОЙЙ ИПУФПЧ ОЕХЛПУОЙФЕМШОП РТЙДЕТЦЙЧБФШУС ХЛБЪБОЙС ЙУРПМШЪПЧБФШ ФЕЗ parent_host, ФП РТЙ РПРЩФЛЕ УДЕМБФШ nagios reload ДМС ФПЗП, ЮФПВЩ РТЙНЕОЙФШ ЙЪНЕОЕОЙС Ч ЛПОЖЙЗХТБГЙЙ, РПМХЮЙН ЧПФ ФБЛЙЕ ПЫЙВЛЙ:

Running configuration check... Nagios 1.1 Copyright (c) 1999-2003 Ethan Galstad ([email protected]) Last Modified: 06-02-2003 License: GPL Reading configuration data... Error: Could not add object property in file "/usr/local/nagios/etc/hosts.cfg" on line 74. ***> One or more problems was encountered while processing the config files... Check your configuration file(s) to ensure that they contain valid directives and data defintions. If you are upgrading from a previous version of Nagios, you should be aware that some variables/definitions may have been removed or modified in this version. Make sure to read the HTML documentation on the main and host config files, as well as the "Whats New" section to find out what has changed. failed - aborting reload.

пЫЙВЛБ ВХДЕФ ЙНЕООП ОБ ФПК УФТПЛЕ, ЗДЕ ЧРЕТЧЩЕ РПСЧМСЕФУС ФЕЗ parent_host. дХНБА, ДТХЗЙИ ДПЛБЪБФЕМШУФЧ ОЕ ОХЦОП.

нБЫЙОЩ, УЮЙФБАЭЙЕУС МПЛБМШОЩНЙ РП ПФОПЫЕОЙА Л Nagios, ОБИПДСФУС ОБ ПДОХ УФХРЕОШЛХ ОЙЦЕ Ч ЙЕТБТИЙЙ, Й РПЬФПНХ ОЕ ДПМЦОЩ ЙУРПМШЪПЧБФШ ФЕЗ parents Ч УЧПЕН ПРЙУБОЙЙ. чУЕ ПУФБМШОЩЕ НБЫЙОЩ, ПФОПУСЭЙЕУС Л ЗТХРРЕ ХДБМЕООЩИ, Ч ЧЩЫЕХЛБЪБООПН ФЕЗЕ РЙЫХФ ЙНС ВМЙЦБКЫЕЗП ТПДЙФЕМС. фБЛЙН ПВТБЪПН, ДМС ИПУФПЧ Inner_Firewall, Linux Й Win_2000 ТПДЙФЕМЕН СЧМСЕФУС 3com_Lan. ч УЧПА ПЮЕТЕДШ, Inner_Firewall ХЛБЪБО ТПДЙФЕМЕН ДМС 3com_Dmz. б 3com_Dmz ЧЩРПМОСЕФ ФХ ЦЕ ТПМШ ДМС ИПУФПЧ WWW, Outer_Firewall, Mail.

йФБЛ, ТБЪПВТБЧЫЙУШ У РПОСФЙЕН ЙЕТБТИЙЙ, РПУНПФТЙН, ЛБЛ ПОП ЧМЙСЕФ ОБ ПФПВТБЦЕОЙЕ ОБЫЙИ УЕФЕК ОБ ЛБТФЕ.


дХНБА, ЧЩЗМСДЙФ ДПЧПМШОП ЧРЕЮБФМСАЭЕ. лБЛПК ЙЪ УРПУПВПЧ ПФПВТБЦЕОЙС ЛБТФЩ ВХДЕФ ЙУРПМШЪПЧБФШУС РП ХНПМЮБОЙА, ХЛБЪЩЧБЕФ РБТБНЕФТ default_statusmap_layout. дМС ФТЕИНЕТОПК ЛБТФЩ ФБЛПК РБТБНЕФТ ОБЪЩЧБЕФУС, УППФЧЕФУФЧЕООП, default_statuswrl_layout. пВБ ЬФЙИ РБТБНЕФТБ УЛТЩЧБАФУС ЧОХФТЙ ЖБКМБ cgi.cfg. лТПНЕ ЪБНЕФОПЗП У РЕТЧПЗП ЧЪЗМСДБ МПУЛБ, НЩ, Л ФПНХ ЦЕ, РТЙПВТЕМЙ ВПМЕЕ ФПЮОПЕ ДЙБЗОПУФЙТПЧБОЙЕ УЕФЕЧЩИ ОЕРПМБДПЛ.

чУЕ ЬФП, ЛПОЕЮОП, ИПТПЫП, ОП ДХЫБ ФТЕВХЕФ ЮЕЗП-ФП ВПМЕЕ ЛТБУЙЧПЗП. фБЛ ЦЕ ИПФЕМПУШ ВЩ ХНЕФШ УБНПУФПСФЕМШОП ХЛБЪЩЧБФШ ТБУРПМПЦЕОЙЕ ФЕИ ЙМЙ ЙОЩИ ПВЯЕЛФПЧ ОБ ЛБТФБИ. фБЛБС ЪБДБЮБ ОБН РП РМЕЮХ, Й УЕКЮБУ ЧЩ ОБХЮЙФЕУШ ХРТБЧМСФШ ЧБЦОЕКЫЙНЙ РБТБНЕФТБНЙ ПФТЙУПЧЛЙ УЕФЕЧЩИ ЛБТФ. дМС ОБЮБМБ НЩ ТБЪДБДЙН ЛБЦДПНХ ИПУФХ Й УЕТЧЙУХ РП ЛТБУЙЧПК ЙЛПОЛЕ, Б ЪБФЕН ТБУРПМПЦЙН ЙИ ФБЛ, ЮФПВЩ ПОЙ НБЛУЙНБМШОП УПЧРБДБМЙ У ОБЫЙН ТЙУХОЛПН, ПУОПЧЩЧБСУШ ОБ ЛПФПТПН НЩ ПРЙУЩЧБМЙ УПДЕТЦЙНПЕ ОБЫЙИ УЕФЕК. фХФ ОБН ОБ РПНПЭШ РТЙИПДСФ ДЧБ ОПЧЩИ ЖБКМБ. рЕТЧЩК ЙЪ ОЙИ, hostextinfo.cfg, ПФЧЕЮБЕФ ЪБ ДПВБЧПЮОЩЕ БФТЙВХФЩ ИПУФПЧ, Б ЧФПТПК, serviceextinfo.cfg, ЧЩРПМОСЕФ ФХ ЦЕ ЖХОЛГЙА ДМС УЕТЧЙУПЧ.

лУФБФЙ, ОЕ ЪБВХДШФЕ УЛБЮБФШ ПФУАДБ http://nagios.org/download/extras.html ЖБКМЩ У ЛПММЕЛГЙСНЙ ЙЛПОПЛ, ПВЩЮОП ОБЪЩЧБЕНЩЕ image packs.

йФБЛ, ОБЮОЕН У ЖБКМБ hostextinfo.cfg.

define hostextinfo{
# фЕЗ, У ЛПФПТПЗП ДПМЦОП ОБЮЙОБФШУС ПРЙУБОЙЕ ИПУФБ

host_name 3com_Lan
# йНС ИПУФБ, Л ЛПФПТПНХ ПФОПУЙФУС ПРЙУБОЙЕ

icon_image 3Com.png
# йНС ЖБКМБ ЙЛПОЛЙ, ЛПФПТБС ВХДЕФ ПФПВТБЦБФШУС ТСДПН У ЙНЕОЕН ИПУФБ
# йЛПОЛБ НПЦЕФ ВЩФШ Ч ЖПТНБФЕ GIF, PNG ЙМЙ JPG. нПЦЕФ УПДЕТЦБФШ ЧОХФТЙ
# УЕВС РТПЪТБЮОЩЕ ПВМБУФЙ. цЕМБФЕМШОП, ЮФПВЩ ЙЛПОЛЙ ВЩМЙ ТБЪНЕТПН 40x40
# РЙЛУЕМЕК. тБУРПМБЗБФШУС ПОЙ ДПМЦОЩ Ч ДЙТЕЛФПТЙЙ logos.

icon_image_alt 3Com LAN Switch
# оБДРЙУШ, ПФПВТБЦБЕНБС, ЕУМЙ web-УЕТЧЕТХ ОЕ ХДБЕФУС ЪБЗТХЪЙФШ ЙЛПОЛХ

vrml_image 3Com.png
# йНС ЖБКМБ, ЛПФПТЩК ВХДЕФ ЙУРПМШЪПЧБФШУС ЛБЛ ФЕЛУФХТБ ДМС ЛХВБ,
# ЙЪПВТБЦБАЭЕЗП ИПУФ ОБ ФТЕИНЕТОПК ЛБТФЕ.
# нПЦЕФ ВЩФШ Ч ЖПТНБФЕ PNG, JPG, GIF. лБТФЙОЛБ ОЕ ДПМЦОБ УПДЕТЦБФШ
# РТПЪТБЮОЩИ ПВМБУФЕК, ЙОБЮЕ ЬФП ВХДЕФ ЧЩЗМСДЕФШ ПЮЕОШ УФТБООП. дПМЦОБ
# ИТБОЙФШУС Ч ФПК ЦЕ ДЙТЕЛФПТЙЙ, ЮФП Й ЙЛПОЛБ, ПРЙУБООБС ФЕЗПН icon_image

statusmap_image 3Com.gd2
# йНС ЖБКМБ, ЗДЕ ИТБОЙФУС ЙЪПВТБЦЕОЙЕ, ЛПФПТПЕ ВХДЕФ ЙУРПМШЪПЧБФШУС ЛБЛ ЙЛПОЛБ
# ИПУФБ ОБ РМПУЛПК УЕФЕЧПК ЛБТФЕ. нПЦЕФ ВЩФШ Ч ЖПТНБФЕ PNG, JPG, GIF,
# ОП ЧУЕ-ФБЛЙ МХЮЫЕ, ЕУМЙ ДМС ЬФПЗП ЖБМБ ВХДЕФ ЙУРПМШЪПЧБФШУС ЖПТНБФ GD2,
# РПФПНХ ЮФП ДМС ЛБЦДПЗП ГЙЛМБ ТЙУПЧБОЙС ЛБТФЩ ЙЛПОЛБ ВХДЕФ УОПЧБ Й УОПЧБ
# РТЙЧПДЙФШУС Л ЧЙДХ, ХДПВОПНХ ДМС ВЙВМЙПФЕЛЙ GD. б ЬФП ЪОБЮЙФ, ЮФП НЩ ВХДЕФ
# ЪТС ЧЩРПМОСФШ ПДОЙ Й ФЕ ЦЕ ВЕУРПМЕЪОЩЕ ЧЩЮЙУМЕОЙС. нПЦЕФ УПДЕТЦБФШ ЧОХФТЙ
# УЕВС РТПЪТБЮОЩЕ ПВМБУФЙ. цЕМБФЕМШОП ЮФПВЩ ЙЛПОЛЙ ВЩМЙ ТБЪНЕТПН 40x40
# РЙЛУЕМЕК. тБУРПМБЗБФШУС ПОЙ ДПМЦОЩ Ч ДЙТЕЛФПТЙЙ logos.
# пВЩЮОП ЬФБ ДЙТЕЛФПТЙС ОБИПДЙФУС Ч /usr/local/nagios/share/images/logos

2d_coords 160,99
# дЧХНЕТОЩЕ ЛППТДЙОБФЩ ФПЮЛЙ, Ч ЛПФПТПК ВХДЕФ ОБИПДЙФШУС ГЕОФТ ЙЛПОЛЙ ИПУФБ
# ОБ РМПУЛПК ЛБТФЕ. нПЗХФ ВЩФШ ФПМШЛП РПМПЦЙФЕМШОЩНЙ ЮЙУМБНЙ.
# тЙУПЧБОЙЕ ЛБТФЩ ОБЮЙОБЕФУС ЙЪ ФПЮЛЙ 0,0 ЛПФПТБС СЧМСЕФУС ЧЕТИОЙН МЕЧЩН ХЗМПН ЛБТФЩ.
# лППТДЙОБФЩ РЕТЕЮЙУМСАФУС Ч УМЕДХАЭЕН РПТСДЛЕ x, y,

3d_coords 20.0,32.0,6.0
# лППТДЙОБФЩ ГЕОФТБ ЛХВБ, УЙНЧПМЙЪЙТХАЭЕЗП ИПУФ Ч РТПУФТБОУФЧЕ ФТЕИНЕТОПК
# ЛБТФЩ. нПЗХФ ВЩФШ ЛБЛ РПМПЦЙФЕМШОЩНЙ, ФБЛ Й ПФТЙГБФЕМШОЩНЙ ЮЙУМБНЙ.
# тБЪНЕТ ПДОПК УФПТПОЩ ЛХВБ 0.5 ЕДЙОЙГ.
# пФТЙУПЧЛБ ЛБТФЩ ОБЮЙОБЕФУС ГЕОФТБ ФТЕИНЕТОПК ЛБТФЩ, ЛПФПТЩК
# ОБИПДЙФУС Ч ФПЮЛЕ У ЛППТДЙОБФБНЙ 0.0, 0.0, 0.0.
# лППТДЙОБФЩ РЕТЕЮЙУМСАФУС Ч УМЕДХАЭЕН РПТСДЛЕ x, y, z
notes_url http://192.168.80.2/nagios/notes/3com_lan.txt
# уУЩМЛБ ОБ БДТЕУ, РП ЛПФПТПНХ МЕЦЙФ ЖБКМ c ДПРПМОЙФЕМШОЩНЙ УЧЕДЕОЙСНЙ П ИПУФЕ
# рТЙ ЭЕМЛЕ ОБ УРЕГЙБМШОЩК ЪОБЮПЛ Ч ВТБХЪЕТЕ ВХДЕФ ПФЛТЩФ ЬФП ЖБКМ
# ьФП РПМЕЪОП ДМС ЪБРЙУЙ ЧУСЮЕУЛЙИ УЧЕДЕОЙК, ЛПФПТЩЕ ОЕ ЧМЕЪМЙ Ч УФБОДБТФОЩК
# ЫБВМПО ПРЙУБОЙС ИПУФБ Nagios. оБРТЙНЕТ, ФБН НПЦОП ОБРЙУБФШ ДБООЩЕ, ПФЧЕЮБАЭЙЕ
# ОБ ЧПРТПУ, ЛФП ЙЪ БДНЙОЙУФТБФПТПЧ ПФЧЕЮБЕФ ЪБ ХРТБЧМЕОЙЕ ЬФЙН УЕТЧЕТПН. й Л ЛПНХ
# ПВТБЭБФШУС Ч УМХЮБЕ РТПВМЕН.
# пВТБФЙФЕ ЧОЙНБОЙЕ ОБ URL, ЙУРПМШЪХЕНЩК ДМС ХЛБЪБОЙС РХФШ Л ЖБКМХ. дМС ФПЗП, ЮФПВЩ
# ЖБКМЩ У ЪБРЙУЛБНЙ НПЦОП ВЩМП ИТБОЙФШ ОБ ФПН ЦЕ ИПУФЕ, ЮФП Й Nagios, С УПЪДБМ
# ДЙТЕЛФПТЙА /usr/local/nagios/share/notes, Й РПЬФПНХ НЩ ФЕРЕТШ НПЦЕН РПМХЮЙФШ Л ОЕК ДПУФХР
# ЙНЕООП РП ФБЛПНХ URL.
}

define hostextinfo{
host_name Win_2000
notes_url http://listios.lan.domain.ru/Win_2000.html
# лУФБФЙ, УФПЙФ ПФНЕФЙФШ, ЮФП ДПВБЧПЮОЩЕ ЪБРЙУЛЙ П ИПУФБИ НПЗХФ ИТБОЙФШ
# ОЕ ФПМШЛП ОБ ФПН ЦЕ ИПУФЕ, ЗДЕ ТБВПФБЕФ Nagios, ОП Й ОБ МАВПН ДТХЗПН.
# зМБЧОПЕ, ЮФПВЩ ФБН ТБВПФБМ web-УЕТЧЕТ Й URL ВЩМ РТБЧЙМШОП РТПРЙУБО
icon_image win40.png
icon_image_alt Windows workstation
vrml_image win40.png
statusmap_image win40.gd2
2d_coords 163,195
3d_coords 15.0,38.0,6.0
}

define hostextinfo{
host_name Linux
notes_url http://10.10.5.7/hostinfo.pl?host=Linux1
# ч ЛБЮЕУФЧЕ URL ДМС ИТБОЕОЙС ДПВБЧПЮОЩИ ЪБРЙУПЛ НПЦОП ЙУРПМШЪПЧБФШ ДБЦЕ
# CGI. ч ЪБЧЙУЙНПУФЙ ПФ ДБООЩИ, РЕТЕДБООЩИ Ч ЪБРТПУЕ, ЧЩ ВХДЕФ РПМХЮБФШ
# УЧЕДЕОЙС П ФПН ЙМЙ ЙОПН ИПУФЕ.
icon_image_alt Linux Workstation
vrml_image mandrake.gd2
statusmap_image mandrake.gd2
2d_coords 60,198
3d_coords 30.0,38.0,6.0
}

define hostextinfo{
host_name Mail
notes_url http://192.168.80.2/nagios/notes/mail.html
icon_image MailServer.png
icon_image_alt Mail Server
vrml_image MailServer.png
statusmap_image MailServer.gd2
2d_coords 520,183
3d_coords 20.0,44.0,6.0
}

define hostextinfo{
host_name WWW
notes_url http://192.168.80.2/nagios/notes/www_notes.html
icon_image openbsd.png
icon_image_alt WWW Server
vrml_image openbsd.gd2
statusmap_image openbsd.gd2
2d_coords 439,186
3d_coords 20.0,54.0,6.0
}

define hostextinfo{
host_name Inner_Firewall
notes_url http://192.168.80.2/nagios/notes/inner_fw_notes.html
icon_image freebsd40.png
icon_image_alt Inner Firewall
vrml_image freebsd40.png
statusmap_image freebsd40.gd2
2d_coords 326,96
3d_coords 17.0,55.0,6.0
}

define hostextinfo{
host_name Outer_Firewall
notes_url http://192.168.80.2/nagios/notes/outer_fw_notes.html
icon_image firebox_small.png
icon_image_alt Outer Firewall
vrml_image firebox_small.png
statusmap_image firebox_small.gd2
2d_coords 620,80
3d_coords 16.0,42.0,6.0
}

define hostextinfo{
host_name 3com_Dmz
notes_url http://192.168.80.2/nagios/notes/3com_dmz.html
icon_image 3Com.png
icon_image_alt 3Com DMZ LAN Switch
vrml_image 3Com.png
statusmap_image 3Com.gd2
2d_coords 480,73
3d_coords 14.0,56.0,6.0
}

фЕРЕТШ РТЙЫМП УБНПЕ ЧТЕНС ПВУХДЙФШ УПДЕТЦЙНПЕ ЖБКМБ serviceextinfo.cfg. рТЙОГЙРЩ РПУФТПЕОЙС ПВПЙИ ЖБКМПЧ ДПЧПМШОП УИПЦЙ.

define serviceextinfo{
host_name WWW
# йНС ИПУФБ,ОБ ЛПФПТПН ТБВПФБЕФ УЕТЧЙУ

service_description HTTP
# йНС УЕТЧЙУБ ЙЪ ЖБКМБ services.cfg


# хЦЕ НОПЗПЛТБФОП ЧЙДЕООЩК ОБНЙ URL ДМС ДПРПМОЙФЕМШОЩИ ЪБРЙУПЛ

icon_image apache.png
# йНС ЖБКМБ ЙЛПОЛЙ, ЛПФПТБС ВХДЕФ ПФПВТБЦБФШУС ТСДПН У ЙНЕОЕН УЕТЧЙУБ
# йЛПОЛБ НПЦЕФ ВЩФШ Ч ЖПТНБФЕ GIF, PNG ЙМЙ JPG. нПЦЕФ УПДЕТЦБФШ ЧОХФТЙ
# УЕВС РТПЪТБЮОЩЕ ПВМБУФЙ. цЕМБФЕМШОП, ЮФПВЩ ЙЛПОЛЙ ВЩМЙ ТБЪНЕТПН 40x40
# РЙЛУЕМЕК. тБУРПМБЗБФШУС ПОЙ ДПМЦОЩ Ч ДЙТЕЛФПТЙЙ logos.
# пВЩЮОП ЬФБ ДЙТЕЛФПТЙС ОБИПДЙФУС Ч /usr/local/nagios/share/images/logos

icon_image_alt Web Service
# оБДРЙУШ, ПФПВТБЦБЕНБС, ЕУМЙ web-УЕТЧЕТХ ОЕ ХДБЕФУС ЪБЗТХЪЙФШ ЙЛПОЛХ РТЙЧСЪБООХА,
# Л УЕТЧЙУХ
}

define serviceextinfo{
host_name WWW
service_description SMTP
notes_url http://192.168.80.2/nagios/notes/service_www.html
icon_image apache.png
icon_image_alt Web Service
}

define serviceextinfo{
host_name Mail
service_description SMTP
notes_url http://192.168.80.2/nagios/notes/service_smtp.html
icon_image smtp.png
icon_image_alt Web Service
}

define serviceextinfo{
host_name Mail
service_description POP3
notes_url http://192.168.80.2/nagios/notes/service_pop3.html
icon_image pop3_imap.png
icon_image_alt Web Service
}

define serviceextinfo{
host_name Mail
service_description IMAP
notes_url http://192.168.80.2/nagios/notes/service_imap.html
icon_image pop3_imap.png
icon_image_alt Web Service
}

дМС ФПЗП, ЮФПВЩ Nagios ХЧЙДЕМ УПЪДБООЩЕ ОБНЙ ЖБМЩ hostextinfo.cfg, serviceextinfo.cfg, ОХЦОП ЧОЕУФЙ Ч ЖБКМ cgi.cfg УМЕДХАЭЙЕ ДЙТЕЛФЙЧЩ.

Xedtemplate_config_file=/usr/local/nagios/etc/hostextinfo.cfg xedtemplate_config_file=/usr/local/nagios/etc/serviceextinfo.cfg

с ДХНБА, ЧЩ УНПЦЕФЕ УБНПУФПСФЕМШОП РПМПЦЙФШ ЖБКМЩ ЙЛПОПЛ Ч ДЙТЕЛФПТЙА /usr/local/nagios/share/images/logos/. лУФБФЙ, УФПЙФ ПВСЪБФЕМШОП ХВЕДЙФШУС, ЮФП ЧУЕ ЖБКМЩ, УПЪДБЧБЕНЩЕ ЧБНЙ, РТЙОБДМЕЦБФ РПМШЪПЧБФЕМА, ПФ ЙНЕОЙ ЛПФПТПЗП ТБВПФБЕФ Nagios, ЙОБЮЕ ЧЩ ВХДЕФЕ ПЮЕОШ ДПМЗП ОЕДПХНЕЧБФШ, РПЮЕНХ ОЙЛБЛЙИ ЙЪНЕОЕОЙК Ч ЛБТФБИ ОЕ ЧЙДОП, ИПФС ЧУЕ УДЕМБОП ФПЮОП, ЛБЛ Ч ЬФПК УФБФШЕ. л ФБЛЙН ЖБКМБН ПФОПУСФУС hostextinfo.cfg serviceextinfo.cfg ЙЛПОЛЙ, ЪБРЙУЛЙ Й РТПЮБС НЕМЛБС ЦЙЧОПУФШ.

лУФБФЙ, УПЪДБЧБФШ УБНПУФПСФЕМШОП ЖБКМЩ ЙЛПОПЛ Ч ЖПТНБФЕ ВЙВМЙПФЕЛЙ GD ДПЧПМШОП РТПУФП. нЩ ЗПЧПТЙМЙ ПВ ЬФЙИ ЖБКМБИ ЧП ЧТЕНС ПВУХЦДЕОЙС ФЕЗБ statusmap_image ЖБКМБ hostextinfo.cfg. дМС ЬФПЗП ОХЦОП ЧЪСФШ ЖБКМЩ ЙЛПОЛЙ Ч ЖПТНБФЕ png Й РТЕПВТБЪПЧБФШ ЕЗП Ч ЖПТНБФ GD У РПНПЭША ХФЙМЙФЩ pngtogd2, РПУФБЧМСЧЫЕКУС ЧНЕУФЕ У ВЙВМЙПФЕЛПК GD. цЕМБФЕМШОП, ЮФПВЩ УПЪДБЧБЕНЩК ЖБКМ ВЩМ УПИТБОЕО ВЕЪ ЛПНРТЕУУЙЙ ЙЪПВТБЦЕОЙС. ьФП РПЪЧПМЙФ ХЧЕМЙЮЙФШ УЛПТПУФШ ТБВПФЩ ЖХОЛГЙК ВЙВМЙПФЕЛЙ GD, ПФЧЕЮБАЭЙИ ЪБ ЪБЗТХЪЛХ Ч РБНСФШ Й ТЙУПЧБОЙЕ ЙЛПОПЛ ЧОХФТЙ ЙОФЕТЖЕКУБ Nagios. еУМЙ ДБООЩЕ ЧОХФТЙ ЖБКМБ ОЕ УЦБФЩ, ЪОБЮЙФ ОЕ ОХЦОП ФТБФЙФШ ЧТЕНС ОБ ЙИ ТБУРБЛПЧЛХ. хЮЙФЩЧБС НБМЩК ТБЪНЕТ ОБЫЙИ ЛБТФЙОПЛ, УЦБФЙЕ ОЕ РТЙОЕУЕФ ОЙЛБЛПК ЧЩЗПДЩ.

оБРТЙНЕТ, ДМС ЛПОЧЕТФБГЙЙ ЖБКМБ www.png Ч www.gd2 ОХЦОП РПДБФШ УМЕДХАЭХА ЛПНБОДХ.

$ /usr/local/bin/png2gd2 www.png www.gd2 4000 1

с ДХНБА, У РЕТЧЩНЙ ДЧХНС РБТБНЕФТБНЙ ЧУЕ СУОП. фТЕФЙК ХЛБЪЩЧБЕФ ТБЪНЕТ РПТГЙЙ ЛПДЙТПЧБОЙС, Й ЮЕФЧЕТФЩК - ЬФП, УППФЧЕФУФЧЕООП, ОБМЙЮЙЕ ЛПНРТЕУУЙЙ. рПУМЕ ОЕЛПФПТПЗП ЛПМЙЮЕУФЧБ ОБВМАДЕОЙК ЪБНЕЮЕОП, ЮФП Ч ЛБЮЕУФЧЕ ТБЪНЕТБ РПТГЙЙ ЛПДЙТПЧБОЙС НПЦОП РЙУБФШ ЛБЛПЕ ХЗПДОП ЮЙУМП. дМС ЙУИПДОЩИ ЖБКМПЧ НБМПЗП ТБЪНЕТБ, Л ЛПФПТЩН ПФОПУСФУС Й ОБЫЙ ЙЛПОЛЙ, ЬФПФ РБТБНЕФТ УНЩУМБ ОЕ ЙНЕЕФ.

й ОЕ ЪБВХДШФЕ РПДБФШ РТПГЕУУХ nagios ЛПНБОДХ reload, ЛПФПТБС ЪБУФБЧЙФ ЕЗП ПВОПЧЙФШ ЛПОЖЙЗХТБГЙА. чП FreeBSD ЬФП ПВЩЮОП ДЕМБЕФУС ФБЛ /usr/local/etc/rc.d/nagios.sh reload.

еУМЙ ЕУФШ ЦЕМБОЙЕ, НПЦОП ОБТЙУПЧБФШ УЧПЙ УПВУФЧЕООЩЕ ЙЛПОЛЙ Й ЙУРПМШЪПЧБФШ ЙИ ЧНЕУФП УФБОДБТФОЩИ. с ЙНЕООП ФБЛ РПУФХРЙМ У УЕТЧЙУБНЙ HTTP, SMTP, POP3 Й IMAP. дМС HTTP ЙУРПМШЪПЧБМПУШ РЕТП, РПФЕТСООПЕ ЙОДЕКГЕН Apache, Б ДМС ЧУЕИ ПУФБМШОЩИ ЙЪПВТБЦЕОЙЕ ПФЛТЩФПЗП Й ЪБЛТЩФПЗП РПЮФПЧПЗП ЛПОЧЕТФБ. й ИПФС ЛБТФЙОЛЙ РПМХЮЙМЙУШ ТБЪНЕТПН ЮХФШ ВПМЕЕ, ЮЕН 40x40 РЙЛУЕМЕК, Nagios ТБВПФБМ У ОЙНЙ ДПЧПМШОП ИПТПЫП. рПМАВПЧБФШУС ОБ ТЕЪХМШФБФ НПЦОП ОБ УМЕДХАЭЕК ЛБТФЙОЛЕ.


фЕРЕТШ Х ЛБЦДПЗП ИПУФБ Й УЕТЧЙУБ ЕУФШ ОЕ ФПМШЛП МЙЮОБС ЙЛПОЛБ, ОП Й ОБ УФТБОЙЮЛЕ У РПДТПВОПК ЙОЖПТНБГЙЕК П ЛБЦДПН ЙЪ ОЙИ ЧПЪОЙЛМП ЧПФ ФБЛПЕ ЙЪПВТБЦЕОЙЕ.

еУМЙ ОБЦБФШ ОБ ОЕЗП, ФП НПЦОП РПЮЙФБФШ ДПРПМОЙФЕМШОЩЕ УЧЕДЕОЙС ЙЪ ЖБКМБ, ЛПФПТЩК НЩ ПРЙУБМЙ ФЕЗПН notes_url.

лППТДЙОБФЩ ФПЮЕЛ, Ч ЛПФПТЩИ ДПМЦОЩ ТЙУПЧБФШУС ЙЛПОЛЙ Й ПВЯЕЛФЩ ОБЫЙИ ИПУФПЧ ОБ РМПУЛПК Й ФТЕИНЕТОПК ЛБТФБИ УЕФЙ, ОЕ ВХДХФ ЙУРПМШЪПЧБФШУС Nagios ДП ФЕИ РПТ, РПЛБ НЩ ОЕ ЧЩУФБЧЙН ЧПФ ФБЛЙН ПВТБЪПН ЪОБЮЕОЙС ФЕЗПЧ default_statusmap_layout Й default_statuswrl_layout Ч ЖБКМЕ cgi.cfg.

Default_statusmap_layout=0 default_statuswrl_layout=0

еУМЙ ЧУЕ УДЕМБМЙ РТБЧЙМШОП, ФП РМПУЛБС ЛБТФБ УЕФЙ ВХДЕФ ЧЩЗМСДЕФШ ЧПФ ФБЛ. чРЕЮБФМСЕФ, ОЕ РТБЧДБ МЙ?


фТЕИНЕТОБС ЛБТФБ ЧЩЗМСДЙФ ФПЦЕ ДПЧПМШОП ИПТПЫП. й УБНПЕ РТЙСФОПЕ Ч ЬФПН ФП, ЮФП Ч ФТЕИНЕТОПЕ РТПУФТБОУФЧП НПЦОП ДПВБЧЙФШ, ОБРТЙНЕТ, РПДТПВОЩК НБЛЕФ ЪДБОЙС, Ч ЛПФПТПН ЬФБ УЕФШ ОБИПДЙФУС, Й РПУФБЧЙФШ УЕТЧЕТБ Ч ОХЦОЩИ РПНЕЭЕОЙСИ. оП ПВ ЬФПН НЩ РПЗПЧПТЙН Ч ДТХЗПК УФБФШЕ. оХ Б ЕУМЙ ЧНЕУФП ЧПЦДЕМЕООПК ЛБТФЩ ОБ ЬЛТБОЕ РПСЧЙМБУШ УМЕДХАЭБС ОБДРЙУШ:

You have not supplied any host drawing coordinates, so you cannot use this layout method. Read the FAQs for more information on specifying drawing coordinates or select a different layout method.

ъОБЮЙФ, ЧЩ ЮФП-ФП ОБРХФБМЙ У ФЕЗБНЙ ЛППТДЙОБФ ПФТЙУПЧЛЙ.

еЭЕ ПДОПК ЙЪ РПМЕЪОЩИ ЧПЪНПЦОПУФЕК, ЛПФПТХА НЩ УЕЗПДОС ЙЪХЮЙН, ВХДЕФ ХНЕОЙЕ ДПВБЧМСФШ Ч УФТБОЙГЩ, УПЪДБЧБЕНЩЕ Nagios, УЧПЙ ЧУФБЧЛЙ Й ЪБЗПМПЧЛЙ. лБЦДБС УФТБОЙГБ НПЦЕФ ЙНЕФШ ДЧБ ЪБЗПМПЧЛБ Й ДЧЕ ЧУФБЧЛЙ. пВЩЮОП ФБЛЙН ПВТБЪПН Ч ФЕЛУФ УФТБОЙГЩ НПЦОП ЧУФБЧМСФШ ЛПТРПТБФЙЧОХА УЙНЧПМЙЛХ, УРТБЧПЮОЩЕ ФЕМЕЖПОЩ Й РТПЮЙЕ УЧЕДЕОЙС, ПФОПУСЭЙЕУС Л ЧЩВТБООПК УФТБОЙГЕ.


чУЕ ЪБЗПМПЧЛЙ УФТБОЙГ Й ЧУФБЧЛЙ ДЕМСФУС ОБ ЗМПВБМШОЩЕ Й МПЛБМШОЩЕ. зМПВБМШОЩЕ ДЕКУФЧХАФ ОБ ЧУЕ УФТБОЙГЩ cgi, Б МПЛБМШОЩЕ ФПМШЛП ОБ ФЕ, ДМС ЛПФПТЩИ ПОЙ ВЩМЙ ПРТЕДЕМЕОЩ. фЕЛУФЩ, ЪБРЙУБООЩЕ Ч ЖБКМБИ ЪБЗПМПЧЛПЧ Й ТБЪТЩЧПЧ УФТБОЙГ, ЧУФБЧМСАФУС Ч ОБЮБМП Й ЛПОЕГ ФЕЗБ УФТБОЙГЩ, УПЪДБЧБЕНПК cgi. пВЩЮОП ФЕЛУФ УФТБОЙГЩ РПУМЕ ПВТБВПФЛЙ ЧЩЗМСДЙФ ФБЛ:

ЗМПВБМШОЩК ЪБЗПМПЧПЛ МПЛБМШОЩК ЪБЗПМПЧПЛ РЕТЧПОБЮБМШОЩК ФЕЛУФ ЗМПВБМШОБС ЧУФБЧЛБ МПЛБМШОБС ЧУФБЧЛБ

дБЧБКФЕ РПУНПФТЙН, ЮФП ОХЦОП УДЕМБФШ ДМС ФПЗП, ЮФПВЩ ЬФП ТБВПФБМП ОБ РТЙНЕТЕ ЖБКМБ status.cgi. ч ДЙТЕЛФПТЙЙ /usr/local/nagios/share/ssi ОХЦОП УПЪДБФШ УМЕДХАЭЙЕ ЖБКМЩ

Common-footer.ssi - ЖБКМ ЗМПВБМШОПЗП ЪБЗПМПЧЛБ common-header.ssi - ЖБКМ ЗМПВБМШОПК ЧУФБЧЛЙ status-footer.ssi - ЖБКМ МПЛБМШОПЗП ЪБЗПМПЧЛБ status-header.ssi - ЖБКМ МПЛБМШОПК ЧУФБЧЛЙ

с ДХНБА, ЧУЕ ХЦЕ УППВТБЪЙМЙ, ЮФП ЙНС ДМС ЖБКМПЧ МПЛБМШОПЗП ЪБЗПМПЧЛБ Й МПЛБМШОПК ЧУФБЧЛЙ ПВТБЪХЕФУС У РПНПЭША УТБЭЙЧБОЙС ЙНЕОЙ РПДПРЩФОПЗП ЖБКМБ cgi У ОБДРЙУСНЙ -footer.ssi Й -header.ssi. оХЦОП РПНОЙФШ, ЮФП УПДЕТЦЙНПЕ ЧУЕИ ЧЩЫЕРЕТЕЮЙУМЕООЩИ ЖБКМПЧ РЕТЕД ДПВБЧМЕОЙЕН Ч ГЕМЕЧПК ЖБКМ ОЙЛБЛ ОЕ ПВТБВБФЩЧБЕФУС, ФП ЕУФШ УПЪДБФШ ДЙОБНЙЮЕУЛЙЕ ЪБЗПМПЧЛЙ Й ЧУФБЧЛЙ ВЕЪ ВЕЪХНОЩИ ХИЙЭТЕОЙК ОЕ РПМХЮЙФУС, РПФПНХ ЮФП ОЕФ ЧПЪНПЦОПУФЙ ЙУРПМШЪПЧБФШ Ч ЛБЮЕУФЧЕ ЗЕОЕТБФПТБ ДБООЩИ cgi ЙМЙ ЮФП-МЙВП ДТХЗПЕ. рПМХЮБЕФУС, ЮФП ЧЛМАЮБЕНЩЕ ЖБКМЩ ДПМЦОЩ УПДЕТЦБФШ Ч УЕВЕ ФПМШЛП ЮЙУФЩК html.

дБЧБКФЕ ТБУУНПФТЙН УПДЕТЦЙНПЕ ЧУЕИ ЖБКМПЧ, РТЙНЕОСЧЫЙИУС Ч ЬФП РТЙНЕТЕ:

жБКМ common-footer.ssi


рП ЧПРТПУБН ФЕИРПДДЕТЦЛЙ ПВТБЭБФШУС ОБ [email protected] ЙМЙ
http://onix.opennet.ru>


жБКМ common-header.ssi




жБКМ status-footer.ssi


тБЪДЕМЙФЕМШ УФТБОЙГЩ status.cgi



жБКМ status-header.ssi


фЕУФПЧЩК ЪБЗПМПЧПЛ status.cgi>


лБЛ ЧЩ НПЗМЙ ХВЕДЙФШУС, ЧУЕ ЬФП ТБВПФБЕФ ДПЧПМШОП РТПУФП. еЭЕ ПДОПК ЧЛХУОПУФША, ЛПФПТПК С У ЧБНЙ РПДЕМАУШ, ВХДЕФ УРПУПВОПУФШ РТЙЧСЪЩЧБФШ РТПЙЗТЩЧБОЙЕ ЪЧХЛПЧЩИ ЖБКМПЧ Л ПРТЕДЕМЕООЩН УПВЩФЙСН. оБРТЙНЕТ, НПС УЙУФЕНБ НПОЙФПТЙОЗБ РТЙ ХНЙТБОЙЙ ЛБЛПЗП МЙВП УЕТЧЙУБ ОБЮЙОБЕФ ЙЪПВТБЦБФШ ЦБМПВОП НЩЮБЭХА ЛПТПЧХ. фБЛБС ЧПЪНПЦОПУФШ ПЮЕОШ РПМЕЪОБ ДМС БДНЙОЙУФТБФПТПЧ, ЛПФПТЩЕ ОЕ ИПФСФ РПУФПСООП УНПФТЕФШ ОБ web-ЙОФЕТЖЕКУ Nagios ЙМЙ ЕЦЕНЙОХФОП РТПЧЕТСФШ УЧПК РПЮФПЧЩК СЭЙЛ ОБ РТЕДНЕФ ХЧЕДПНМЕОЙК П РТПВМЕНБИ. оХЦОП ЧУЕЗП МЙЫШ ПФЛТЩФШ Ч ВТБХЪЕТЕ ЙМЙ РТЙЛТЕРЙФШ ОБ Active Desktop ПДОХ ЙЪ ЬФЙИ УФТБОЙГ tac.cgi, status.cgi. рПУМЕ ЬФПЗП НПЦОП НЙОЙНЙЪЙТПЧБФШ ВТБХЪЕТ Й ЪБОЙНБФШУС УЧПЙНЙ ДЕМБНЙ. лБЛ ФПМШЛП УМХЮЙФУС ЛБЛПЕ-МЙВП ЙОФЕТЕУХАЭЙЕ ОБУ УПВЩФЙЕ, Nagios ОБЮОЕФ ЧПУРТПЙЪЧПДЙФШ ЪЧХЛ, УЧСЪБООЩК У ОЙН. дМС ПУХЭЕУФЧМЕОЙС ОБЫЙИ ЦЕМБОЙК ЕУФШ УМЕДХАЭЙЕ ФЕЗЙ:

Host_unreachable_sound - ИПУФ ОЕДПУФХРЕО host_down_sound - ИПУФ ОЕ ТБВПФБЕФ service_critical_sound - УЕТЧЙУ Ч ЛТЙФЙЮЕУЛПН УПУФПСОЙЙ service_warning_sound - УЕТЧЙУ Ч УПУФПСОЙЙ РТЕДХРТЕЦДЕОЙС service_unknown_sound - УПУФПСОЙЕ УЕТЧЙУБ ОЕЙЪЧЕУФОП normal_sound - ЧУЕ ТБВПФБЕФ ПФМЙЮОП, ОЕФ ОЙЛБЛЙИ РТПВМЕН

пРГЙА normal_sound РТБЛФЙЮЕУЛЙ ОЙЛФП ОЕ ЙУРПМШЪХЕФ. оП ОБ ЧУСЛЙК УМХЮБК С ТЕЫЙМ ЕЕ ХРПНСОХФШ.

дМС ФПЗП ЮФПВЩ ЪЧХЛПЧПЕ ПРПЧЕЭЕОЙЕ ЪБТБВПФБМП, ОХЦОП РПНЕУФЙФШ ЖБКМЩ ЪЧХЛПЧ Ч ЖПТНБФЕ wav ЧОХФТШ ДЙТЕЛФПТЙЙ /usr/local/nagios/share/media/, ЛБЛ ЧУЕЗДБ, ОЕ ЪБВЩФШ П РТБЧБИ РПМШЪПЧБФЕМС Й РТЙОБДМЕЦОПУФЙ ЖБКМПЧ. б ЪБФЕН ДПВБЧЙФШ УМЕДХАЭЙЕ ЪБРЙУЙ Ч ЖБКМ cgi.cfg.

Host_unreachable_sound=hostunreachable.wav host_down_sound=host down.wav service_critical_sound=servicecritical.wav service_warning_sound=servicewarning.wav service_unknown_sound=service unknown.wav normal_sound=noproblem.wav

ч УМХЮБЕ,ЕУМЙ Ч РТПГЕУУЕ НПОЙФПТЙОЗБ ВХДЕФ ПВОБТХЦЕОП ПДОПЧТЕНЕООП ОЕУЛПМШЛП РТПВМЕН, Nagios ОБЮОЕФ РТПЙЗТЩЧБФШ ЪЧХЛ ДМС ОБЙВПМЕЕ ЛТЙЮОПК ЙЪ ОЙИ. рПУМЕ ДЕУСФЛБ ЙМЙ ДЧХИ РПЧФПТЕОЙК ПДОПЗП Й ФПЗП ЦЕ ЪЧХЛБ ЧБН, ОБЧЕТОП, ЪБИПЮЕФУС ПФЛМАЮЙФШ ЪЧХЛ. уДЕМБФШ ЬФП ДПЧПМШОП МЕЗЛП: ОХЦОП РТПУФП ЧПКФЙ Ч ТЕЦЙН ХРТБЧМЕОЙС УЕТЧЙУПН ЙМЙ ИПУФПН Й РПДБФШ ЛПНБОДХ РПДФЧЕТЦДЕОЙС РТПВМЕНЩ.

рПУМЕ РПДПВОПК ПВТБВПФЛЙ ЪБРЙУЙ Ч ФБВМЙГЕ УЕТЧЙУПЧ ЙМЙ ИПУФПЧ РТЙНХФ ЧПФ ФБЛПК ЧЙД.


с ДХНБА, ОБ УЕЗПДОС ИЧБФЙФ ЗТЩЪФШ ЗТБОЙФ ОБХЛЙ, Й РПТБ ДБФШ НПЪЗБН ПФДПИОХФШ. рПЪЧПМА УЕВЕ РПРТПЭБФШУС У ЧБНЙ Ч ЬФХ ТБДПУФОХА НЙОХФХ.

Перед конфигурированием nagios нужно установить необходимые зависимости

# apt install build-essential apache2 php libapache2-mod-php7.0 php-gd libgd-dev mailutils

И добавить пользователя и группу, от имени которых будет работать nagios

# useradd nagios # groupadd nagcmd # usermod -a -G nagcmd nagios # usermod -a -G nagcmd www-data

Перейдем в каталог для сборки и скачаем исходный код nagios и плагинов

# cd /usr/src/ # wget https://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.2.3/nagios-4.2.3.tar.gz # wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz

Разархивируем скаченные архивы

# tar xzvf nagios-4.2.3.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

Перейдем в директорию с исходным кодом nagios и выполним конфигурирование

# cd nagios-4.2.3 # ./configure --prefix=/etc/nagios --with-command-group=nagcmd --with-httpd-conf=/etc/apache2/sites-available --with-mail=/usr/bin/mail

Выполним сборку

# make all

Установим nagios

# make install

Установим init скрипт в /etc/init.d и активируем авто запуск

# make install-init # update-rc.d nagios defaults

Установим права на директорию для хранения внешних командных файлов

# make install-commandmode

Установим конфигурационные файлы nagios

# make install-config

Установим конфигурацию nagios для apache

# make install-webconf

Скопируем в каталок с nagios скрипты обработки событий внешних командных файлов и выставим владельца на папку

# cp -R contrib/eventhandlers/ /etc/nagios/libexec/ # chown -R nagios:nagios /etc/nagios/libexec/eventhandlers

Выполним проверку установленной конфигурации

# /etc/nagios/bin/nagios -v /etc/nagios/etc/nagios.cfg

# make # make install

Включим конфигурацию nagios в apache и активируем необходимые дополнения

# a2ensite nagios # a2enmod rewrite cgi

Перезапустим службу apache

# service apache2 restart

Запустим nagios и проверим статус

# service nagios start # service nagios status ● nagios.service - Nagios Loaded: loaded (/etc/systemd/system/nagios.service; enabled; vendor preset: enabled) Active: active (running)

Добавим администратора nagios

# htpasswd -c /etc/nagios/etc/htpasswd.users nagiosadmin

Теперь разберемся с конфигурационными файлами nagios.

/etc/nagios/etc/cgi.cfg — определяет настройки веб интерфейса, а так же права доступа к web консоли nagios.

/etc/nagios/etc/htpasswd.users — база пользователей и их паролей для доступа к web интерфейсу nagios.

/etc/nagios/etc/nagios.cfg — содержит в себе основные настройки и пути к *.cfg файлам.

/etc/nagios/etc/resource.cfg — здесь определена переменная, до каталога с плагинами.

/etc/nagios/etc/objects/commands.cfg — содержит определения команд.

/etc/nagios/etc/objects/contacts.cfg — определяет почтовые контакты, на которые будет происходит отправка оповещений nagios.

/etc/nagios/etc/objects/templates.cfg — содержит шаблоны контактов, хостов и сервисов.

/etc/nagios/etc/objects/timeperiods.cfg — содержит определения временных периодов.

/etc/nagios/etc/objects/localhost.cfg — конфигурация для мониторинга самого сервера nagios. В ней определен сам хост, хостовая группа для linux серверов и сервисы мониторинга.

/etc/nagios/etc/objects/printer.cfg — конфигурация для мониторинга принтера. В ней определен произвольный принтер, хостовая группа для принтеров и сервисы мониторинга.

/etc/nagios/etc/objects/switch.cfg — конфигурация для мониторинга свитча. В ней определен произвольный свитч, хостовая группа для свитчей и сервисы мониторинга.

/etc/nagios/etc/objects/windows.cfg — конфигурация для мониторинга произвольного windows хоста. В ней определен произвольный windows хост, хостовая группа для windows серверов и сервисы мониторинга.

Из описания видно, что localhost.cfg, printer.cfg, switch.cfg и windows.cfg содержат в себе определения хост групп. Для удобства имеет смысл выделить их в отдельный файл /etc/nagios/etc/objects/hostgroups.cfg . Соответственно в изначальном файле их нужно закоментировать. Описание одного и того же объекта не должно повторятся в разных конфигурационных файлах. Так же мы добавим файл /etc/nagios/etc/objects/servicegroups.cfg , в котором будут определены сервисные группы. Так как в данной публикации производится настройка мониторинга для linux и windows хостов, мы определим группы для них. Для принтеров и свитчей группы определяются по аналогии. Так же мы создадим папку /etc/nagios/etc/servers/, в которой будут храниться файлы, определяющие хосты для мониторинга. Внесем соответствующие изменения в файл nagios.cfg

# nano /etc/nagios/etc/nagios.cfg . . . # You can specify individual object config files as shown below: cfg_file=/etc/nagios/etc/objects/commands.cfg cfg_file=/etc/nagios/etc/objects/contacts.cfg cfg_file=/etc/nagios/etc/objects/timeperiods.cfg cfg_file=/etc/nagios/etc/objects/templates.cfg # Definitions for hostgroups and servicegroups cfg_file=/etc/nagios/etc/objects/hostgroups.cfg cfg_file=/etc/nagios/etc/objects/servicegroups.cfg # Definitions for monitoring the local (Linux) host cfg_file=/etc/nagios/etc/objects/localhost.cfg # Definitions for monitoring a Windows machine #cfg_file=/etc/nagios/etc/objects/windows.cfg # Definitions for monitoring a router/switch #cfg_file=/etc/nagios/etc/objects/switch.cfg # Definitions for monitoring a network printer #cfg_file=/etc/nagios/etc/objects/printer.cfg # You can also tell Nagios to process all config files (with a .cfg # extension) in a particular directory by using the cfg_dir # directive as shown below: cfg_dir=/etc/nagios/etc/servers #cfg_dir=/etc/nagios/etc/printers #cfg_dir=/etc/nagios/etc/switches #cfg_dir=/etc/nagios/etc/routers . . .

Создадим файлы для хост и сервис групп и выставим на них права

# cd /etc/nagios/etc/objects/ # touch hostgroups.cfg servicegroups.cfg # chown nagios:nagios hostgroups.cfg servicegroups.cfg # chmod 664 hostgroups.cfg servicegroups.cfg

Создадим каталог /etc/nagios/etc/servers / и выставим на него права

# mkdir /etc/nagios/etc/servers/ # chown nagios:nagios /etc/nagios/etc/servers/ # chmod 775 /etc/nagios/etc/servers/

Добавим в hostgroups.cfg определения хост групп для linux и windows серверов из localhost.cfg и windows.cfg соответственно

# nano /etc/nagios/etc/objects/hostgroups.cfg # Define an optional hostgroup for Linux machines # All hosts that use the linux-server template will automatically be a member of this group define hostgroup{ hostgroup_name linux-servers ; The name of the hostgroup alias Linux Servers ; Long name of the group } # Define a hostgroup for Windows machines # All hosts that use the windows-server template will automatically be a member of this group define hostgroup{ hostgroup_name windows-servers ; The name of the hostgroup alias Windows Servers ; Long name of the group }

Так как в nagios.cfg путь к windows.cfg закоментирован, коментировать определение хост групп в windows.cfg не обязательно, а вот в localhost.cfg это обязательное действие

# nano /etc/nagios/etc/objects/localhost.cfg . . . # 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 ; Comma separated list of hosts that belong to this group # } . . .

При создании объекта windows сервер, он автоматически становится членом группы windows-servers. Это действие определено в файле шаблонов templates.cfg. Чтобы linux сервера попадали автоматически в группу linux-servers, нужно сделать следующее изменение

# nano /etc/nagios/etc/objects/templates.cfg . . . # Linux host definition template - This is NOT a real host, just a template! define host{ name linux-server ; The name of this host template use generic-host ; This template inherits other values from the generic-host template check_period 24x7 ; By default, Linux hosts are checked round the clock check_interval 5 ; Actively check the host every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each Linux host 10 times (max) check_command check-host-alive ; Default command to check Linux hosts notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day ; Note that the notification_period variable is being overridden from ; the value that is inherited from the generic-host template! notification_interval 120 ; Resend notifications every 2 hours notification_options d,u,r ; Only send notifications for specific host states contact_groups admins ; Notifications get sent to the admins by default hostgroups linux-servers ; Host groups that linux servers should be a member of register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! } . . .

Для настройки оповещения, нужно указать email администратора системы в contacts.cfg

# nano /etc/nagios/etc/objects/contacts.cfg . . . define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email admin@сайт ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** } . . .

# service nagios restart

Проверить работоспособность оповещений, можно следующим способом, в web интерфейсе выбрать слева «Hosts», далее нажимаем на «localhost», в меню справа нажимаем «Send custom host notification», пишем что угодно в строку «Comment» и нажимаем «Commit».

На почту, указанную в contacts.cfg должно прийти оповещение.


Немного о плагинах

В папке /etc/nagios/libexec располагаются установленные плагины. В начале статьи было отмечено, что nagios получает всю информацию через плагины. Для примера посмотрим uptime системы

# /etc/nagios/libexec/check_uptime Uptime OK: 0 day(s) 3 hour(s) 52 minute(s) | uptime=232.000000;;;

Большинство плагинов работаю только с аргументами, к примеру посмотрим статус файла подкачки системы

# /etc/nagios/libexec/check_swap -w 20 -c 10 SWAP OK - 100% free (2044 MB out of 2044 MB) |swap=2044MB;0;0;0;2044

Здесь есть два аргумента -w 20 и -c 10.

w — warning, когда останется 20% свободного места, будет происходить событие warning.

c — critical, когда останется 10% свободного места, будет происходить событие critical.

Так же плагины бывают локальные и «общие». Приведенные выше примеры, относятся к локальным. К примеру плагином check_swap не удастся посмотреть статус файла подкачки на удаленном хосте, а вот плагином check_ping можно проверить доступность и локального и удаленного хоста

# /etc/nagios/libexec/check_ping -H localhost -w 100.0,20% -c 500.0,60% PING OK - Packet loss = 0%, RTA = 0.04 ms|rta=0.036000ms;100.000000;500.000000;0.000000 pl=0%;20;60;0 # /etc/nagios/libexec/check_ping -H 192.168.1.16 -w 100.0,20% -c 500.0,60% PING OK - Packet loss = 0%, RTA = 0.27 ms|rta=0.273000ms;100.000000;500.000000;0.000000 pl=0%;20;60;0


Немного о NRPE

NRPE — Nagios Remote Plugin Executor. Для того, чтобы nagios мог получать информацию от удаленных хостов, такую как загрузка диска, или процессора, используется nrpe плагин. Nagios обращается через nrpe плагин, к nrpe серверу, установленному на удаленном linux/Unix хосте. Nrpe сервер запускает локальные плагины, и передает nagios серверу полученную информацию. Важно! nrpe сервер и плагин должны быть одной версии, иначе могут возникать ошибки.


Установка NRPE плагина

Перед установкой nrpe плагина, нужно установить зависимость

# apt install libssl-dev

Скачать последнюю версию nrpe можно с сайта nagios . Перейдем в каталог для сборки, скачаем и разархивируем последнюю версию nrpe

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # tar xzvf 3.0.1.tar.gz

Перейдем в папку с nrpe и выполним конфигурирование

Выполним сборку и установку nrpe плагина

# make check_nrpe # make install-plugin

Добавим в /etc/nagios/etc/objects/commands.cfg поддержку nrpe

# nano /etc/nagios/etc/objects/commands.cfg . . . # "check_nrpe" command definition define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } . . .

После проделанных изменений нужно перезапустить службу nagios

# service nagios restart


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

На linux хосте, который мы будем мониторить, нужно установить nrpe сервер, и плагины.

Установим необходимые зависимости

# apt install build-essential libssl-dev

Перейдем в каталог для сборки, скачаем nrpe, плагины и разархивируем их

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz # tar xzvf 3.0.1.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

Перейдем в каталог с nrpe и выполним конфигурирование

# cd nrpe-3.0.1 # ./configure --prefix=/etc/nagios

Выполним сборку

# make nrpe

Добавим пользователя и группу, от имени которых будет работать nrpe сервер

# make install-groups-users

Выполним установку сервера и конфигурационного файла

# make install-daemon # make install-config

Установим стартовый скрипт

# make install-init # systemctl enable /lib/systemd/system/nrpe.service

Перейдем в директорию с исходным кодом плагинов и выполним конфигурирование

# cd /usr/src/nagios-plugins-2.1.4/ # ./configure --prefix=/etc/nagios --with-nagios-user=nagios --with-nagios-group=nagios

Выполним сборку и установку плагинов

# make # make install

В /etc/nagios/etc/nrpe.cfg разрешим nagios серверу получать информацию о системе, а так же укажем истинное название раздела диска для мониторинга, в предопределенной команде

Nano /etc/nagios/etc/nrpe.cfg . . . allowed_hosts=127.0.0.1, 192.168.1.13 . . . command=/etc/nagios/libexec/check_users -w 5 -c 10 command=/etc/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1 command=/etc/nagios/libexec/check_procs -w 5 -c 10 -s Z command=/etc/nagios/libexec/check_procs -w 150 -c 200 . . .

192.168.1.13 нужно заменить на адрес своего nagios сервера.
Запустим nrpe сервер и проверим его статус

# service nrpe start # service nrpe status ● nrpe.service - Nagios Remote Program Executor Loaded: loaded (/lib/systemd/system/nrpe.service; enabled; vendor preset: enabled) Active: active (running)


Добавление linux хоста в систему мониторинга

Для этого мы создадим файл linux-server.cfg в папке servers

# nano /etc/nagios/etc/servers/linux-serv.cfg define host{ use linux-server host_name linux-serv alias linux-serv address 192.168.1.12 } define service{ use generic-service host_name linux-serv service_description CPU Load check_command check_nrpe!check_load } define service{ use generic-service host_name linux-serv service_description Current Users check_command check_nrpe!check_users } define service{ use generic-service host_name linux-serv service_description /dev/sda1 Free Space check_command check_nrpe!check_sda1 } define service{ use generic-service host_name linux-serv service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use generic-service host_name linux-serv service_description Zombie Processes check_command check_nrpe!check_zombie_procs }

192.168.1.12 нужно заменить на адрес своего linux сервера.
Директива use указывает на имя шаблона в templates.cfg, в котором определены настройки по умолчанию. Для того, чтобы новый хост появился в web интерфейсе нужно перезагрузить службу nagios

# service nagios restart

Для проверки работоспособности nrpe можно выполнить команду

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 NRPE v3.0.1

Для проверки определенного сервиса, нужно добавить аргумент с названием проверки

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 -c check_sda1 DISK OK - free space: /var/tmp 14549 MB (85% inode=88%);| /var/tmp=2527MB;14411;16212;0;18014

Название проверки мы определяли в файле nrpe.cfg

Command[check_sda1 ]=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

и в файле linux-serv.cfg

Define service{ use generic-service host_name linux-serv service_description /dev/sda1 Free Space check_command check_nrpe!check_sda1 }


Мониторинг Windows хостов

Для мониторинга windows хостов используется nt плагин. По умолчанию он входит в состав базовых плагинов, и его не нужно отдельно устанавливать. Через nt плагин nagios обращается к NSClient++, установленному на windows хосте. NSClient++ обращается к определенным модулям, которые сообщают ему информацию о системе. Полученную информацию NSClient++ передает nogios серверу.


Установка NSClient++

На windows хосте нужно установить NSClient++. Скачиваем последнюю версию и запускаем от имени администратора.

Нажимаем «Next»

Снова нажимаем «Next»

Выбираем «Typical»

Указываем адрес nagios сервера, пароль и оставляем две первых галочки. Жмем «Next»

Жмем «Install»

Жмем «Finish»


Добавление windows хоста в систему мониторинга

Для этого мы создадим файл windows-serv.cfg в папке servers

# nano /etc/nagios/etc/servers/windows-serv.cfg define host{ use windows-server host_name windows-serv alias My Windows Server address 192.168.1.33 } define service{ use generic-service host_name windows-serv service_description NSClient++ Version check_command check_nt!CLIENTVERSION } define service{ use generic-service host_name windows-serv service_description Uptime check_command check_nt!UPTIME } define service{ use generic-service host_name windows-serv service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 } define service{ use generic-service host_name windows-serv service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 } define service{ use generic-service host_name windows-serv service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 } define service{ use generic-service host_name windows-serv service_description VMTools check_command check_nt!SERVICESTATE!-d SHOWALL -l VMTools } define service{ use generic-service host_name windows-serv service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -l explorer.exe }

192.168.1.33 нужно заменить на адрес своего windows сервера.
Если при установке NSClient++ клиента указывался пароль, нужно добавить его в commands.cfg

# nano /etc/nagios/etc/objects/commands.cfg . . . # "check_nt" command definition define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s MegaPass -v $ARG1$ $ARG2$ } . . .

И перезапустить службу nagios

# service nagios restart


Определение сервисной группы

Сервисная группа объединяет хосты, по определенным сервисным проверкам. Создадим сервисную группу CPU Load, и объединим хосты по проверке загрузки процессора.

# nano /etc/nagios/etc/objects/servicegroups.cfg define servicegroup{ servicegroup_name cpuload alias CPU Load members linux-serv,CPU Load, localhost,Current Load, windows-serv,CPU Load }

Члены группы определяются в директиве members по принципу
members=,,,,…,n >,n >

Чтобы группа стала доступна, нужно перезапустить службу nagios

# service nagios restart


Расположение связей хостов на карте

По умолчанию все хосты на карте соединены с Nagios Process. Бывают случаи, когда нужно переопределить такое поведение. К примеру связь должна идти не от Nagios Process, а от другой точки на карте (как пример соединение сервера через свитч). Делается это добавлением в секцию описания хоста директивы parents. Для наглядного примера изменим связь windows-serv от Nagios Process к linux-serv

# nano /etc/nagios/etc/servers/windows-serv.cfg define host{ use windows-server host_name windows-serv alias My Windows Server address 192.168.1.33 parents linux-serv } . . .

И перезапустить службу nagios

# service nagios restart

В первом случае все хосты имели связь с Nagios Process, во втором случае связь windows-serv начинается от linux-serv.


Включение иконок

В nagios есть возможность включения иконок рядом с названием хоста. Иконки находятся в папке /etc/nagios/share/images/logos. Можно воспользоваться готовым набором, можно загрузить из интернета. Для включения отображения иконок, нужно добавить следующие строки в templates.cfg

# nano /etc/nagios/etc/objects/templates.cfg . . . # Linux host definition template - This is NOT a real host, just a template! define host{ name linux-server ; The name of this host template use generic-host ; This template inherits other values from the generic-host template check_period 24x7 ; By default, Linux hosts are checked round the clock check_interval 1 ; Actively check the host every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each Linux host 10 times (max) check_command check-host-alive ; Default command to check Linux hosts notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day ; Note that the notification_period variable is being overridden from ; the value that is inherited from the generic-host template! notification_interval 120 ; Resend notifications every 2 hours notification_options d,u,r ; Only send notifications for specific host states contact_groups admins ; Notifications get sent to the admins by default hostgroups linux-servers ; Host groups that linux servers should be a member of icon_image linux40.png statusmap_image linux40.gd2 register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! } # Windows host definition template - This is NOT a real host, just a template! define host{ name windows-server ; The name of this host template use generic-host ; Inherit default values from the generic-host template check_period 24x7 ; By default, Windows servers are monitored round the clock check_interval 5 ; Actively check the server every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each server 10 times (max) check_command check-host-alive ; Default command to check if servers are "alive" notification_period 24x7 ; Send notification out at any time - day or night notification_interval 30 ; Resend notifications every 30 minutes notification_options d,r ; Only send notifications for specific host states contact_groups admins ; Notifications get sent to the admins by default hostgroups windows-servers ; Host groups that Windows servers should be a member of icon_image win40.png statusmap_image win40.gd2 register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE } . . .

Перезапускаем службу nagios

# service nagios restart

Преимущества и новые возможности для мониторинга систем

Отслеживание и анализ больших объемов информации о состоянии разных компьютеров (например, степень загруженности процессоров и сетевой карты) требует больших усилий, но Nagios с открытым исходным кодом (см. раздел ) успешно справляется с задачами мониторинга и оперативного оповещения.

Крайне важно понимать, что Nagios - это не инструмент для замеров параметров работы системы, например, степени загруженности процессоров, а утилита, выдающая результаты мониторинга в виде состояний "работающий", "ненадежный" и "неисправный". Эта особенность Nagios помогает оператору сфокусироваться на самых главных и критических проблемах, основываясь на заранее определенных и настраиваемых критериях.

ПО Nagios реализует функциональность для подготовки отчетов о количестве времени, потерянного из-за простоев, что может быть полезным для отслеживания качества предоставления услуг согласно соглашению об уровне сервиса (service level agreement - SLA). Как будет показано в последующих статьях, Nagios также предлагает возможности для учета времени простоя и создания зависимостей от служб и систем. Эта вводная статья показывает, как легко можно создавать небольшие персонализированные решения для конкретных требований по мониторингу.

Установка

Большинство дистрибутивов Linux® поставляются с встроенной версией Nagios. В этом случае продукт легко интегрируется с Web-сервером Apache. Для активизации или обновления такой конфигурации необходимо выполнить команду:

yum install nagios

или apt-get install nagios-text . Исполняемые файлы для платформы AIX® доступны для загрузки с Web-сайта NagiosExchange (см. раздел ).

Для других платформ исходный код Nagios можно загрузить с Web-сайта Nagios.org (см. раздел ). Для создания Nagios "с чистого листа" необходимы следующие инструменты разработчика.

  • Инструменты:
    • autoconf
    • automake
  • Исполняемые файлы:
    • libgd
    • openssl
  • Пакеты (библиотек и заголовочных файлов)

Многие плагины, связанные с SNMP (Simple Network Management Protocol - простой протокол сетевого управления) также потребуют наличия Perl и пакета Net::SNMP.

После установки и настройки Nagios можно получить к нему доступ через стандартный URL http://your.host.name/nagios . На показано, какие системы и службы включены или отключены.

Настройка Nagios

По умолчанию все конфигурационные файлы Nagios находятся в каталоге /etc/nagios . Конфигурационные файлы, связанные с Apache, можно для удобства связать с конфигурационным каталогом Apache c помощью ссылок. Конфигурация разделена на несколько файлов, каждый из которых предназначен для отдельных фрагментов конфигурации.

Первые компоненты, которые необходимо настроить, - это контакты и группы контактов. Контакты - это персоны, получающие извещение, когда система или служба отключается. По умолчанию Nagios предлагает оповещение по электронной почте и пейджерам, но расширения позволяют отправлять извещения по протоколу Jabber и многими другими способами, которые могут быть удобны в различных обстоятельствах.

Контакты хранятся в файле contacts.cfg и определяются, как показано в листинге 1.

Листинг 1. Конфигурация 1: Базовая информация о контактах
define contact{ contact_name jdoe alias John Due service_notification_commands notify-by-email host_notification_commands host-notify-by-emailes email [email protected] }

Контакты можно группировать, и вместо отдельных людей, которые должны быть извещены в случае изменения статуса системы или службы, Nagios будет оповещать соответствующую группу. Иногда имеет смысл задать пользователя несколько раз, чтобы определить различные адреса или команды для отправки извещений и затем добавить все способы связаться с пользователем к группе контактов, к которой он принадлежит ().

Листинг 2. Конфигурация 2: Группировка контактов
define contactgroup{ contactgroup_name server-admins alias Server Administrators members jdoe,albundy }

Следующий шаг - это настроить системы, за которыми Nagios будет осуществлять мониторинг. Необходимо добавить каждый компьютер, на котором имеются службы, которые предстоит отслеживать или периодически проверять на активность. Конфигурационный файл для хранения система - это файл hosts.cfg . В листинге 3 приведен пример определения компьютера.

Листинг 3. Конфигурация 3: Добавление нового компьютера
define host{ host_name ubuntu_1_2 alias Ubuntu test server address 192.168.1.2 check_command check-host-alive max_check_attempts 20 notifications_enabled 1 event_handler_enabled 0 flap_detection_enabled 0 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 notification_interval 60 notification_period 24x7 notification_options d,u,r }

Последний этап конфигурации Nagios - это определение служб для сконфигурированных систем. Показанный в листинге 4 пример использует заранее определенный ping-плагин для Nagios, который отправляет эхо-запросы по протоколу ICMP (Internet Control Message Protocol), чтобы определить, отвечает компьютер или нет.

Листинг 4. Конфигурация 4: Добавление новой службы
define service{ use service-template host_name ubuntu_1_2 service_description PING check_period 24x7 contact_groups server-admins notification_options c,r check_command check_ping!300.0,20%!1000.0,60% }

После подготовки этой конфигурации необходимо перезапустить демона Nagios, а затем, подождав несколько секунд, пока Nagios инициализируется, проверить, появились ли ping-службы в Web-интерфейсе администратора.

Написание плагинов для Nagios

Наиболее интересный аспект Nagios - это то, что к нему можно легко написать собственный плагин, для чего требуется изучить несколько простых правил. Для управления плагином Nagios просто порождает дочерний процесс каждый раз, когда запрашивает состояние службы и использует выходную информацию и код возврата этой команды для определения состояния. Коды возврата с состоянием службы интерпретируются следующим образом:

  • OK - код возврата 0 - означает, что сервис работает нормально;
  • WARNING - код возврата 1 - это предупредительный сигнал о том, что у сервиса могут быть проблемы;
  • CRITICAL - код возврата 2 - критическое состояние сервиса;
  • UNKNOWN - код возврата 3 - неизвестное состояние сервиса.

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

В листинге 5 приведен пример сценария на языке Python, который проверяет среднюю загрузку ОС UNIX®. В нем предполагается, что уровень выше 2.0 соответствует предупредительному состоянию, а уровень выше 5.0 -критическому состоянию. Эти значения "вшиты" в код, и также всегда используется среднее значение загрузки за последнюю минуту.

Листинг 5. Python плагин - пример работающего плагина
#!/usr/bin/env python import os,sys (d1, d2, d3) = os.getloadavg() if d1 >= 5.0: print "GETLOADAVG CRITICAL: Load average is %.2f" % (d1) sys.exit(2) elif d1 >= 2.0: print "GETLOADAVG WARNING: Load average is %.2f" % (d1) sys.exit(1) else: print "GETLOADAVG OK: Load average is %.2f" % (d1) sys.exit(0)

Подготовив небольшой исполняемый компонент, необходимо зарегистрировать этот плагин в Nagios и создать определение службы, которая будет проверять среднюю нагрузку.

Это довольно просто: сначала создается файл /etc/nagios-plugins/config/mygetloadavg.cfg с содержимым, приведенным ниже, и добавляется служба в файл services.cfg , как показано в примере ниже. Напомню, что localhost должен присутствовать в конфигурационном файле hosts.cfg .

Листинг 6. Пример плагина - регистрация в Nagios
define command{ command_name check_mygetloadavg command_line /path/to/check_getloadavg }
Листинг 7. Создание службы, использующей пример плагина
define service{ use service-template host_name localhost service_description LoadAverage check_period 24x7 contact_groups server-admins notification_options c,r check_command check_mygetloadavg }

Написание полноценного плагина

В предыдущем примере были показаны ограничения "жестко запрограммированного" плагина, который не позволяет менять конфигурации во время исполнения. На практике лучше создавать конфигурируемые плагины, тогда можно будет создать и поддерживать только один плагин, зарегистрировав его как отдельный плагин в Nagios, и передавать ему аргументы настройки предупредительного и критических уровней под различные обстоятельства. Следующий пример также включает сообщения с информацией об использовании, это особенно полезно для плагинов, используемых или поддерживаемых несколькими разработчиками или администраторами.

Другой полезный прием - это перехватывание всех исключительных ситуаций и возврат в отчет о состоянии службы значения UNKNOWN , чтобы Nagios мог соответствующим образом оповестить об этом событии. Плагины, которые допускают "выход" исключительных ситуаций за свои границы, чаще всего возвращают значение 1, которое трактуется Nagios как WARNING -состояние. Важно чтобы плагин правильно отличал состояние WARNING (предупредительное) от UNKNOWN (неизвестное). Стоит заметить, что обычно извещения об отдельных состояниях WARNING отключаются, но не стоит отключать извещения о состоянии UNKNOWN .

Написание Python-плагина

Допущения, указанные выше (параметризация во время исполнения, сообщение об использовании и улучшенная обработка исключительных ситуаций) приводят к плагину, исходный код которого в несколько раз больше, чем у предыдущего. Однако при этом добавляется безопасная обработка ошибок и способность повторно использовать плагин в различных ситуациях.

Листинг 8. Python-плагин - полноценный плагин для получения данных о средней загрузке
#!/usr/bin/env python import os import sys import getopt def usage(): print """Usage: check_getloadavg [-h|--help] [-m|--mode 1|2|3] \ [-w|--warning level] [-c|--critical level]" Mode: 1 - last minute ; 2 - last 5 minutes ; 3 - last 15 minutes" Warning level defaults to 2.0 Critical level defaults to 5.0""" sys.exit(3) try: options, args = getopt.getopt(sys.argv, "hm:w:c:", "--help --mode= --warning= --critical=",) except getopt.GetoptError: usage() sys.exit(3) argMode = "1" argWarning = 2.0 argCritical = 5.0 for name, value in options: if name in ("-h", "--help"): usage() if name in ("-m", "--mode"): if value not in ("1", "2", "3"): usage() argMode = value if name in ("-w", "--warning"): try: argWarning = 0.0 + value except Exception: print "Unable to convert to floating point value\n" usage() if name in ("-c", "--critical"): try: argCritical = 0.0 + value except Exception: print "Unable to convert to floating point value\n" usage() try: (d1, d2, d3) = os.getloadavg() except Exception: print "GETLOADAVG UNKNOWN: Error while getting load average" sys.exit(3) if argMode == "1": d = d1 elif argMode == "2": d = d2 elif argMode == "3": d = d3 if d >= argCritical: print "GETLOADAVG CRITICAL: Load average is %.2f" % (d) sys.exit(2) elif d >= argWarning: print "GETLOADAVG WARNING: Load average is %.2f" % (d) sys.exit(1) else: print "GETLOADAVG OK: Load average is %.2f" % (d) sys.exit(0)

Для использования нового плагина необходимо зарегистрировать его в файле /etc/nagios-plugins/config/mygetloadavg2.cfg , как показано в листинге 9.

Листинг 9. Python-плагин - регистрация в Nagios
define command{ command_name check_mygetloadavg2 command_line /path/to/check_getloadavg2 -m $ARG1$ -w $ARG2$ -c $ARG3$ }

Также необходимо добавить или изменить запись об этой службе в файле services.cfg , как показано в листинге 10. Стоит отметить, что восклицательный знак! разделяет параметры плагина. Как и прежде, необходимо, чтобы localhost был определен в конфигурационном файле hosts.cfg .

Листинг 10. Создание сервиса, использующего плагин Python
define service{ use service-template host_name localhost service_description LoadAverage2 check_period 24x7 contact_groups server-admins notification_options c,r check_command check_mygetloadavg2!1!3.0!6.0 }

Написание плагина Tcl

Последний пример - это плагин, написанный на Tcl и проверяющий курсы валют с сайта xmethods.net с помощью протокола SOAP (Simple Object Access Protocol) и технологии WSDL (Web Services Description Language). SOAP предоставляет плагину текущие значения курсов валют, чтобы сравнить их с конфигурированными значениями. Если значение находится внутри предупредительного диапазона, то считается, что это состояние OK . Если значение выше или ниже предупредительного уровня, но не выходит за критический предел, то считается, что это состояние WARNING . В противном случае состояние считается как CRITICAL , если не происходит сетевого сбоя, в случае которого состояние устанавливается в UNKNOWN .

Плагин распознает конфигурируемые параметры, так что можно проверять различные курсы с различными диапазонами для проверки. Также его можно использовать для проверки курсов валют различных стран (листинг 11).

Листинг 11. Tcl-плагин - проверка текущих значений курсов обмена валют
#!/usr/bin/env tclsh # parse arguments package require cmdline set options { {country1.arg "" "Country 1"} {country2.arg "" "Country 2"} {lowerwarning.arg "" "Lower warning limit"} {upperwarning.arg "" "Upper warning limit"} {lowercritical.arg "" "Lower critical limit"} {uppercritical.arg "" "Upper critical limit"} } array set opt }] # если пользователь не предоставил все аргументы, # то показать справочное сообщение for each necessary { if {$opt($necessary) == ""} { set argv "-help" catch {cmdline::getoptions argv $options {: }} usage puts stderr $usage exit 3 } } # загрузить пакет TclWebServices package require WS::Client if { 1] } error]} { # если по какой-либо причине не удалось загрузить курс, то сообщить об этом puts "EXCHANGERATE UNKNOWN: $error" exit 3 } if {($result < $opt(lowercritical)) || ($result > $opt(uppercritical))} { puts "EXCHANGERATE CRITICAL: rate is $result" exit 2 } if {($result < $opt(lowerwarning)) || ($result > $opt(upperwarning))} { puts "EXCHANGERATE WARNING: rate is $result" exit 1 } puts "EXCHANGERATE OK: rate is $result" exit 0

Теперь необходимо зарегистрировать эту команду, чтобы Nagios знал, как вызывать ее. Для того чтобы сделать это, надо создать файл /etc/nagios-plugins/config/exchangerate.cfg с содержимым, похожим на предыдущие конфигурации и следующим определением команды:

command_line /path/to/check_exchangerate -country1 $ARG1$ -country2 $ARG2$ -lowercritical \ $ARG3$ -lowerwarning $ARG4$ -upperwarning $ARG5$ -uppercritical $ARG6$

Имя команды check_exchangerate используется в примере, приведенном ниже.

Затем необходимо создать службу, которая будет использовать созданный плагин для отслеживания курсов валют. Ниже приведен пример определения службы, ассоциирующий службу с сервером localhost . Хотя проверка на самом деле не связана с каким-либо реальным компьютером, ее все равно необходимо привязать к системе. Если проверка включает вызов SOAP-методов серверов внутри контролируемой сети, то необходимо добавить реальный сервер, для которого будет выполняться мониторинг, и привязать службу к этому серверу. Код в проверяет, что курс британского фунта по отношению к японской йене находится в диапазоне от 225 до 275.

Листинг 12. Добавление Tcl-плагина в качестве новой службы
define service{ use service-template host_name localhost service_description EXCHANGERATE check_period 24x7 contact_groups other-admins notification_options c,r check_command check_exchangerate!England!Japan!200!225!275!300 }

Заключение

Nagios можно использовать для мониторинга всех типов ПО и компьютерного оборудования. Возможность создавать собственные плагины позволяет выполнять мониторинг всего, с чем может общаться сервер Nagios. Для этого можно использовать любой язык программирования, который принимает аргументы с командной строки и поддерживает коды возврата, так что возможности оказываются почти безграничными!

Опытный системный администратор может расширить SOAP-пример с помощью Tcl или любого другого языка для взаимодействия с Web-службами в Интранет-сети и написания плагинов для проверки правильности функционирования этих служб.

Также можно использовать С-плагины или возможности С-программирования, встроенные в используемый динамический язык (Pyinline в Python, Inline в Perl или Critcl в Tcl) для комбинирования сочетания системных API ОС на языке С с плагином, написанном на языке высокого уровня.

Другая возможность Nagios, на которую стоит обратить внимание, - это пассивная проверка. Процесс мониторинга с помощью Nagios, рассматриваемый в этой статье, основывается на исполняемых компонентах для определения статуса с коротким жизненным циклом, запуске этих компонентов и получении результатов от них. При пассивной проверке Nagios не запускает плагины для проверки статуса, а отдельные приложения посылают сообщения об изменении статуса периодически или когда состояние службы изменяется. Подобное приложение может получать оповещения из различных источников, накапливать их и передавать подготовленную сводную информацию в Nagios. Nagios также может предположить, что сервис отключился, если он не присылает оповещений в течение определенного периода времени. Реализация пассивной проверки с помощью Nagios будет описана в следующей статье.

Преимущество плагинов для Nagios - это простота, с которой их можно создавать и обмениваться ими. Плагины Nagios полезны в ситуациях, с которыми имеют дело сетевые и системные администраторы, и в большинстве случаев это повторное использование результатов работы, которую уже кто-то сделал раньше. Подобно популярным ресурсам Wiki и Web, не требуется много усилий, чтобы внести вклад в виде полезного примера, в то время как совокупные возможности всех доступных плагинов очень велики.

В больших сетях мониторинг стратегических объектов, таких как маршрутизаторы, web-серверы и файловые хранилища просто необходим, чем быстрее будет определена неисправность, тем быстрее ее устранят!
В качестве системы мониторинга я предлагаю использовать Nagios.
Для установки была выбрана платформа ubuntu 10.10 , воспользовавшись встроенным инсталятором установим nagios :

Стоит отметить что в данном случае apache можно не настраивать, так как базовой конфигурации вполне достаточно.
Теперь создадим файл, в котором будут описываться параметры хостов. Переходим к настройке :

cd /etc/nagios3/conf.d nano myhosts.cfg

В файле myhosts.cfg назначим каждому устройству адрес и описание :

define host { host_name Server-terminals alias Server terminals address 192.168.1.2 use generic-host } define host { host_name Server-www alias Server www address 192.168.1.12 use generic-host } define host { host_name Server-firewall alias Server firewall address 192.168.1.21 use generic-host } define host { host_name Server-statistic alias Server statistic address 192.168.1.20 use generic-host } define host { host_name Server-ad alias Server ad address 192.168.1.14 use generic-host } define host { host_name modem-ad alias Server ad address 10.0.0.1 parents Server-ad use generic-host } define host { host_name modem-www alias Server ad address 172.16.0.3 parents Sever-www use generic-host } define host { host_name modem-statistic alias Server ad address 192.168.0.253 parents Server-statistic use generic-host }

Параметром parents мы указываем к какому устройству,логически, данный объект будет подключаться, таким образом появляется возможность корректировать карту сети.
Все объявленные хосты мы сможем просмотреть на вкладке hosts браузера и выглядеть они будут таким образом:


Далее нам необходимо добавить объявленные устройства в группы, в зависимости от дальнейшего способа проверки, один компьютер можно вносить в несколько групп одновременно. Редактируем файл-групп :

Теперь когда группы созданы зададим параметры для проверки, в данном случае мы будем проверять на наличие пинга, и при высоком проценте потерянных пакетов nagios будет нас оповещать, изменяя цвет отдельного узла на карте.
И так правим файл сервисов :

Мы хотим заменить логотип отображаемого элемента на карте nagios , логотипы находятся в /usr/share/nagios/htdocs/images/logos , при изменении логотипа достаточно лишь указать новое картинки, находящейся по указанному пути.
Радактируем :

а именно параметр default_statuswrl_layout на значение от 0 до 5 .
Также я меняю период обновления страницы, в секундах, параметром refresh_rate
Теперь по образу и подобию вы самостоятельно сможете добавлять компьютеры и группы, думаю на этом простая настройка закончена. В дальнейшем я напишу об дополнительных настройках, связанных с системой оповещения.