Observium — установка системы мониторинга

02observium_2

Здравствуйте, уважаемые.

Что пробудило во мне интерес в написании данной статьи? То что бывает иногда появляется доказывать что нагрузка на систему возросла и необходимо показать сколько памяти было необходимо год назад и сколько жрет система сейчас. Для таких целей нужна система типа Observium чтобы держать историю по загрузке системы ну и конечно же мониторинг.

И так начнем.

Observium является PHP / MySQL системой мониторинга сети, ориентированной прежде всего на Cisco и Linux сети, но и включает поддержку широкого спектра сетевого оборудования и операционных систем.

Observium выросла из-за отсутствия простых в использовании NMSes. Она предназначена для обеспечения более нативного интерфейса управления. Разрабатан для быстрого сбора информации о устройствах и хранения истории изменений без ручного вмешательства

Observium является свободным программным обеспечением.
Тестовый стенд буду настраивать на CentOS 6 и Apache.

Репозитории
Для начала добавляем RPM Forge и EPEL репозитории чтобы установить доп.пакеты:

x86_64

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

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

Пакеты

Установим необходимые пакеты для работы Observium:

yum install httpd php php-mysql php-gd php-snmp 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

On x86_64 systems this will tend to try to install i386 packages too unless you’ve explicitly blocked them, so you can try to install the x86_64 packages only:

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

Если Вы собираетесь мониторит виртуальные машины, то необходимо установить libvirt:

yum install libvirt

Закачка
Создаем каталог для Obversium и заходим на него:

mkdir -p /opt/observium && cd /opt

Проверяем последнюю версию Observium c SVN репозитория:

svn co www.observium.org/svn/observer/trunk observium

Переходим на созданную для инсталяции директорию:

cd observium

База данных
Теперь идем дальше настраивать mysql, так как у нас новая система и необходимо настроит пароль root-а:

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

Теперь необходимо ввести новый пароль для базы Observium-а:

mysql -u root -p
mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost'
-> IDENTIFIED BY '';

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

Для начала необходимо отключить SELinux (Может кому то и не надо будет, но у меня не заработал пока не отключил):

setenforce 0

Так же необходимо в /etc/selinux/config сменить параметры SELinux-а на permissive

SELINUX=permissive

Копируем файл конфигурации для бекапа и начнем изменения:

cp config.php.default config.php

Добавляем fping и путь к нему в нашу конфигу:

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

Setup the MySQL database and insert the default schema:

php includes/update/update.php

Create the rrd directory to store RRDs in:
Создаем директорию rrd для сохранения RRD файлов:

mkdir rrd
chown apache:apache rrd

Если на сервере работает только Observium, то вносим изменения в /etc/httpd/conf/httpd.conf типа:

<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

Создаем директорию для сбора логов с вебсервера Apache:
mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs

Создаем первого пользователя для Observium, для этого воспользуемся скриптом adduser.php который в каталоге Observium:

cd /opt/observium
./adduser.php komilgulboev papasword13 10

**цифра 10 означает группу Администратора системы

Добавляем первый хост для мониторинга:

./add_device.php server1 public v2c
**К сожалению Observium не может добавить по IP-адресу и для этого необходимо прописать в /etc/hosts след.

192.168.1.30 server1

След. скрипты необходимы для обзора и запроса данных:

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

Cron

Для периодического обзора и сбора данных добавляем задачу в Cron-e, создаем файл /etc/cron.d/observium, и добавляем:

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:

/etc/init.d/cron reload

Заходим на WEB-интерфейс для того чтобы увидеть что у нас получилось:

http://Если все в порядке то добавляем httpd и mysql в стартап:

chkconfig mysqld on
chkconfig httpd on

Ссылка на сайт разработчика платформы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *