Nagvis: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:Linux]] |
||
+ | [[Категория:Gentoo]] |
||
+ | [[Категория:Nagios]] |
||
+ | |||
* http://ru.gentoo-wiki.com/wiki/Nagvis |
* http://ru.gentoo-wiki.com/wiki/Nagvis |
||
* https://bugs.gentoo.org/show_bug.cgi?id=324641 [-] |
* https://bugs.gentoo.org/show_bug.cgi?id=324641 [-] |
||
Строка 4: | Строка 8: | ||
* http://mathias-kettner.de/checkmk_livestatus.html |
* http://mathias-kettner.de/checkmk_livestatus.html |
||
* http://nagioswiki.com/wiki/index.php/NDOutils_on_CentOS |
* http://nagioswiki.com/wiki/index.php/NDOutils_on_CentOS |
||
+ | |||
+ | |||
+ | Установка производится в arch. Ebuild для nagvis брать в [http://bugs.gentoo.org/show_bug.cgi?id=324641 багзиле]. Установка подразумевает, что nagios с поддержкой apache уже установлен. |
||
+ | Рабочая связка представляет из себя следующее: пакет net-analyzer/ndoutils предоставляет необходимые инструменты для помещения информации от nagios в базу данных, из которой в последствии берет нужные данные nagvis в сочетании с данными о состоянии объектов nagios, которые передаются через сокет, предоставляемый пакетом net-analyzer/mk-livestatus. |
||
+ | |||
+ | ==USE флаги== |
||
+ | dev-lang/php: apache2 gd mysql session xml pdo |
||
+ | net-analyzer/nagvis: apache2 automap |
||
+ | net-analyzer/mk-livestatus: -examples -perl -python -test |
||
+ | |||
+ | ==Установка пакетов== |
||
+ | При установке nagvis было выбрано использование mysql. |
||
+ | {{Root|emerge net-analyzer/mk-livestatus net-analyzer/nagvis net-analyzer/ndoutils dev-db/mysql}} |
||
+ | |||
+ | ==Настройка ndoutils== |
||
+ | В ndoutils входят 2 модуля: ndomod и ndo2db. ndomod интегрируется с nagios в результате чего данные от nagios поступают к модулю ndo2db, который в свою очередь поступившие данные кладет в базу. |
||
+ | |||
+ | ===Настройка ndomod=== |
||
+ | Создание базы |
||
+ | {{Root|mysq> create database nagios;}} |
||
+ | |||
+ | Создание таблиц в базе |
||
+ | {{Root|/usr/share/nagios/db/installdb -u <user> -p -h <host> -d nagios}} |
||
+ | Ebuild ndoutils к версии 1.4_beta9 не ставит в систему скрипт installdb, поэтому его надо достать из исходника ndoutils. Имеет смысл проверить префикс созданных таблиц, по умолчанию это nagios_. |
||
+ | |||
+ | |||
+ | Пример файла конфигурации |
||
+ | {{File|ndomod.cfg|<pre>instance_name=default |
||
+ | output_type=unixsocket |
||
+ | output=/usr/share/nagios/htdocs/rw/ndo.sock |
||
+ | tcp_port=5668 |
||
+ | use_ssl=0 |
||
+ | output_buffer_items=5000 |
||
+ | buffer_file=/var/lib/ndo/ndomod.tmp |
||
+ | file_rotation_interval=14400 |
||
+ | file_rotation_timeout=60 |
||
+ | reconnect_interval=15 |
||
+ | reconnect_warning_interval=15 |
||
+ | data_processing_options=-1 |
||
+ | config_output_options=2</pre>}} |
||
+ | |||
+ | output_type говорит о том, что данные для модуля ndo2db передаются через unixsocket, который расположен согласно значению параметра output. {{Note|В данном примере это расположение выбрано не совсем удачно (т.е в директоии htdocs), поэтому имеет смысл вынести его за пределы apache. Тоже самое относится и к другим объектам в директории /usr/share/nagios/htdocs/rw/, которые будут упоминаться далее. |
||
+ | }} |
||
+ | |||
+ | |||
+ | Активация в nagios |
||
+ | {{File|/etc/nagios/nagios.cfg|<pre>broker_module=/usr/bin/ndomod.o config_file=/etc/nagios/ndomod.cfg |
||
+ | event_broker_options=-1</pre>}} |
||
+ | Подробности активации/ошибки можно получить в логах nagios. |
||
+ | ... |
||
+ | ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors |
||
+ | ndomod: Successfully connected to data sink. 0 queued items to flush. |
||
+ | Event broker module '/usr/bin/ndomod.o' initialized successfully. |
||
+ | ... |
||
+ | |||
+ | ===Настройка ndo2db=== |
||
+ | {{File|ndo2db.cfg|<pre> |
||
+ | lock_file=/var/lib/ndo/ndo2db.lock |
||
+ | ndo2db_user=nagios |
||
+ | ndo2db_group=nagios |
||
+ | socket_type=unix |
||
+ | socket_name=/usr/share/nagios/htdocs/rw/ndo.sock |
||
+ | tcp_port=5668 |
||
+ | use_ssl=0 |
||
+ | db_servertype=mysql |
||
+ | db_host=localhost |
||
+ | db_port=3306 |
||
+ | db_name=nagios |
||
+ | db_prefix=nagios_ |
||
+ | db_user=nagios |
||
+ | db_pass=password |
||
+ | max_timedevents_age=1440 |
||
+ | max_systemcommands_age=10080 |
||
+ | max_servicechecks_age=10080 |
||
+ | max_hostchecks_age=10080 |
||
+ | max_eventhandlers_age=44640 |
||
+ | max_externalcommands_age=44640 |
||
+ | debug_level=0 |
||
+ | debug_verbosity=2 |
||
+ | debug_file=/var/lib/ndo/ndo2db.debug |
||
+ | max_debug_file_size=1000000 |
||
+ | </pre>}} |
||
+ | Согласно этому файлу, данные берутся из socket_name и кладутся в базу nagios под учетной записью db_user. После чего запускаем ndo2db |
||
+ | {{Root|/etc/init.d/ndo2db start}} |
||
+ | Если сервис не запустится, то о причинах можно посмотреть в debug_file или попробовать его запустить из shell |
||
+ | {{Root|# ndo2db -c /etc/nagios/ndo2db.cfg |
||
+ | Could not bind socket: Permission denied}} |
||
+ | Причина в правах доступа на debug_file или socket_name. Поэтому необходимо проверить все нужные права доступа для пользователя, указанного в ndo2db_user. |
||
+ | |||
+ | ==Настройка mk-livestatus== |
||
+ | В nagios.cfg добавить |
||
+ | broker_module=/usr/lib64/mk-livestatus/livestatus.o /usr/share/nagios/htdocs/rw/live debug=0 |
||
+ | Проверить загрузку модуля в логах nagios. |
||
+ | |||
+ | Проверка сокета live |
||
+ | {{Root|<nowiki> echo 'GET hosts' | unixcat /var/lib/nagios/rw/live </nowiki> <pre> |
||
+ | acknowledged;action_url;address;alias;check_command;check_period;checks_enabled;contacts;in_check_period;in_notification_period;is_flapping;last_check |
||
+ | ;last_state_change;name;notes;notes_url;notification_period;scheduled_downtime_depth;state;total_services |
||
+ | 0;/nagios/pnp/index.php?host=$HOSTNAME$;127.0.0.1;Acht;check-mk-ping;;1;check_mk,hh;1;1;0;1256194120;1255301430;Acht;;;24X7;0;0;7 |
||
+ | 0;/nagios/pnp/index.php?host=$HOSTNAME$;127.0.0.1;DREI;check-mk-ping;;1;check_mk,hh;1;1;0;1256194120;1255301431;DREI;;;24X7;0;0;1 |
||
+ | 0;/nagios/pnp/index.php?host=$HOSTNAME$;127.0.0.1;Drei;check-mk-ping;;1;check_mk,hh;1;1;0;1256194120;1255301435;Drei;;;24X7;0;0;4 |
||
+ | </pre>}} |
||
+ | |||
+ | ==Настройка nagvis== |
||
+ | Пример настройки в /etc/nagvis/nagvis.ini.php-sample. |
||
+ | Минимальная базовая настройка nagvis |
||
+ | {{File|/etc/nagvis/nagvis.ini.php|<pre> |
||
+ | [global] |
||
+ | language="en_US" |
||
+ | refreshtime=60 |
||
+ | |||
+ | [paths] |
||
+ | base="/usr/share/nagvis/" |
||
+ | htmlbase="/nagios/nagvis/" |
||
+ | htmlcgi="/nagios/cgi-bin/" |
||
+ | |||
+ | [defaults] |
||
+ | backend="live_1" |
||
+ | |||
+ | [index] |
||
+ | |||
+ | [automap] |
||
+ | |||
+ | [wui] |
||
+ | |||
+ | [worker] |
||
+ | |||
+ | [backend_live_1] |
||
+ | backendtype="mklivestatus" |
||
+ | socket="unix:/usr/share/nagios/htdocs/rw/live" |
||
+ | |||
+ | [backend_ndomy_1] |
||
+ | backendtype="ndomy" |
||
+ | dbhost="localhost" |
||
+ | dbname="nagios" |
||
+ | dbuser="nagios" |
||
+ | dbpass="password" |
||
+ | dbprefix="nagios_" |
||
+ | dbinstancename="default" |
||
+ | htmlcgi="/nagios/cgi-bin" |
||
+ | |||
+ | [backend_merlinmy_1] |
||
+ | backendtype="merlinmy" |
||
+ | |||
+ | [backend_ndo2fs_1] |
||
+ | |||
+ | [backend_merlinmy_1] |
||
+ | |||
+ | |||
+ | [rotation_demo] |
||
+ | maps="demo,Demo2:demo2" |
||
+ | interval=15 |
||
+ | |||
+ | [states] |
||
+ | |||
+ | </pre>}} |
||
+ | В дальнейшем эти данные можно будет отредактировать через веб-интерфейс. |
||
+ | Для того, чтобы к nagvis можно было обращаться из меню nagios, нужно добавить ссылку в файл /usr/share/nagios/htdocs/side.ph |
||
+ | <a href="nagvis/" target="<?php echo $link_target;?>">Nagvis</a> |
||
+ | |||
+ | Добавление кода nagvis в htdocs nagios |
||
+ | {{Root|ln -s /usr/share/nagvis /usr/share/nagios/htdocs/nagvis}} |
||
+ | |||
+ | |||
+ | Настройка apache. |
||
+ | Добавить в /etc/conf.d/apache2 к параметру APACHE2_OPTS значение |
||
+ | -D NAGVIS |
||
+ | |||
+ | == Дополнительная информация == |
||
+ | Подробное описание принципа работы [http://mathias-kettner.de/checkmk_livestatus.html MK Livestatus] |
||
+ | |||
+ | Документация к [http://www.nagvis.org/doc Nagvis] |
Текущая версия на 15:40, 28 сентября 2012
- http://ru.gentoo-wiki.com/wiki/Nagvis
- https://bugs.gentoo.org/show_bug.cgi?id=324641 [-]
- http://stproject.info/blog/?p=413
- http://mathias-kettner.de/checkmk_livestatus.html
- http://nagioswiki.com/wiki/index.php/NDOutils_on_CentOS
Установка производится в arch. Ebuild для nagvis брать в багзиле. Установка подразумевает, что nagios с поддержкой apache уже установлен.
Рабочая связка представляет из себя следующее: пакет net-analyzer/ndoutils предоставляет необходимые инструменты для помещения информации от nagios в базу данных, из которой в последствии берет нужные данные nagvis в сочетании с данными о состоянии объектов nagios, которые передаются через сокет, предоставляемый пакетом net-analyzer/mk-livestatus.
USE флаги
dev-lang/php: apache2 gd mysql session xml pdo net-analyzer/nagvis: apache2 automap net-analyzer/mk-livestatus: -examples -perl -python -test
Установка пакетов
При установке nagvis было выбрано использование mysql.
Настройка ndoutils
В ndoutils входят 2 модуля: ndomod и ndo2db. ndomod интегрируется с nagios в результате чего данные от nagios поступают к модулю ndo2db, который в свою очередь поступившие данные кладет в базу.
Настройка ndomod
Создание базы
Создание таблиц в базе
Ebuild ndoutils к версии 1.4_beta9 не ставит в систему скрипт installdb, поэтому его надо достать из исходника ndoutils. Имеет смысл проверить префикс созданных таблиц, по умолчанию это nagios_.
Пример файла конфигурации
Шаблон:File
output_type говорит о том, что данные для модуля ndo2db передаются через unixsocket, который расположен согласно значению параметра output.
Активация в nagios
Шаблон:File
Подробности активации/ошибки можно получить в логах nagios.
... ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors ndomod: Successfully connected to data sink. 0 queued items to flush. Event broker module '/usr/bin/ndomod.o' initialized successfully. ...
Настройка ndo2db
Шаблон:File Согласно этому файлу, данные берутся из socket_name и кладутся в базу nagios под учетной записью db_user. После чего запускаем ndo2db
Если сервис не запустится, то о причинах можно посмотреть в debug_file или попробовать его запустить из shell
Причина в правах доступа на debug_file или socket_name. Поэтому необходимо проверить все нужные права доступа для пользователя, указанного в ndo2db_user.
Настройка mk-livestatus
В nagios.cfg добавить
broker_module=/usr/lib64/mk-livestatus/livestatus.o /usr/share/nagios/htdocs/rw/live debug=0
Проверить загрузку модуля в логах nagios.
Проверка сокета live
acknowledged;action_url;address;alias;check_command;check_period;checks_enabled;contacts;in_check_period;in_notification_period;is_flapping;last_check ;last_state_change;name;notes;notes_url;notification_period;scheduled_downtime_depth;state;total_services 0;/nagios/pnp/index.php?host=$HOSTNAME$;127.0.0.1;Acht;check-mk-ping;;1;check_mk,hh;1;1;0;1256194120;1255301430;Acht;;;24X7;0;0;7 0;/nagios/pnp/index.php?host=$HOSTNAME$;127.0.0.1;DREI;check-mk-ping;;1;check_mk,hh;1;1;0;1256194120;1255301431;DREI;;;24X7;0;0;1 0;/nagios/pnp/index.php?host=$HOSTNAME$;127.0.0.1;Drei;check-mk-ping;;1;check_mk,hh;1;1;0;1256194120;1255301435;Drei;;;24X7;0;0;4
Настройка nagvis
Пример настройки в /etc/nagvis/nagvis.ini.php-sample. Минимальная базовая настройка nagvis Шаблон:File В дальнейшем эти данные можно будет отредактировать через веб-интерфейс. Для того, чтобы к nagvis можно было обращаться из меню nagios, нужно добавить ссылку в файл /usr/share/nagios/htdocs/side.ph
<a href="nagvis/" target="<?php echo $link_target;?>">Nagvis</a>
Добавление кода nagvis в htdocs nagios
Настройка apache.
Добавить в /etc/conf.d/apache2 к параметру APACHE2_OPTS значение
-D NAGVIS
Дополнительная информация
Подробное описание принципа работы MK Livestatus
Документация к Nagvis