Сегодня речь пойдет об разборе шагов установки системы мониторинга Zabbix на систему Ubuntu 12.04.5 Server amd64. Мне просто нужно для себя раз никому не нужно где я работаю знать заранее как ведет себя система, что с ней происходит, отслеживать появления резких скачков, проседаний. Вообщем об подконтрольной инфраструктуре нужно знать всяко больше чем нужно начальнику отдела Информационных технологий, а если ты сам себе начальник. Короче — знание, статистика, документация по сервисам, приложениям – это все что нужно хорошему системному администратору.
Сперва обозначу подготовительные шаги:
- Установлены все последние обновления для релиза Ubuntu 12.04.5 LTS Server amd64
- Выставлено корректное время и правильный часовой пояс
- Отключен Apparmor
- Отключено использование IPv6
Раз я всегда стараюсь использовать установку приложений только посредством репозитариев (использую откомпилированные пакеты), но не в коем случае не собирание из исходником, хотя и такое поверьте случается то только в рамках тестирования или когда хочется попробовать новую версию, а в репозитариях ее еще ой как долго не будет, то и сейчас не буду отступать от данной установки.
Пакет который нужен будет для разворачивания в системе конечно же имеется в дефолтных репозитариях, но есть одно но — его версия 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 name” Admin, а в поле “Password” с паролем zabbix попадаем в Web меню администрирования, на данной странице нужно проследовать по шагам мастера для создания начальной конфигурации:
1. Welcome – Next
2. Check of pre-requisites
Мастер этого шага сигнализирует, что нужно подправить конфигурационный файлы 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 – как раз говорит об этом, все хорошо.
Нажимаю Next
4. Zabbix server details
5. Pre-Installation summary
Проверяю результирующую составляющую параметров, если все устраивает то нажимаю Next (так и делаю)
6. Install
Этим шагом наблюдаю что конфигурационный файл успешно сформирован и применен, нажатием на Finish перенаправляемся на саму панель Администрирования мониторингом Zabbix, авторизуемся:
Введя в поле “Login name” Admin, а в поле “Password” с паролем zabbix
Нажимаем на Sign in и я внутри главной страницы. Уже отсюда осуществляется постановка систем, сервисов, оборудования на мониторинг с целью создания статистики, предупреждения о возникающих проблемах.
Вот собственно и всё, установка и разборка ошибок сервиса по мониторингу успешно разобраны. Следите за обновлениями на моём блоге, в следующих заметках я буду описывать как я ставил на мониторинг сервера, сервисы, железо и реализовывал поставленные самому себе задачи о том, что я хочу знать о системе. А пока собственно все, с уважением автор блога — www.ekzorchik.ru. Удачи!!!
Спасибо за подробную инструкцию !