Увеличение возможностей Nagios с помощью плагинов собственной разработки. Установка Nagios в Ubuntu Установка nagios ubuntu server 14.04

ЙУРПМШЪПЧБОЙС 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, который позволяет вполне успешно решить такие задачи.

Инварианты

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

  • Load average на одной из машин стал больше X;
  • Свободной памяти на одной из машин осталось меньше X;
  • Свободного места на диске у одной из машин осталось меньше X;
  • Слишком много открытых файловых дескрипторов на машине X;
  • Сильно греется проц, скоро развалится диск , малый заряд UPS;
  • Высокий сетевой трафик, disk io, кончается своп, ну и так далее;
  • Один из хостов не пингуется или пингуется со слишком большим RTT;
  • Что-то перестало резолвиться по DNS;
  • Доступны более новые версии установленных пакетов;
  • На одну из машин залогинилось подозрительно много юзеров;
  • Есть критические ошибки в логах за последние X минут;
  • Число некритичных ошибок за последние X минут превысило Y;
  • Лежит или медленно отвечает PostgreSQL , Redis , RabbitMQ , …;
  • SSL-сертификат скоро истекает;
  • 99-ый процентиль времени ответа сервиса сильно больше обычного;
  • Не ходит почта, SMS, пуши, …;
  • Нужно пополнить баланс в стороннем сервисе (AWS , Logentries , …);
  • Подозрительно большие расходы в стороннем сервисе;
  • В тестовом окружении не удалось восстановиться из бэкапа с прода;
  • Сервис стал недоступен из Зеленограда и ЮАР;
  • По внутренним хелсчекам сервиса мы уперлись в один из трэдпулов;

Как видите, практически в любом сервисе можно без труда найти два десятка инвариантов, а то и больше, которые никогда не должны нарушаться, и которые довольно легко мониторить автоматически. Если что-то сломалось, начинаем рассылать письма админам, SMS начальству, звонить на телефоны кодерам.

Установка Nagios

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

А чем вы мониторите вашу систему?

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

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

Есть несколько способов установить Nagios Ubuntu 16.04. Вы можете воспользоваться PPA или устанавливать с помощью архива, загруженного на официальном сайте. На данный момент самая последняя версия - 4.3. В PPA доступна только 4.2, поэтому мы рассмотрим ручную установку с помощью архива.

Но перед тем как мы перейдем к установке необходимо обновить систему и установить все необходимые компоненты для сборки программы:

sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip

Затем нужно создать группу и пользователя, от имени которых будет запускаться Nagios, а также команды оболочки, выполненные в веб-интерфейсе:

sudo useradd nagios
$ sudo groupadd nagcmd

Добавьте пользователя nagios и пользователя, от имени которого запускается Apache в группу nagcmd:

sudo usermod -a -G nagcmd nagios
$ sudo usermod -a -G nagcmd www-data

Затем нам нужно скачать исходные коды nagios. Это можно сделать с помощью команды терминала, но поскольку мы хотим получить самую новую версию, то лучше зайти на официальный сайт и скачать.

Сначала кликните по пункту "Nagios Core" , затем пролистайте вниз и нажмите "Download" :

На этом этапе вы можете заполнить информацию о себе, или пропустить, нажав "Skip download" :

Осталось выбрать версию, например, 4.3.2. После того как загрузка будет завершена перейдите в папку с загрузками и распакуйте архив:

cd ~/Загрузки/
$ tar -zxvf /tmp/nagios-4.3.2.tar.gz

Теперь можно переходить к компиляции nagios. Для этого нужно выполнить такие команды:

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/
$ make all
$ sudo make install
$ sudo make install-init
$ sudo make install-config
$ sudo make install-commandmode
$ sudo make install-webconf

Настройка Nagios в Ubuntu

Все конфигурационные файлы программы будут размещены установщиком в /usr/local/nagios/etc/. Настройки по умолчанию позволяют запустить Nagios, но нам нужно внести еще несколько изменений. Откройте файл contact.cfg и измените электронный адрес, на который будут приходить оповещения:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

define contact{
contact_name nagiosadmin ; Краткое имя пользователя
use generic-contact ; Шаблон по умолчанию
alias Nagios Admin ; Полное имя пользователя
email admin@сайт ; Ваш Email
}

