Home » Linux » CentOS » Observium установка и настройка

Observium установка и настройка

Не так давно мне на глаза попалась довольно любопытная система мониторинга — Observium. Я решил ее установить и настроить, чтобы посмотреть на нее поближе. Привлекла она меня простотой установки и настройки. До этого я использовал Zabbix. В принципе, тоже ничего сложного в настройке нет, но Observium все же установить и настроить существенно проще. И сейчас я подробно расскажу как это сделать.

Моя инструкция будет основываться на оригинальном руководстве с сайта разработчиков. Но не во всем. Во-первых, я переведу все пункты. Во-вторых, кое-где будут небольшие изменения и комментарии, связанные с тем, что мы будем устанавливать Observium на CentOS 7-й версии. В-третьих, я на примерах покажу как добавлять устройства для мониторинга в систему. Если у вас нет настроенной системы CentOS, то можете настроить по моей статье на эту тему.

Подготовка CentOS 7 к установке Observium

Итак, у нас имеется:

# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

Первым делом отключим Selinux:

# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Меняем значение:

SELINUX=disabled

Перезагружаемся:

# reboot

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

# yum install epel-release
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

Дальше устанавливаем необходимые пакеты:

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

В centos 7 вместо mysql устанавливается mariadb, которая имеет полную совместимость с mysql, в том числе понимает все ее команды. Но тем не менее, служба называется mariadb. Запускаем ее и прописываем в автозагрузку:

# systemctl start mariadb.service
# systemctl enable mariadb.service
ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'

Запускаем скрипт настройки безопасности:

# /usr/bin/mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: команда не найдена

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Отключаем фаервол, либо настраиваем его отдельно. Я не хочу каcаться настройки фаервола в рамках этой статьи:

# systemctl stop firewalld && systemctl disable firewalld

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

По-умолчанию, Observium ставится в папку /opt. Переходим туда

cd /opt

Скачиваем и распаковываем архив с мониторингом:

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

Переходим в папку с установкой:

# cd observium

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

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER 'observium'@'localhost' IDENTIFIED BY '12345678';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY '12345678';

Создаем файл конфигураций нашего сервера мониторинга:

# cp config.php.default config.php

В конец файла добавляем строчку:

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

В начале редактируем параметры подключения к mysql серверу:

// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = '12345678';
$config['db_name'] = 'observium';

Запускаем скрипт создания БД:

# php includes/update/update.php

Создаем директории для логов и RRD графиков:

# mkdir rrd
# mkdir logs
# chown -R apache:apache /opt/observium

Теперь редактируем файл настроек httpd. Добавляем в самый конец /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
Require all granted
</Directory>
</VirtualHost>

Запускаем httpd и добавляем его в автозагрузку:

# systemctl start httpd
# systemctl enable httpd

Создаем пользователя с правами администратора observium:

# cd /opt/observium
# ./adduser.php admin 12345678 10
Observium CE 0.14.11.6000
Add User

User admin added successfully.

Создаем файл заданий мониторинга cron:

# touch /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 2 >> /dev/null 2>&1

Перезапускаем crond:

# systemctl restart crond

На этом установка сервера мониторинга Observium закончена. Можно переходить к настройке и добавлению узлов.

Настраиваем Observium и добавляем узлы мониторинга

Заходим на страницу мониторинга по адресу http://IP-адрес/ Нас встречает экран приветствия. Логинимся созданной учетной записью администратора.

Observium установка и настройкаДобавим в систему локальный сервер, на котором установлен наш мониторинг. Observium осуществляет сбор данных по snmp. Так что сконфигурируем snmp сервер. У него много настроек, я для примера буду использовать самую простую и быструю конфигурацию. Итак, открываем файл /etc/snmp/snmp.conf и приводим его к следующему виду:

rocommunity  public
syslocation  "local-server"
syscontact  root@localhost

Запускаем и добавляем в автозагрузку snmpd:

# systemctl start snmpd
# systemctl enable snmpd

Проверим, все ли нормально запустилось:

# snmpwalk -v 2c -c public -O e 127.0.0.1

Должно вывести кучу строк с информацией.

Теперь добавляем новое устройство в Observium через web интерфейс. Для этого выбираем Devices -> Add Device. Добавляем наш сервер:
Observium установка и настройка
Теперь в списке устройств будет локальный сервер. Можно либо подождать, пока по крону будет произведен опрос сервера, либо сделать это вручную в консоли:

# cd /opt/observium
# ./discovery.php -h all
# ./poller.php -h all

Информация с сервера собрана, можно проверять через web интерфейс. Графики пока будут пустыми, но со временем заполнятся. Таким образом можно добавлять любые поддерживаемые устройства, не забывая включать и настраивать на них snmp. Список поддерживаемых устройств есть тут

На этом установка и настройка закончены, пользуйтесь удобной и информативной системой мониторинга Observium.


Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по CentOS

Рекомендую полезные материалы по CentOS:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка времени
  • Настройка сети
  • Настройка репозиториев
  • Настройка iptables
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел.
Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования.
Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое.
Подробное описание настройки сети в CentOS 7 - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Установка репозиториев epel, rpmforge и др. Добавление, удаление, обновление rpm репозиториев в CentOS.
Рассмотрены основные моменты настройки iptables в Centos 7 - установка, добавление правил, проброс портов, nat, логирование и д.р.
Настройка программных комплексов
 
  • Прокси сервер
  • Шлюз
  • Asterisk
  • Asterisk+Freepbx
  • Сервер VPN
  • Web сервер Apache
  • Web сервер Nginx
  • Почтовый сервер
Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid+AD+sams2, реализован запрет доступа по url и группам пользователей.
Простая и быстрая настройка шлюза на базе CentOS 7 для организации доступа в интернет из локальной сети.
Описание установки и настройки asterisk - популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии.
Подробное описание установки voip сервера asterisk и панели управления freepbx на CentOS 7.
Установка и настройка OpenVPN сервера на CentOS для объединения офисов и подключения удаленных пользователей
Настройка web сервера CentOS 7 на базе связки http сервера apache, php и сервера db mysql, или коротко - установка lamp.
Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.
Описание установки и настройки почтового сервера postfix на основе сборки iRedMail на CentOS 7. Обзор основных возможностей и рекомендации по настройке.
Настройка отдельных программ
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
Видео и подробное описание установки и настройки Zabbix 3.2, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание установки и настройки панели управления phpmyadmin на веб сервер apache и nginx под управлением Centos 7.
Подробное описание установки и настройки Webmin на CentOS 7 для удаленного подключения и управления сервером.
Подробное описание установки языка Ruby последней версии на веб сервер под управлением CentOS 7.
Подробное описание установки или обновления php 7 на CentOS 7. Рассмотрен вариант отката обновления и возврата на php 5.6 или 5.4.
Подробное описание с видео установки и настройки ftp сервера vsftpd, примеры с локальными и виртуальные пользователями в mysql.
Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование.
Установка Unison в CentOS 7 для двухсторонней синхронизации файлов.
Инструкция по установке и настройке сервера мониторинга Observium на CentOS 7. В качестве примера в конце добавлено одно устройство для мониторинга.
Разное
  • Настройка ssl в Apache
  • Бэкап с помощью rsync
Настройка работы веб сервера apache с виртуальными хостами по протоколу https с использованием бесплатного ssl сертификата.
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.

Комментарии:

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

Ваш e-mail не будет опубликован.