Поднимаем систему мониторинга Zabbix Сегодня речь пойдет об разборе шагов установки системы мониторинга Zabbix на систему Ubuntu 12.04.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. Удачи!!!

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru

Один комментарий к “Своя система распределенного мониторинга в сети”
  1. Спасибо за подробную инструкцию !

Обсуждение закрыто.