Для работы веб-интерфейса необходимо создать пароль пользователя nagiosadmin с помощью htpasswd, без него вы просто не сможете войти в интерфейс:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Наконец, для корректной работы нужно внести несколько настроек для веб-сервера. Включите модуль cgi:

sudo a2enmod cgi

Перезапустите веб-сервер:

sudo service apache2 restart

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


Теперь распакуйте архив и перейдите в папку с ним:

tar -zxvf /tmp/nagios-plugins-2.1.1.tar.gz
$ cd /tmp/nagios-plugins-2.1.1/

Для компиляции модулей выполните:

./configure --with-nagios-user=nagios --with-nagios-group=nagios
$ make
$ make install

Модули установлены в папку с Nagios, теперь проверьте правильность конфигурации:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Для автоматического запуска создадим Unit файл для systemd:

sudo vi /etc/systemd/system/nagios.service


Description=Nagios
BindTo=network.target


WantedBy=multi-user.target


User=nagios
Group=nagios
Type=simple
ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

Запуск Nagios

Почти все готово, осталось запустить сервис и начать использовать. Для запуска сервиса наберите:

sudo systemctl stat nagios

Чтобы открыть веб-интерфейс nagios будет достаточно набрать ip адрес и url nagios в браузере. Если вы устанавливали все это на локальном компьютере, то используйте:

http://localhost/nagios

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

Выводы

В этой статье мы рассмотрели как выполняется настройка nagios 4, а также полная установка последней версии в операционной системе Ubuntu. Несмотря на то, что, на первый взгляд, все кажется сложным, процесс достаточно простой. Теперь вы можете осуществлять мониторинг nagios ubuntu 16.04. Надеюсь, эта информация была полезной для вас.

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

Отслеживание и анализ больших объемов информации о состоянии разных компьютеров (например, степень загруженности процессоров и сетевой карты) требует больших усилий, но 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, не требуется много усилий, чтобы внести вклад в виде полезного примера, в то время как совокупные возможности всех доступных плагинов очень велики.

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

Краткое описание Nagios

Главный компонент Nagios, базовый сервер, может быть развернут практически на любом Linux/Unix сервере. Он входит практически во все распространенные дистрибутивы Linux и Unix. При необходимости с сайта проекта можно загрузить исходный код и собрать на его основе собственную версию Nagios. Также вместе с основным пакетом Nagios устанавливается и документация для него.

Nagios обладает модульной архитектурой с возможностью расширения. Для увеличения возможностей Nagios можно использовать компоненты следующих типов: плагины (Nagios plugins) и расширения (Nagios addons).

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

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

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

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

На рисунке 1 представлена структура основного сервера Nagios.


На рисунке 2 показан механизм запуска плагинов Nagios на удаленном узле.


Ключевыми компонентами на рисунке 2 являются плагин check_nrpe на стороне узла мониторинга и расширение NRPE на удаленном узле. Между плагином check_nrpe и NRPE -демоном устанавливается зашифрованное SSL соединение, по которому nagiosd отправляет команды для запуска плагинов и получает результаты их выполнения. NRPE «проецирует» плагины на удаленном узле в основной сервер Nagios (nagiosd ), благодаря чему можно запускать любые плагины на любом удаленном узле.

Для удаленного мониторинга Windows узлов можно использовать расширение NSClient++ . В данном случае со стороны nagiosd должен использоваться плагин check_nt .

Пример использования Nagios

Для примера будет взято малое торговое предприятие, имеющее 3 точки присутствия: склад, магазин и офис. У каждой точки присутствия имеется свое подключение к местному ISP. В качестве шлюза на каждой из площадок установлен Linux/Unix сервер. Между всеми площадками организован VPN. В офисе Интранет-сеть - 10.1.0.0/24. На складе - 10.2.0.0/24. В магазине - 10.3.0.0/24. Руководством предприятия была поставлена задача осуществить мониторинг данной ИТ-инфраструктуры.


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

