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