Своя система распределенного мониторинга в сети

Posted by

Поднимаем систему мониторинга Zabbix Сегодня речь пойдет об разборе шагов установки системы мониторинга на систему .5 Server amd64. Мне просто нужно для себя раз никому не нужно где я работаю знать заранее как ведет себя система, что с ней происходит, отслеживать появления резких скачков, проседаний. Вообщем об подконтрольной инфраструктуре нужно знать всяко больше чем нужно начальнику отдела Информационных технологий, а если ты сам себе начальник. Короче — знание, статистика, документация по сервисам, приложениям — это все что нужно хорошему системному администратору.

Сперва обозначу подготовительные шаги:

Раз я всегда стараюсь использовать установку приложений только посредством репозитариев (использую откомпилированные пакеты), но не в коем случае не собирание из исходником, хотя и такое поверьте случается то только в рамках тестирования или когда хочется попробовать новую версию, а в репозитариях ее еще ой как долго не будет, то и сейчас не буду отступать от данной установки.

Пакет который нужен будет для разворачивания в системе конечно же имеется в дефолтных репозитариях, но есть одно но — его версия 1.8.11

ekzorchik@srv-mon:~$ apt-cache show zabbix-server-mysql | grep Version

Version: 1:1.8.11-1

, а на официальном сайте уже доступны более новые версии приложения и также есть откомпилированные DEB пакеты, вот их и придется скачать и установить в систему.

В данной заметке я все буду ставить на одну систему, но конечно же никто не мешает вам разнести по отдельным серверам: База данных и само приложение.

Сперва на систему понадобиться установить службу MySQL:

ekzorchik@srv-mon:~$ sudo apt-get install mysql-server mysql-client -y

New password for the MySQL «root» user: 712mbddr@

Repeat password for the MySQL «root» user: 712mbddr@

Теперь посредством официального сайта скачиваем пакеты сервера, агента и

Веб интерфейса последней версии применительно к моему релизу Ubuntu 12.04 (precise):

ekzorchik@srv-mon:~$ wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix/zabbix-server-mysql_2.2.8-1+precise_amd64.deb

ekzorchik@srv-mon:~$ wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix/zabbix-agent_2.2.8-1+precise_amd64.deb

ekzorchik@srv-mon:~$ wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix/zabbix-frontend-php_2.2.8-1+precise_all.deb

Конечно можно и так, как выше скачав основные пакеты и их поставить вручную посредством утилиты dpkg, но есть и более правильный способ: добавить репозитарий Zabbix для получения,установки,обновления до самой актуальной версии, так и поступлю:

ekzorchik@srv-mon:~$ sudo nano /etc/apt/sources.list

deb http://repo.zabbix.com/zabbix/2.2/ubuntu precise main contrib non-free

Теперь обновляю информацию о добавленном репозитарии:

ekzorchik@srv-mon:~$ sudo apt-get update

W: GPG error: http://repo.zabbix.com precise Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D13D58E479EA5ED4

Регистрирую публичный ключ:

ekzorchik@srv-mon:~$ sudo gpg --keyserver keyserver.ubuntu.com --recv-keys 79EA5ED4

gpg: requesting key 79EA5ED4 from hkp server keyserver.ubuntu.com

gpg: /home/ekzorchik/.gnupg/trustdb.gpg: trustdb created

gpg: key 79EA5ED4: public key «Zabbix SIA <packager@zabbix.com>» imported

gpg: Total number processed: 1

gpg: imported: 1

ekzorchik@srv-mon:~$ sudo bash -c "gpg --export --armor D13D58E479EA5ED4 | apt-key add - "

OK

Теперь обновляю информацию об внесенных дополнительных репозитариях:

ekzorchik@srv-mon:~$ sudo apt-get update

Теперь в вывод ошибок не фиксирую, все хорошо.

Проверяю какая версия пакета zabbix теперь доступна в репозитариях для установки:

ekzorchik@srv-mon:~$ apt-cache show zabbix-server-mysql | grep Version

Version: 1:2.2.8-1+precise

Version: 1:1.8.11-1

, как видно вывод показал наличие двух версий, конечно же ставить буду последнюю 2.2.8:

Устанавливаю пакет zabbix-server-mysql:

ekzorchik@srv-mon:~$ sudo apt-get install zabbix-server-mysql=1:2.2.8-1+precise -y

Configure database for zabbix-server-mysql with dbconfig-common? Yes

Password of the database’s administrative user: 712mbddr@

MySQL application password for zabbix-server-mysql: 712mbddr@

Password confirmation: 712mbddr@

Установка завершается без проблем (у меня во всяком случае).

Теперь проверяю какая версия Zabbix установлена в текущей системе:

ekzorchik@srv-mon:~$ sudo apt-get install apt-show-versions -y

ekzorchik@srv-mon:~$ sudo apt-show-versions | grep zabbix

zabbix-server-mysql/precise uptodate 1:2.2.8-1+precise

ага, еще не все пакеты поставлены, нужно поставить Agent & Webинтерфейс:

ekzorchik@srv-mon:~$ apt-cache show zabbix-agent | grep Version

Version: 1:2.2.8-1+precise

Version: 1:1.8.11-1

ekzorchik@srv-mon:~$ sudo apt-get install zabbix-agent=1:2.2.8-1+precise -y

ekzorchik@srv-mon:~$ apt-cache show zabbix-frontend-php | grep Version

Version: 1:2.2.8-1+precise

Version: 1:1.8.11-1

ekzorchik@srv-mon:~$ sudo apt-get install zabbix-frontend-php=1:2.2.8-1+precise -y

А теперь в системе установлены все необходимые пакеты которые нужны для системы мониторинга Zabbix:

ekzorchik@srv-mon:~$ sudo apt-show-versions | grep zabbix

  • zabbix-agent/precise uptodate 1:2.2.8-1+precise
  • zabbix-frontend-php/precise uptodate 1:2.2.8-1+precise
  • zabbix-server-mysql/precise uptodate 1:2.2.8-1+precise

Теперь проверю, что в базе MySQL присутствует необходимая база данных для Zabbix и специальный пользователь:

ekzorchik@srv-mon:~$ mysql -u root -p712mbddr@ -e"show databases" | grep zabbix

zabbixтребуемая база есть

ekzorchik@srv-mon:~$ mysql -u root -p712mbddr@ -e"select host,user,password from mysql.user" | grep zabbix

localhost zabbix *06311EC3368F51D40BE586479970CB6B5CD288D8требуемый пользователь тоже есть

Установка пакетов завершена теперь собственно перехожу к редактированию конфигурационных файлов, так сказать до-настройкой.
Настройки сервера в т.ч. и пароль для БД можно посмотреть/изменить в этом файле:

ekzorchik@srv-mon:~$  sudo nano /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix-server/zabbix_server.log

Самое смешное, что пароль в открытом виде:

# Database password

# Comment this line if no password used

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=712mbddr@

ekzorchik@srv-mon:~$ cat /etc/passwd | grep zabbix

zabbix:x:117:126::/var/run/zabbix/:/bin/false

Настройки для Apache 2 по части работы Zabbix (создаются по умолчанию):

ekzorchik@srv-mon:~$ ls /etc/apache2/conf.d/zabbix -l

lrwxrwxrwx 1 root root 23 февр. 1 08:26 /etc/apache2/conf.d/zabbix -> /etc/zabbix/apache.conf

Но для удобства подкорректирую настройку Webсервера Apache 2 изменив суффикс дефолтного обращения к основной страницы Webсервера на корень сервиса Zabbix:

ekzorchik@srv-mon:~$ sudo nano /etc/apache2/sites-available/default

было:

DocumentRoot /var/www/

стало:

DocumentRoot /var/www/zabbix

Создаю символическую ссылку на каталог zabbix:

ekzorchik@srv-mon:~$  sudo ln -sf /usr/share/zabbix /var/www/zabbix

Стартовые скрипты:

ekzorchik@srv-mon:~$ ls /etc/init.d/zabbix-* -l

-rwxr-xr-x 1 root root 1267 Dec 20 17:41 /etc/init.d/zabbix-agent

-rwxr-xr-x 1 root root 1328 Dec 20 17:41 /etc/init.d/zabbix-server

Запускаю стартовые скрипты служб:

ekzorchik@srv-mon:~$ sudo /etc/init.d/zabbix-agent start

* Starting Zabbix agent zabbix_agentd [ OK ]