Для установки nagiosd и NRPE можно использовать штатные средства системы. Эта процедура зависит от выбранной платформы и обычно трудностей не представляет. Также вместе с nagiosd или NRPE устанавливается базовый комплект плагинов. Еще потребуется установить и настроить Web-интерфейс для отображения состояния узла c установленным Nagios сервером. В некоторых дистрибутивах он выделен в отдельный пакет. Наконец, необходимо создать файл htpasswd с пользователем nagiosadmin, прописанным в файле cgi.conf. При желании вместо этого имени можно внести изменения в конфигурацию и использовать другого пользователя.

После этого можно запустить Nagios-сервер и Web-сервер и войти на локальный ресурс Nagios, введя имя пользователя и пароль. Пока он осуществляет мониторинг только одного узла localhost и показывает несколько его параметров (load average (средняя загрузка), current users (активные пользователи) , disk space (дисковое пространство)). В одном из разделов этого ресурса находится документация, так что для доступа к ней не потребуется расходовать Интернет-трафик. Описание узла находится в файле localhost.cfg.


Прежде чем добавлять в конфигурацию другие узлы, необходимо указать e-mail адреса людей, отвечающих за их администрирование. Это делается в файле contacts.cfg. Крайне рекомендуется выбирать e-mail адреса независимых провайдеров электронной почты. Например, можно установить на мобильный телефон почтовый клиент Yandex и указать в описании адрес на yandex.ru. Если Интернет в офисе, где установлен корпоративный почтовый сервер, будет отключен, то даже в нерабочее время Nagios сервер со склада уведомит администратора об этом через мобильный телефон.

В листинге 1 показано, как добавить контактную информацию в файл contacts.cfg.

