Система мониторинга Observium
Система мониторинга Observium.
Содержание
1 Общая информация
- Сайт: https://www.observium.org/.
- Хорош тем, что практически не требует настройки. Работает из коробки.
- Observium доступен в двух версиях:
- бесплатная Community (выпускается раз в 6 месяцев);
- платная Professional;
- платная Enterprise.
- Observium Community годится только для сервисов не критичных к времени реакции, так как устройства по SNMP опрашиваются раз в 5 минут.
- В платной версии предусмотрен модуль Alarms.
- Опрос устройств осуществляется по протоколу SNMP.
- Наилучшим образом подходит для мониторинга коммутационного оборудования.
2 Подключение устройств
- Для добавления маршрутизатора Cisco достаточно задать SNMP community:
1snmp-server community public RO
- Добавление устройств в Observium осуществляется либо через меню веб интерфейса (Devices->Add device), либо из командной строки сервера (из каталога Observium):
1./add_device.php hostname
3 Принципы работы
- Сбор статистики поделен на 2 основных процесса:
discovery
: выполняется основное обнаружение поддерживаемых на данном устройстве датчиков;poller
: опрос устройств каждые 5 минут.
- В версии для подписчиков есть ещё 2 дополнительных процесса, работающих совместно с процессом
poller
:bill
: подсчёт биллинговой информации на отдельных портах для пользователей;alert
: генерация уведомлений по собираемым системой параметрам.
4 Установка Observium
- Создаем директории, в которых будут располагаться файлы Observium:
1sudo mkdir -p /opt/observium
- Скачаем версию Community Edition:
- Переходим в папку с конфигурационными файлами и создаем конфигурационный файл, скопировав файл по умолчанию:
- Открываем файл
config.php
и редактируем настройки MySQL:username
,password
,dbname
. - Подключаемся к MySQL:
1mysql -u root -p
- Создаём базу данных с именем
observium
:1CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- Даём полные привилегии пользователю
observium
на одноименную базу данных:1GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost'IDENTIFIED BY 'PASSWORD';
- Выполняем скрипт конфигурации ранее созданной базы данных MySQL:
1/opt/observium/discovery.php -u
- Создаем дополнительные служебные каталоги:
- Создайте файл
/etc/httpd/conf.d/observium.conf
:1<VirtualHost *> 2 DocumentRoot /opt/observium/html/ 3 ServerName observium.domain.com 4 CustomLog /opt/observium/logs/access_log combined 5 ErrorLog /opt/observium/logs/error_log 6 <Directory "/opt/observium/html/"> 7 AllowOverride All 8 Options FollowSymLinks MultiViews 9 Require all granted 10 </Directory> 11</VirtualHost>
- Создайте файл
/etc/cron.d/observium
:1# Run a complete discovery of all devices once every 6 hours 233 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1 3# Run automated discovery of newly added devices every 5 minutes 4*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1 5# Run multithreaded poller wrapper every 5 minutes 6*/5 * * * * root /opt/observium/poller-wrapper.py >> /dev/null 2>&1 7# Run housekeeping script daily for syslog, eventlog and alert log 813 5 * * * root /opt/observium/housekeeping.php -ysel 9# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data 1047 4 * * * root /opt/observium/housekeeping.php -yrptb
- Чтобы форсировать мониторинг устройств, нужно выполнить команды:
5 Обновление Observium
- Переименуйте старую установку и скачайте и распакуйте новую (всё под пользователем
root
): - Исправьте права доступа:
1chown -R apache:apache /opt/observium
- Обновите схему БД:
1/opt/observium/discovery.php -u
- Можно принудительно выполнить немедленное повторное обнаружение всех устройств:
1/opt/observium/discovery.php -h all
- Можно удалить каталог
observium_old
:1rm -rf observium_old