Установка мониторинг-системы Observium

Установка мониторинг-системы Observium

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Установка удобной и бесплатной мониторинг системы Observium на сервер CentOS

Добавляем необходимые репозитории

Для успешной установки потребуется подключение дополнительных репозиторий.

x86_64

1
2
3
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

i386

1
2
3
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i386.rpm
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

Версии 4 и 5 не поддерживают установку Observium.

Установка пакетов

Теперь нам необходимо установить пакеты для нормальной работы с Observium.

1
2
3
yum install wget httpd php php-mysql php-gd php-snmp php-posix vixie-cron php-mcrypt \
php-pear net-snmp net-snmp-utils graphviz subversion mysql-server mysql rrdtool fping ImageMagick \
jwhois nmap ipmitool php-pear.noarch MySQL-python

Если у нас имеется сервер Qemu KVM, и мы хотим мониторить виртуалки, то устанавливаем пакет libvirt

1
yum install libvirt

Устанавливаем Observium

Мы будем рассматривать установку бесплатной версии, не для подписчиков.
Скачиваем последнюю версию в удобную для нас папку и распакуем архив.

1
2
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz

Настройка Observium

Переходим в директорию с загруженной программой.

1
cd observium

Настройка баз данных

Запускаем и настраиваем сервер MySQL

1
2
service mysqld start
/usr/bin/mysqladmin -u root password 'yournrewrootpassword'

Создаем базу данных для Observium

1
2
3
4
5
mysql -u root -p
<mysql root password>
mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost'
-> IDENTIFIED BY '<observium db password>';

Обратим внимание, чтобы MySQL был запущен не в строгом режиме.
Observium его не поддерживает.

Конфигурация

Рекомендую отключать SELinux, дабы не возникли проблемы с работой.
Временно отключить можно командой

1
setenforce 0

Для полного отключения, отключим его в настройках /etc/selinux/config

1
SELINUX=permissive

Находясь в корневой директории копируем конфигурацию по-умолчанию в рабочую

1
cp config.php.default config.php

Вносим изменения в конфигурационный файл.

1
2
3
4
$config['db_host'] = '';
$config['db_user'] = '';
$config['db_pass'] = '';
$config['db_name'] = '';

Добавляем путь до fping в CentOS

1
$config['fping'] = "/usr/sbin/fping";

Создаем структуру базы и устанавливаем её

1
php includes/update/update.php

Создадим папку под log

1
mkdir logs

Также создадим папку под хранение RRD файлов

1
2
mkdir rrd
chown apache:apache rrd

Если на сервере планируется устанавливать ТОЛЬКО Observium, то редактируем конфиг Apache /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
<VirtualHost *:80>
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
</Directory>
</VirtualHost>

Создадим папку для лог-файлов apache

1
2
mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs

Теперь создадим администратора для доступа в Observium (указываем уровень 10 - это уровень администратора)

1
2
cd /opt/observium
./adduser.php <username> <password> <level>

Добавляем устройство для мониторинга (Observium не работает с IP-адресами, только через hostname)

1
./add_device.php <hostname> <community> v2c

После добавления устройства производим обнаружение и опрос устройства.

1
2
./discovery.php -h all
./poller.php -h all

Cron

Добавляем в cron /etc/cron.d/observium
ВНИМАНИЕ! Крон не будет работать в /etc/crontab или /etc/cron.d/

1
2
3
33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1

И перезапускаем cron

1
/etc/init.d/crond reload

Добавляем в автозапуск сервисы

1
2
chkconfig mysqld on
chkconfig httpd on
On this page