Xymon: различия между версиями
Asy (обсуждение | вклад) мНет описания правки |
Asy (обсуждение | вклад) |
||
(не показаны 42 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
[[Категория:Admin]] | |||
{{Stub}} | {{Stub}} | ||
{| style="border:1px solid #AAA; background:#F9F9F9; width:250px; margin: 0 0 1em 1em; padding:.2em; float: right;" class=noprint | {| style="border:1px solid #AAA; background:#F9F9F9; width:250px; margin: 0 0 1em 1em; padding:.2em; float: right;" class=noprint | ||
Строка 7: | Строка 6: | ||
|[[Image:Information.svg|20x20px]] Полезные ссылки: | |[[Image:Information.svg|20x20px]] Полезные ссылки: | ||
* [http://xymon.sourceforge.net/ Сайт проекта Xymon] | * [http://xymon.sourceforge.net/ Сайт проекта Xymon] | ||
* [http://www.xymon.com/ Демонстрационный сайт] | |||
* [http://terabithia.org/rpms/xymon/ rpm-пакеты от terabithia.org для CentOS/RHEL/Fedora] | * [http://terabithia.org/rpms/xymon/ rpm-пакеты от terabithia.org для CentOS/RHEL/Fedora] | ||
* [https://wiki.xymonton.org/ Xymonton - разные полезные дополнения] | |||
---- | |||
* [http://bbwin.sourceforge.net/ BBWin - клиент для Windows] | |||
* [http://sourceforge.net/projects/bbwingui/ BBWin GUI] | |||
* [https://github.com/deluan/BBtray BBtray (Pascal source)] | |||
* [http://en.community.dell.com/techcenter/application-management/big-brother/m/customeo/20439411 BBtray (Windows binary)] | |||
|} | |} | ||
__TOC__ | |||
[[Файл:Xymon-dashboard.png|250px|thumb|right|сводная панель аварий]] | |||
== Историческая справка == | == Историческая справка == | ||
Cистема мониторинга Xymon была создана в 2002 году, как дополнение, называвшееся BBGEN, к коммерческой системе [ | Cистема мониторинга Xymon была создана в 2002 году, как дополнение, называвшееся BBGEN, к коммерческой системе [https://en.wikipedia.org/wiki/Big_Brother_%28software%29 Big Brother]. Со временем, проект стал полностью самостоятельным. До момента переименования в Xymon в 2009 году, проект был известен под именем Hobbit. | ||
== Некоторые возможности системы мониторинга == | |||
Система мониторинга примечательна, в первую очередь, сводной панелью аварий, выполненной в виде матрицы, где по вертикали располагаются хосты, по горизонтали тесты (можно настроить наоборот). Основа матрицы формируется из тестов в состояниях "авария", "предупреждение" и "данные не поступают длительное время". Остальные пересечения, если они имеются, заполняются своими текущими состояниями. Эта идея была заимствована из Big Brother. В Xymon она была дополнена ещё несколькими состояниями и двойными иконками, которые используются для отображения кратковременного и долговременного состояния: иконка состояния меняется, если состояние не менялось больше суток. Тесты могут быть отключены на произвольное время, кроме того, можно настроить отключение тестов по расписанию. | |||
== Особенности сборки в ALT Linux == | == Особенности сборки в ALT Linux == | ||
За основу пакета был взят src.rpm c terabithia.org с большим набором патчей. Отличия | За основу пакета был взят src.rpm c terabithia.org с большим набором патчей. Отличия сборки для ALT Linux от пакета Japheth Cleaver можно посмотреть на [http://git.altlinux.org/gears/x/xymon.git?p=xymon.git;a=shortlog;h=refs/tags/4.3.10-alt1 git.alt]. В основном, это касается отделения web-части от подпакета xymon и объединения общих файлов исходных подпакетов (xymon и xymon-client) в подпакет xymon-common. | ||
== Архитектура == | == Архитектура == | ||
Система мониторинга имеет клиент-серверную архитектуру. При этом, xymon-сервер выполняет сетевые тесты (ping, ssh, telnet и т.п.), xymon-клиент - локальные (проверка журналов, проверка доступного места на разделах, ослеживание загрузки и т.п.), то есть, при установке сервера, ставится и клиентская часть, но с видоизменённой конфигурацией. Если есть необходимость выполнения сетевых тестов не с основного сервера, на таком хосте следует ставить серверный вариант (пакет xymon), если интересны только локальные тесты, можно обойтись пакетом xymon-client. Те из серверных инсталляций, которые должны обеспечивать отображение состояния через web-интерфейс, дополнительно должны содержать пакет xymon-web. | Система мониторинга имеет клиент-серверную архитектуру. При этом, xymon-сервер выполняет сетевые тесты (ping, ssh, telnet и т.п.), xymon-клиент - локальные (проверка журналов, проверка доступного места на разделах, ослеживание загрузки и т.п.), то есть, при установке сервера, ставится и клиентская часть, но с видоизменённой конфигурацией. Если есть необходимость выполнения сетевых тестов не с основного сервера, на таком хосте следует ставить серверный вариант (пакет xymon), если интересны только локальные тесты, можно обойтись пакетом xymon-client. xymon-client, посредством xymonclient.sh (который вызывает xymonclient-<os>.sh), собирает информацию о системе и отправляет собранную информацию на сервер. Те из серверных инсталляций, которые должны обеспечивать отображение состояния через web-интерфейс, дополнительно должны содержать пакет xymon-web. | ||
== Установка и настройка == | |||
Пакет использует каталог /dev/shm. Проверьте наличие этого каталога. Его может создавать udev, либо он может быть описан в fstab примерно так: | |||
shmfs /dev/shm tmpfs nosuid,noexec,nodev,size=1G 0 0 | |||
Символ # в hosts.cfg является признаком комментария, если находится в начале строки, но в описании хостов он является разделителем описания хоста и набора тестов. При этом xymon игнорирует неопознанные тесты, что даёт возможность использовать этот файл для указания собственных тестов. | |||
=== Установка сервера c web-интерфейсом === | |||
Данный пакет есть в зависимостях пакета с конфигурацией web-сервера, так что, в отдельной установке смысла нет. Но, тем не менее: | |||
apt-get install xymon-web | |||
Веб-часть каждый раз формируется заново, потому хорошей идеей будет разместить её на tmpfs. Допишите в fstab строку: | |||
tmpfs /var/www/xymon tmpfs nosuid,noexec,nodev,size=15M,uid=xymon,gid=xymon,mode=775 0 0 | |||
Не забудьте примонтировать: | |||
mount /var/www/xymon | |||
После установки надо активировать и запустить сервис: | |||
chkconfig xymon on | |||
service xymon start | |||
В случае необходимости отчётов разрешите запись для группы в /var/cache/xymon: | |||
chmod g+w /var/cache/xymon | |||
{{Note|Есть проблема с Firefox: {{altbug|37520}}; PaleMoon и Chromium работают, как ожидается}} | |||
<!-- | |||
==== настройка Apache 2.x ==== | |||
apt-get install xymon-apache2 | |||
a2enmod cgi | |||
конфигурационный файл окажется в каталоге /etc/httpd2/conf/addon.d/. Править по вкусу, можно, например, убрать авторизацию и сделать доступ по спискам IP-адресов. | |||
--> | |||
==== настройка Apache 2.4+ ==== | |||
apt-get install xymon-apache2 | |||
a2enmod cgi authn_core authz_core access_compat | |||
a2enextra httpd-addon.d | |||
конфигурационный файл окажется в каталоге /etc/httpd2/conf/addon.d/. Править по вкусу. Можно, например, убрать авторизацию (секция RequireAll) и сделать доступ по спискам IP-адресов. Надо поменять httpd-addon.d=no на httpd-addon.d=yes в /etc/httpd2/conf/extra-start.d/010-httpd-addon.d.conf, иначе addon.d отключится при обновлении Apache. Доступ по url вида http://hostname/xymon | |||
Активируйте и запустите Apache: | |||
chkconfig httpd2 on | |||
service httpd2 start | |||
=== Установка сервера-коллектора === | |||
Данный вариант рассматривается, как клиент с расширенным функционалом. | |||
apt-get install xymon | |||
chkconfig xymon on | |||
service xymon start | |||
=== Установка fping === | |||
Тест conn выполняется посредством fping. Его надо установить, после чего произвести настройку доступа. | |||
apt-get install fping | |||
Доступ переключается утилитой control, доступные варианты public, netadmin и restricted. При выборе netadmin следует добавить пользователя xymon в эту группу. | |||
control fping netadmin | |||
usermod -aG netadmin xymon | |||
service xymon restart | |||
=== Установка клиента (Linux) === | |||
apt-get install xymon-client | |||
chkconfig xymon-client on | |||
service xymon-client start | |||
Имя клиента должно быть добавлено в файл /etc/xymon/hosts.cfg сервера. При этом имя может не быть FQDN, но должно точно соответствовать тому, что задано в переменной MACHINEDOTS в файле /etc/sysconfig/xymon-client. При установке xymon-client переменная заполняется значением `hostname`. IP-адрес сервера указывается тут же, в переменной XYMONSERVERS. | |||
== Известные проблемы == | |||
=== Слишком большой размер msg-файла клиента === | |||
xymon-клиент собирает информацию о хосте в файл /dev/shm/msg.$MACHINEDOTS.txt (MACHINEDOTS, как правило, имя хоста, хотя и может быть переопределено). Сервер имеет ограничение на размер принимаемого файла, однако, в некоторых случаях, этот файл может принимать очень большой размер. Например, при большом количестве сетевых интерфейсов, или при большом количестве маршрутов (например, если хост является маршрутизатором с BGP). Необходимость сбора статистики по интерфейсам и маршрутам можно отключить посредством определения соответствующих переменных в /etc/sysconfig/xymon-client ([http://git.altlinux.org/gears/x/xymon.git?p=xymon.git;a=commitdiff;h=07b527812be6076c3dc6554bf0e7e36d7633084e патч добавлен в 4.3.10-alt2]). Значение по умолчанию 102400b, в сборке в ALT увеличено до 4194303b. | |||
=== Переименование самодельного теста === | |||
Cобственно, переименовать тест просто: | |||
$ xymon 127.0.0.1 "rename some.host.name oldname newname" | |||
При этом, так же, надо поменять значение соответствующей переменной в тестирующем скрипте. Танцы с бубном начинаются, если надо сменить только регистр в имени теста: | |||
$ xymon 127.0.0.1 "rename some.host.name mytest MyTest" | |||
Xymon пытается сохранить исходное имя с завидным упорством. Данные по тестам MyTest, myTEst и т.п. собираются под исходным именем mytest. Найденный способ переименования такой. Во-первых, надо отключить все источники информации по данному тесту. Далее, надо выполнить на сервере: | |||
$ xymon 127.0.0.1 "xymondboard test=mytest fields=hostname" |\ | |||
while read H; do | |||
xymon 127.0.0.1 "rename $H mytest MyTest" | |||
done | |||
$ xymon 127.0.0.1 "xymondboard test=mytest fields=hostname" |\ | |||
while read H; do | |||
xymon 127.0.0.1 "drop $H mytest" | |||
done | |||
$ sudo service xymon restart | |||
После этого можно запускать тесты с новым именем. То есть, получается, что запущенный Xymon помнит про старое имя до перезапуска и хранит остатки старых тестов. Если хоть что-то останется, вновь пришедшая информация будет записана под именем в старом написании. |
Текущая версия от 16:42, 14 апреля 2020
Историческая справка
Cистема мониторинга Xymon была создана в 2002 году, как дополнение, называвшееся BBGEN, к коммерческой системе Big Brother. Со временем, проект стал полностью самостоятельным. До момента переименования в Xymon в 2009 году, проект был известен под именем Hobbit.
Некоторые возможности системы мониторинга
Система мониторинга примечательна, в первую очередь, сводной панелью аварий, выполненной в виде матрицы, где по вертикали располагаются хосты, по горизонтали тесты (можно настроить наоборот). Основа матрицы формируется из тестов в состояниях "авария", "предупреждение" и "данные не поступают длительное время". Остальные пересечения, если они имеются, заполняются своими текущими состояниями. Эта идея была заимствована из Big Brother. В Xymon она была дополнена ещё несколькими состояниями и двойными иконками, которые используются для отображения кратковременного и долговременного состояния: иконка состояния меняется, если состояние не менялось больше суток. Тесты могут быть отключены на произвольное время, кроме того, можно настроить отключение тестов по расписанию.
Особенности сборки в ALT Linux
За основу пакета был взят src.rpm c terabithia.org с большим набором патчей. Отличия сборки для ALT Linux от пакета Japheth Cleaver можно посмотреть на git.alt. В основном, это касается отделения web-части от подпакета xymon и объединения общих файлов исходных подпакетов (xymon и xymon-client) в подпакет xymon-common.
Архитектура
Система мониторинга имеет клиент-серверную архитектуру. При этом, xymon-сервер выполняет сетевые тесты (ping, ssh, telnet и т.п.), xymon-клиент - локальные (проверка журналов, проверка доступного места на разделах, ослеживание загрузки и т.п.), то есть, при установке сервера, ставится и клиентская часть, но с видоизменённой конфигурацией. Если есть необходимость выполнения сетевых тестов не с основного сервера, на таком хосте следует ставить серверный вариант (пакет xymon), если интересны только локальные тесты, можно обойтись пакетом xymon-client. xymon-client, посредством xymonclient.sh (который вызывает xymonclient-<os>.sh), собирает информацию о системе и отправляет собранную информацию на сервер. Те из серверных инсталляций, которые должны обеспечивать отображение состояния через web-интерфейс, дополнительно должны содержать пакет xymon-web.
Установка и настройка
Пакет использует каталог /dev/shm. Проверьте наличие этого каталога. Его может создавать udev, либо он может быть описан в fstab примерно так:
shmfs /dev/shm tmpfs nosuid,noexec,nodev,size=1G 0 0
Символ # в hosts.cfg является признаком комментария, если находится в начале строки, но в описании хостов он является разделителем описания хоста и набора тестов. При этом xymon игнорирует неопознанные тесты, что даёт возможность использовать этот файл для указания собственных тестов.
Установка сервера c web-интерфейсом
Данный пакет есть в зависимостях пакета с конфигурацией web-сервера, так что, в отдельной установке смысла нет. Но, тем не менее:
apt-get install xymon-web
Веб-часть каждый раз формируется заново, потому хорошей идеей будет разместить её на tmpfs. Допишите в fstab строку:
tmpfs /var/www/xymon tmpfs nosuid,noexec,nodev,size=15M,uid=xymon,gid=xymon,mode=775 0 0
Не забудьте примонтировать:
mount /var/www/xymon
После установки надо активировать и запустить сервис:
chkconfig xymon on service xymon start
В случае необходимости отчётов разрешите запись для группы в /var/cache/xymon:
chmod g+w /var/cache/xymon
настройка Apache 2.4+
apt-get install xymon-apache2 a2enmod cgi authn_core authz_core access_compat a2enextra httpd-addon.d
конфигурационный файл окажется в каталоге /etc/httpd2/conf/addon.d/. Править по вкусу. Можно, например, убрать авторизацию (секция RequireAll) и сделать доступ по спискам IP-адресов. Надо поменять httpd-addon.d=no на httpd-addon.d=yes в /etc/httpd2/conf/extra-start.d/010-httpd-addon.d.conf, иначе addon.d отключится при обновлении Apache. Доступ по url вида http://hostname/xymon
Активируйте и запустите Apache:
chkconfig httpd2 on service httpd2 start
Установка сервера-коллектора
Данный вариант рассматривается, как клиент с расширенным функционалом.
apt-get install xymon chkconfig xymon on service xymon start
Установка fping
Тест conn выполняется посредством fping. Его надо установить, после чего произвести настройку доступа.
apt-get install fping
Доступ переключается утилитой control, доступные варианты public, netadmin и restricted. При выборе netadmin следует добавить пользователя xymon в эту группу.
control fping netadmin usermod -aG netadmin xymon service xymon restart
Установка клиента (Linux)
apt-get install xymon-client chkconfig xymon-client on service xymon-client start
Имя клиента должно быть добавлено в файл /etc/xymon/hosts.cfg сервера. При этом имя может не быть FQDN, но должно точно соответствовать тому, что задано в переменной MACHINEDOTS в файле /etc/sysconfig/xymon-client. При установке xymon-client переменная заполняется значением `hostname`. IP-адрес сервера указывается тут же, в переменной XYMONSERVERS.
Известные проблемы
Слишком большой размер msg-файла клиента
xymon-клиент собирает информацию о хосте в файл /dev/shm/msg.$MACHINEDOTS.txt (MACHINEDOTS, как правило, имя хоста, хотя и может быть переопределено). Сервер имеет ограничение на размер принимаемого файла, однако, в некоторых случаях, этот файл может принимать очень большой размер. Например, при большом количестве сетевых интерфейсов, или при большом количестве маршрутов (например, если хост является маршрутизатором с BGP). Необходимость сбора статистики по интерфейсам и маршрутам можно отключить посредством определения соответствующих переменных в /etc/sysconfig/xymon-client (патч добавлен в 4.3.10-alt2). Значение по умолчанию 102400b, в сборке в ALT увеличено до 4194303b.
Переименование самодельного теста
Cобственно, переименовать тест просто:
$ xymon 127.0.0.1 "rename some.host.name oldname newname"
При этом, так же, надо поменять значение соответствующей переменной в тестирующем скрипте. Танцы с бубном начинаются, если надо сменить только регистр в имени теста:
$ xymon 127.0.0.1 "rename some.host.name mytest MyTest"
Xymon пытается сохранить исходное имя с завидным упорством. Данные по тестам MyTest, myTEst и т.п. собираются под исходным именем mytest. Найденный способ переименования такой. Во-первых, надо отключить все источники информации по данному тесту. Далее, надо выполнить на сервере:
$ xymon 127.0.0.1 "xymondboard test=mytest fields=hostname" |\ while read H; do xymon 127.0.0.1 "rename $H mytest MyTest" done $ xymon 127.0.0.1 "xymondboard test=mytest fields=hostname" |\ while read H; do xymon 127.0.0.1 "drop $H mytest" done $ sudo service xymon restart
После этого можно запускать тесты с новым именем. То есть, получается, что запущенный Xymon помнит про старое имя до перезапуска и хранит остатки старых тестов. Если хоть что-то останется, вновь пришедшая информация будет записана под именем в старом написании.