Одной из главных целей проекта Observium (observium.org) — дать администратору простой в настройке и сопровождении инструмент с максимальной автоматизацией всех процессов и доступностью информации. Распространяется под лицензией GNU GPL. Для сбора данных использует SNMP и не требует установки агентов на клиентских системах. Поддерживает большое количество оборудования и ОС — Cisco, Linux, FreeBSD, Windows, Juniper, Brocade, Foundry, принтеры ряда производителей и многие другие. Процесс обнаружения и подключения устройств к серверу максимально упрощен и редко требует ручной доводки. Понятный интерфейс позволяет получать данные о состоянии систем, выводить историю и текущие показатели статистик, оценивать производительность и ошибки сети (включая данные динамического роутинга BGP, OSPF). Поддерживается Cisco Discovery Protocol. В консоли управления выводится информация из Syslog. Возможно подключение к сервису сбора и визуализации статистики Collectd и Smokeping (мониторинг состояния каналов). Проект также предлагают скрипты для контроля и мониторинга некоторых приложений — Apache, nginx и MySQL. Observium не содержит какой-либо системы оповещения, а ориентирован только на сбор и визуализацию данных.
Для отображения данных используется RRDTools, веб-интерфейс написан на PHP, все данные хранятся в MySQL, поэтому для установки можно использовать любой LAMP сервер (поддерживается Apache с модулями mod_php и mod_rewrite). В репозитариях дистрибутивов пакетов с Observium нет, хотя сам процесс установки вообщем стандартен для приложений написанных на PHP. Также потребуется пакеты ipmitool, graphviz и fping..
$ sudo aptitude install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear snmp graphviz subversion mysql-server mysql-client rrdtool fping imagemagick whois mtr-tiny nmap ipmitool
Если планируется контроль виртуальных сред, то добавляем и libvirt:
$ sudo apt-get install libvirt-bin
Пакетов Net_IP в Ubuntu нет поэтому ставим их через PEAR.
$ sudo pear install Net_IPv6
$ sudo pear install Net_IPv4
Разработчики предлагают только доступ к SVN
$ sudo mkdir -p /opt/observium && cd /opt
$ sudo svn co http://www.observium.org/svn/observer/trunk observium
Можно выбрать и любой другой каталог, но тогда не забудьте поменять его данные в includes/defaults.inc.php:
$config['install_dir'] = "/var/www/observium";
Создадим два каталога для данных и графиков и установим правильные права доступа (в Debian/Ubuntu веб-сервер работает от имени www-data):
$ sudo mkdir graphs rrd
$ sudo chown -R www-data.www-data ./*
Создаем базу данных и учетную запись для работы с observium:
$ mysql -u root -p
mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost'
-> IDENTIFIED BY 'password';
mysql> quit
Копируем шаблон конфигурационного файла:
$ cd observium
$ sudo cp config.php.default config.php
Редактируем шаблон:
$ sudo nano config.php
### настройки подключения к БД
$config['db_host'] = "localhost";
$config['db_user'] = "observium";
$config['db_pass'] = "password";
$config['db_name'] = "observium";
### список сетей для сканирования
$config['nets'][] = "172.22.0.0/16";
$config['nets'][] = "192.168.10.0/24";
Подключаем схему БД:
$ sudo php includes/sql-schema/update.php
-- Updating database schema
000 -> 001 ... done.
001 -> 002 ... done.
002 -> 003 ... done.
003 -> 004 ... done.
004 -> 005 ... done.
005 -> 006 ... done (0 errors).
....
Если в процессе будут ошибки после 006, это нормально.
Теперь нужно настроить веб-сервер, чтобы он видел файлы:
$ sudo nano /etc/apache2/sites-available/observium
DocumentRoot /opt/observium/html/
ServerName observium.example.org
CustomLog /opt/observium/logs/access_log combined
ErrorLog /opt/observium/logs/error_log
AllowOverride All
Options FollowSymLinks MultiViews
Разработчики рекомендуют только Apache, хотя немного изменив конфигурационные файлы можно использовать и другой веб-сервер вроде ngnix.
Подключаем виртуальный сайт, модуль rewrite и перезапускаем Apache чтобы изменения вступили в силу.
$ sudo a2ensite observium
$ sudo a2enmod rewrite
$ sudo service apache2 restart
Настроим SNMP для контроля локального сервера:
$ sudo apt-get install snmpd snmp-mibs-downloader
$ sudo nano /etc/snmp/snmp.conf:
# mibs :
mibdirs /opt/observium/mibs
Проверяем:
$ sudo service snmpd restart
$ snmpwalk -v 2c -c public localhost
Добавляем учетную запись Observium (10 — уровень)
$ sudo ./adduser.php admin password 10
User admin added successfully
Подключаем локальный сервер для мониторинга:
./addhost.php localhost public v2c
Trying community public
Added device localhost (1)
И запускаем поиск устройств:
$ sudo ./discovery.php -h all
Observium v0.12.4.2969 Discovery
MySQL: Cell[1/0s] Row[1/0.02s] Rows[1/0.02s] Column[0/0s] Update[0/0s] Insert[0/0s] Delete[0/0s]
$ sudo ./poller.php -h all
Observium Poller v0.12.4.2969
Starting polling run:
MySQL: Cell[0/0s] Row[0/0s] Rows[1/0s] Column[0/0s] Update[0/0s] Insert[0/0s] Delete[0/0s]
Далее этот процесс поручим cron:
$ sudo nano /etc/cron.d/observium
33 */6 * * * root cd /opt/observium/ && ./discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root cd /opt/observium/ && ./discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root cd /opt/observium/ && ./poller.php -h all >> /dev/null 2>&1
Перезапускаем cron.
$ sudo service cron reload
Теперь вызываем браузер на странице http://host/observium регистрируемся с данными учетной записи созданными при помощи adduser.php и наблюдаем графики.
//
После выполнения:
sudo service apache2 restart
Выдаёт ошибку:
could not reliably determine the server’s fully qualified domain name
Что делать?
//
Значит Apache не может определить свой FQDN в разных дистрах это реализуется по своему/ В идеале нужно указать ServerName но в Ubuntu достаточно прописать правильное имя в /etc/hosts
127.0.0.1 имя
//
спасибо.
Просмотрел файл /etc/hosts и привёл первую строку к виду:
127.0.0.1 localhost.localdomain localhost observion.
//
Появилась новая проблема.
после команды:
./addhost.php localhost public v2c
выдаётся ошибка:
No reply on community public using v2c
Could not reach localhost with given SNMP community using v2c
Поиск новых устройст не выполняется не из терминала, не из Веб интерфейса.
в чём может быть проблема?
//
С проблемкой разобрался. Была моя ошибка.
//
В чем может быть проблема — не рисуются графики, пишет Error Drawing Graph?
Спасибо!
//
Ошибка описана в includes/graphs/graph.inc.php
//
Кажется разобрался. Устанавливал на CentOS 6.0 по мануалу на сайте. Однако, как оказалось, по какой-то причине не установились корректные права на директории html/, includes/, rrd/ и graphs/, а так же файлы *.php из той же директории html/. Лечится chmod +x.
Сейчас графики строятся.
Спасибо за отклик!
//
Если все установлено, то ошибка прав доступа это первое что приходит в голову.
//
Таже самая ошибка Error Drawing Graph. Права на папки выставил… и все равно не строит( ставлю на Ubuntu 12.02
//
Error Drawing Graph не может снять информацию по SNMP, просто ее нету, настройте SNMP на ПК с которого снимаете информацию.
//
SNMP localhost pyblic дефолтовые натсройки, сразу после установки. snmpwalk нормально проходит, выводит информацию. причем я уже дошел до того что ставил на SUSE Debian FreeBSD везде одно и тоже после инстала заходиш на главную страницу и ни один график не строится. Даже если подождать несколько суток тоже самое. Делаю строго по инструкции что тут что на офф сайте обсервиума, помогите люди добрые я уже просто не понимаю(
//
покажите файлы /etc/snmp/snmpd.conf, /etc/snmp/snmp.conf
можете их изменить согласно snmpd.conf.example и snmp.conf.example из директории observium.
у меня тоже эта ошибка была, изменил эти файлы и все пошло. Ubuntu 12.04.1 LTS
//
После выполнения:
sudo service apache2 restart
Выдает ошибку:
Action ‘start’ failed.
The Apache error log may have more information.
[fail]
//
2Андрей Ну так нужно в журнал глянуть, что там пишет