ekzorchik@srv-mon:~$ sudo /etc/init.d/zabbix-server start

* Starting Zabbix server zabbix_server [ OK ]

Запускаю службу Webсервера Apache:

ekzorchik@srv-mon:~$ sudo /etc/init.d/apache2 restart

* Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

… waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName [ OK ]

,чтобы исправить эту ошибку нужно в конфигурационный файл Apache2.conf внести запись указывающую название нашего сервера, но сперва, создадим на резервную копию, а потом отредактируем:

ekzorchik@srv-mon:~$ sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.backup

ekzorchik@srv-mon:~$ sudo nano /etc/apache2/apache2.conf

ServerName srv-mon

Cохраняем по завершению сочетанием клавиш (Ctrl + O) и выходим (Ctrl + X).

Теперь снова перезапускаем Apache 2:

ekzorchik@srv-mon:~$ sudo /etc/init.d/apache2 restart

* Restarting web server apache2 … waiting [ OK ]

Теперь заходим собственно в панель управления Zabbix’ом:

Открываем браузер (это я открываю со своей рабочей станции Ubuntu 12.04.5 Desktop amd64)

Applications – Internet – Firefox Web Browser

и вводим строку: http://IP&DNS/zabbix

Введя в поле “Login nameAdmin, а в поле “Password” с паролем zabbix попадаем в Web меню администрирования, на данной странице нужно проследовать по шагам мастера для создания начальной конфигурации:

1. Welcome – Next

2. Check of pre-requisites

Вносим изменения в систему на основе рекомендаций Zabbix

Мастер этого шага сигнализирует, что нужно подправить конфигурационный файлы PHP интерпретатора, что собственно и делаю:

ekzorchik@srv-mon:~$ sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.backup

ekzorchik@srv-mon:~$ sudo nano /etc/php5/apache2/php.ini

post_max_size = 16M

max_input_time = 300

max_execution_time = 300

date.timezone = Europe/Moscow

Cохраняю внесенные изменения по завершению сочетанием клавиш (Ctrl + O) и выходим (Ctrl + X).

Перезапускаю Apache 2 чтобы переобновились внесенные параметры:

ekzorchik@srv-mon:~$ sudo /etc/init.d/apache2 restart

В открытой Web консоли нажимаем – F5 (для обновления), в итоге всё хорошо. Проблем нет. Нажимаю Next

3. Configure DB connection

Указываю параметры подключения к созданной базе zabbix с указанием специального пользователя и пароля:

Database type: MySQL

Database name: zabbix

User: zabbix

Password: 712mbddr@

и нажимаю Test connection чтобы убедиться что указанные параметры корректны и проблем нет. Статус после нажатия — OKкак раз говорит об этом, все хорошо.

Указываю настройки на подключение к базе данных MySQL

Нажимаю Next

4. Zabbix server details

Указываю настройки хоста сервера Zabbix

5. Pre-Installation summary

Проверяю результирующую составляющую параметров, если все устраивает то нажимаю Next (так и делаю)

Проверяю результирующую настроек Zabbix сервера перед подтверждением инсталляции

6. Install

Все верно - полученный конфигурационный файл корректен - разворачиваем систему мониторинга Zabbix в своей сети

Этим шагом наблюдаю что конфигурационный файл успешно сформирован и применен, нажатием на Finish перенаправляемся на саму панель Администрирования мониторингом Zabbix, авторизуемся:

Введя в поле Login nameAdmin, а в поле “Password с паролем zabbix

После авторизуюсь в Web-интерфейс администрирования

Нажимаем на Sign in и я внутри главной страницы. Уже отсюда осуществляется постановка систем, сервисов, оборудования на мониторинг с целью создания статистики, предупреждения о возникающих проблемах.

Вуаля - все запустилось и установилось.

Вот собственно и всё, установка и разборка ошибок сервиса по мониторингу успешно разобраны. Следите за обновлениями на моём блоге, в следующих заметках я буду описывать как я ставил на мониторинг сервера, сервисы, железо и реализовывал поставленные самому себе задачи о том, что я хочу знать о системе. А пока собственно все, с уважением автор блога — www.ekzorchik.ru. Удачи!!!

One comment

Leave a Reply

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

20 − двенадцать =