Pull to refresh

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

Reading time 4 min
Views 26K
Здравствуйте, уважаемые.

Что пробудило во мне интерес в написании данной статьи? То что бывает иногда появляется доказывать что нагрузка на систему возросла и необходимо показать сколько памяти было необходимо год назад и сколько жрет система сейчас. Для таких целей нужна система типа 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


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

P.S. Друзья ввиду того что пишу не часто и что русский язык мне не родной прошу особо не пинать за ошибки :) Удачи Вам!
Only registered users can participate in poll. Log in, please.
Какую систему мониторинга Вы используете?
13.27% Nagios 39
55.44% Zabbix 163
0.68% Operation Manager 2
8.16% Observium 24
22.45% Другую систему 66
294 users voted. 105 users abstained.
Tags:
Hubs:
-2
Comments 9
Comments Comments 9

Articles