Листинг 1. Добавление контактной информации.
define contact{ contact_name zorin; // короткое имя пользователя // значения по умолчанию будут унаследованы от шаблона generic-contact use generic-contact; alias Alexander N. Zorin; // полное имя пользователя email [email protected]; }

После этого необходимо зарегистрировать узлы, мониторинг которых будет осуществляться, в Nagios. В листинге 2 показано, как по аналогии с файлом localhost.cfg, создать описание складского узла в файле warehouse-gw.cfg.

Листинг 2. Добавление узлов в Nagios.
define host{ // название шаблона, используемого для описания узла. // определение этого узла унаследует все параметры, // объявленные в шаблоне узла linux-server. use linux-server host_name warehouse-gw alias warehouse display_name Warehouse contacts zorin, worehouse-admin address 140.14.22.4 } define service{ // название шаблона, используемого для описания службы. use local-service ; host_name warehouse-gw service_description SSH check_command check_ssh notifications_enabled 1 } define host{ use linux-server; host_name warehouse-intra alias warehouse-intra display_name Warehouse local net contacts zorin, warehouse-admin address 10.2.0.1 } define service{ // название шаблона, используемого для описания службы. use local-service; host_name warehouse-intra service_description SMTP check_command check_smtp notifications_enabled 1 }

Узел warehouse-gw намеренно зарегистрирован дважды, чтобы отслеживать состояние как внешних, так и внутренних служб локальной сети. В данном примере SMTP-сервер обслуживает только локальную сеть. В сводках на Web-интерфейсе Nagios будут показываться два узла warehouse-gw и warehouse-intra . Если пропадет узел warehouse-intra и будет доступен только warehouse-gw – это значит, что произошло отключение VPN-канала.

Часть плагинов будет запускаться через расширение NRPE (load average - check_load, disk space - check_disk, current users - check_users) для получения информации, которую невозможно или сложно получить, находясь вне узла. Для этого потребуется установить плагин check_nrpe2 на Nagios серверах и расширение NRPE на всех серверах. Это можно сделать с помощью стандартных средств системы.

В конфигурационном файле nrpe.cfg обязательно нужно прописать адрес, к которому будет прикреплен NRPE -демон и доверенные узлы, от которых он будет принимать запросы. Для магазина (узел shop-gw) будут использоваться следующие параметры:

server_address=10.3.0.1 allowed_hosts=10.1.0.1,10.2.0.1

Трафик NRPE намеренно направляется через VPN. Доверенными узлами для NRPE-демона в магазине являются офис и склад. На Nagios-серверах мониторинг данных служб будет настроен, как показано в листинге 3:

Листинг 3. Настройка мониторинга для удаленной службы
define service{ // название шаблона, используемого для описания службы. use local-service; host_name warehouse-intra service_description Load average index check_command check_nrpe2!-c check_load notifications_enabled 1 }

В данном случае NRPE -демону узла warehouse-intra отправляется команда check_load . В ответ будет прислано текущее значение load average для этого узла. Следует обратить внимание, что параметры для плагина (а их может быть несколько) должны быть разделены восклицательными знаками. В представленном примере параметром является -c check_load .

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

Работа с плагинами

Плагины - это простые программы или сценарии, получающие входные параметры при запуске через параметры командной строки и возвращающие запрашиваемые значения в stdout в строго определенном формате. Команды для запуска плагинов могут быть прописаны в файле commands.cfg, при этом плагины, установленные вместе с nagiosd , уже находятся в этом файле. Также есть возможность прописать каждый плагин в отдельном файле.

В листинге 4 показано, как описывается плагин check_smtp , проверяющий доступность SMTP-сервера на удаленном узле и время его отклика.

Листинг 4. Настройка плагина check_smtp
define command{ command_name check_smtp command_line /usr/lib/nagios/plugins/check_smtp -H $HOSTADDRESS$ }

Здесь явно указаны путь к плагину check_smtp и необходимость добавлять к запросу через опцию -H IP адрес проверяемого узла, который подставляется автоматически на основании директивы define service , приведенной выше. Если запустить данный плагин из командной строки, то будет выведена следующая информация:

/usr/lib/nagios/plugins/check_smtp -H 192.168.4.1 SMTP OK - 0.038 sec. response time|time=0.037518s;;;0.000000

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

При установке NRPE -демона в файле nrpe.conf прописывается лишь незначительная часть плагинов, среди них - приведенная выше команда chесk_load :

command=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

В приведенной строке указан путь к плагину check_load и параметры его запуска. Если плагин запустить без параметров, то он выведет список допустимых параметров. Например, необходимо создать команду check_usr для NRPE , которая бы возвращала на сервер мониторинга информацию о разделе /dev/md2, смонтированном на пути /usr. Данную функциональность можно реализовать с помощью стандартного плагина check_disk . Если запустить его без параметров, то будет выведено описание стартовых параметров.

Usage: check_disk -w limit -c limit [-W limit] [-K limit] {-p path | -x device} [-C] [-E] [-e] [-g group ] [-k] [-l] [-M] [-m] [-R path ] [-r path ] [-t timeout] [-u unit] [-v] [-X type]

На основании представленной информации можно подготовить команду check_usr и поместить ее в файл nrpe.conf:

command=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md2

Пробный запуск этой команды выдаст результат:

/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md2 DISK OK - free space: /usr 20295 MB (86% inode=92%);| /usr=3061MB;19684;22145;0;24606

Как видно, в Nagios можно легко создавать плагины для выполнения самых разных задач и подключать их к NRPE-демону.

Расширения Nagios

Обсуждая возможности Nagios, обязательно нужно рассмотреть наиболее интересные расширения, значительно повышающие возможности Nagios.

Расширение pnp4nagios

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


Как показано на рисунке 5, красным цветом выделен период критичного состояния, а зеленым - периоды нормального функционирования. Такое решение подходит для параметров логического типа (да/нет), например, целостности RAID массива. Для численных параметров было бы полезнее отслеживать динамику изменений.

Расширение pnp4nagios , регулярно получая от nagiosd значения параметров, сохраняет историю их изменений и формирует отчет в графической форме. Графики можно произвольно комбинировать и при необходимости конвертировать полученную Web-страницу в PDF-файл. На рисунке 6 продемонстрирован отчет об изменении параметра load average для конкретного узла.

Рисунок 6. Web-страница расширения pnp4nagios
Заключение

Особенно стоит отметить низкую ресурсоёмкость этого решения. В одной из компаний Nagios используется для мониторинга 14 узлов и 140 служб на них, при этом NRPE-демон занимает 512КБ оперативной памяти, а сервер nagiosd всего 140КБ оперативной памяти. Потребление ресурсов процессора обоими компонентами и их дочерними процессами на CPU Pentium-IV не превышает 1%. Среди отслеживаемых параметров: температура винчестеров и материнских плат, состояние дисковых разделов, размеры почтовых очередей, скорости вращения вентиляторов, целостность RAID массивов и многое другое.

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