Введение
JBMon представляет из себя распределенную систему мониторинга GNU/Linux-серверов с управлением через протокол xmpp. Распространяется под свободной лицензией GNU GPLv2.
Возможности
- Статистика
- запущенные процессы
- загрузка процессора
- утилизации ФС
- значения load average
- сетевые интерфейсы
- утилизация памяти
- пользователи
- Мониторинг
- доступности хоста
- запущенных процессов
- свободного места на ФС
- свободной оперативной памяти
- загрузки процессора
- Управление
- Загрузочными(init) скриптами
- Запущенными процессами
- Реакции на события объектов мониторинга
- Доступ
- jabber
- jabber-транспорты: возможно получить доступ через протоколы icq, msn, irс и т.д.
Принцип работы
JBMon разбит на 3 различных по функциональности модуля: агент(jbagent), монитор(jbmon) и джаббер-бот(jmbot).
Агенты, установленные на сетевых хостах собирают различную статистику и отслеживают статусы запущенных служб, процессов и т.д.
Монитор служит для того, чтобы опрашивать агентов и, в случае исключительной ситуации, передавать сообщения от агентов боту, который, в свою очередь, доставляет сообщение пользователю.
Jabber Бот служит интерфейсом для запросов различной статистики от агентов и управления удаленными хостами.
Установка из исходников
Зависимости:
libstatgrab >= 0.16
libstatgrab-dev >= 0.16
libgloox >= 0.9.9.5
libgloox-dev >= 0.9.9.5
libboost-regex >= 1.35.0
libboost-regex-dev >= 1.35.0
sysvconfig >= 0.81
libssl >= 0.9.8
libssl-dev >= 0.9.8
cmake >= 2.6.0Для сборки необходимо перейти в каталог с исходным кодом и выполнить:
cd sockets/
make
cd ..
cmake .
make
make install (с правами root)По умолчанию бинарники ставятся в /usr/local/bin, конфиги в /usr/local/etc/jbmon.
Установка в Debian 5.0
aptitude install libstatgrab6 libgloox7 libboost-regex1.35.0 sysvconfig -V
dpkg -i jbmon-0.1.deb jbagent-0.1.deb jmbot-0.1.deb
Настройка
jbagent читает свои настройки из файла agent.conf:
#Здесь описываем какие процессы мониторим
[services]
sshd
apache2
#Включаем систему оповещения для fs - файловой системы, ps - процессов, mem - памяти
[alerts]
fs
ps
mem
#Указываем порог предупреждения свободного места на файловой системе, в Мб
[fs_threshold]
400
#Задаем порог предупреждения для load average
[la_threshold]
1.0
#Порог предупреждения свободной оперативной памяти, в Мб
[mem_threshold]
500
#Путь к service
[service_path]
/usr/sbin/service
jbmon и jmbot читают свои настройки из файла server.conf:
#Указываем имена и ip-адреса хостов с установленными агентами(jbagent)
[agents]
host1:127.0.0.1
host2:192.168.0.7
host3:192.168.2.1
host4:192.168.0.27
host5:192.168.0.2
host6:192.168.0.28
host7:192.168.0.9
host8:192.168.0.14
#Указываем jid-ы администраторов с правами доступа к боту.
[administrators]
support@example.ru
00000000@icq.example.ru
#Здесь указываем ip на котором запущен jabber-бот(jmbot) и указываем jid и пароль для него
[bot]
192.168.0.14
bratan@example.ru:exmplpasswd