Пользователь
0,0
рейтинг
2 октября 2013 в 15:03

Администрирование → Observium — установка системы мониторинга tutorial recovery mode

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

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

Проголосовало 263 человека. Воздержалось 93 человека.

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

Komil Gulboev @komiller
карма
1,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (9)

  • +1
    Уберите часть под хабракат.
    • 0
      Спасибо, убрал.
  • 0
    Пока не убеждаете. Для истории есть хостов munin, для сетевого железа — cacti, причём с поддержкой indexed query (что позволяет добавить все очередные 48 портов в несколько… пару десятков кликов). Какую проблему решаете этой штукой? В чём идея?
    • 0
      Я не думаю что смогу переубедить вас, это все лишь еще одна полезная по моему мнению вещь для админа и все. Каждый продукт имеет свои плюсы а плюсы описанного продукта является легкость в управлении и установке.
      • 0
        Вот я как раз и прошу попробовать переубедить, то есть указать на что-то явно выделяющее на фоне.

        Лёгкость использования в сравнении с мунином? Он поднимается в две строчки, а делается «централизованный на несколько серверов» в ещё в две.
        • 0
          Ну раз такое пошло попробую переубедить вас, с начало я пробовал поставить Nagios, ну очень мощная система зачем такую систему ради нескольких серверов? Zabbix — не плохо рисует и установка не сложная относительно предидущего кандидата но для него нужно установить агент что не желательно для моего случая. А остальных не рассматривал и начал установку Observium-а, установка не две строчки конечно но интуитивно и не сложно. Про Мунин не чего сказать не смогу так не было опыта. Спасибо за обсуждение статьи.
          • 0
            Понятно.

            Мунин ставится apt-get install munin munin-node, из коробки всё умеет и показывает. Те же графики в rrd.
  • 0
    Очень полезная и красивая софтина! Однозначно musthave!
  • 0
    А как оно будет себя чуствовать при ~500 хостов и требовании к хранению даных в месяц? Придется плясать с patition-ингом, как в zabbix?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.