Xymon

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Information.svg Полезные ссылки:
сводная панель аварий

Историческая справка[править]

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.

Установка и настройка[править]

Установка сервера c web-интерфейсом[править]

Данный пакет есть в зависимостях пакета с конфигурацией web-сервера, так что, в отдельной установке смысла нет. Но, тем не менее:

apt-get install xymon-web

после установки надо активировать и запустить сервис:

chkconfig xymon on
service xymon start

настройка Apache 2.x[править]

apt-get install xymon-apache2
a2enmod cgi

конфигурационный файл окажется в каталоге /etc/httpd2/conf/addon.d/. Править по вкусу, можно, например, убрать авторизацию и сделать доступ по спискам IP-адресов.

настройка Apache 2.4+[править]

Дополнительно нужно включить модули authn_core, authz_core и access_compat.

Установка сервера-коллектора[править]

Данный вариант рассматривается, как клиент с расширенным функционалом.

apt-get install xymon
chkconfig xymon on
service xymon start

Установка клиента (Linux)[править]

apt-get install xymon-client
chkconfig xymon-client on
service xymon-client start

Известные проблемы[править]

Слишком большой размер msg-файла клиента[править]

xymon-клиент собирает информацию о хосте в файл /dev/shm/msg.$MACHINEDOTS.txt (MACHINEDOTS, как правило, имя хоста, хотя и может быть переопределено). Сервер имеет ограничение на размер принимаемого файла, однако, в некоторых случаях, этот файл может принимать очень большой размер. Например, при большом количестве сетевых интерфейсов, или при большом количестве маршрутов (например, если хост является маршрутизатором с BGP). Необходимость сбора статистики по интерфейсам и маршрутам можно отключить посредством определения соответствующих переменных в /etc/sysconfig/xymon-client (патч добавлен в 4.3.10-alt2)

Переименование теста[править]

Cобственно, переименовать тест просто:

$ xymon 127.0.0.1 "rename some.host.name oldname newname"

Также необходимо поменять some.host.name в конфигурационном файле hosts.cfg.

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

$ 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 помнит про старое имя до перезапуска и хранит остатки старых тестов. Если хоть что-то останется, вновь пришедшая информация будет записана под именем в старом написании.