Установка Zabbix
Статья давно не обновлялась, поэтому информация могла устареть.
Статья расчитана на установку в таких операционных системах как Debian, Ubuntu и CentOS.
Производить установку будем в консоли SSH, а настройку через веб-браузер.
Содержание |
Debian/Ubuntu
Устанавливаем zabbix-server и zabbix-agent
--- только для Debian 8 ---
# wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb # dpkg -i zabbix-release_3.0-1+jessie_all.deb # apt-get update
--- ### ---
# apt-get install zabbix-server-mysql zabbix-agent
В файл /etc/zabbix/zabbix_server.conf прописываем:
DBName=zabbix DBUser=zabbix DBPassword=zabbixpass
В файле /etc/default/zabbix-server изменяем "START=no" на "START=yes".
Далее необходимо создать базу данных "zabbix" - для этого нам потребуется пароль пользователя root от MySQL сервера.
Подключаемся к MySQL:
# mysql -u root -p Enter password: Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Создаём базу данных "zabbix".
mysql> CREATE DATABASE zabbix CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec)
Создаём пользователя "zabbix" с паролем "zabbixpass" и даём ему права на базу "zabbix":
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbixpass'; Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
mysql> exit; Bye
Создаём в базе данных "zabbix" необходимые таблицы
# cd /usr/share/zabbix-server-mysql
# gunzip schema.sql.gz
# gunzip images.sql.gz
# gunzip data.sql.gz
# mysql -u root -p zabbix < schema.sql Enter password:
вводим пароль пользователя root от MySQL и жмём Enter
# mysql -u root -p zabbix < images.sql Enter password:
вводим пароль пользователя root от MySQL и жмём Enter
# mysql -u root -p zabbix < data.sql Enter password:
вводим пароль пользователя root от MySQL и жмём Enter
Запускаем Zabbix.
# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start
Устанавливаем веб-интерфейс Zabbix.
# apt-get install zabbix-frontend-php
Создаём файл /etc/apache2/conf.d/zabbix.conf следующего содержания:
Alias /zabbix /usr/share/zabbix/ <Directory /usr/share/zabbix> RemoveHandler .php AddType application/x-httpd-php .php php_admin_value open_basedir /usr/share/zabbix:/usr/share/zabbix-agent:/usr/share/zabbix-server:/etc/zabbix:/tmp:.:..:./:../ AllowOverride All Order allow,deny Allow from all </Directory>
Перезапускаем Apache:
# service apache2 restart
CentOS 7
Устанавливаем zabbix-server и zabbix-agent
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
# yum install zabbix-server-mysql zabbix-web-mysql
В файл /etc/zabbix/zabbix_server.conf прописываем:
DBName=zabbix DBUser=zabbix DBPassword=zabbixpass
Далее необходимо создать базу данных "zabbix" - для этого нам потребуется пароль пользователя root от MySQL сервера.
Подключаемся к MySQL:
# mysql -u root -p Enter password: Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Создаём базу данных "zabbix".
mysql> CREATE DATABASE zabbix CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec)
Создаём пользователя "zabbix" с паролем "zabbixpass" и даём ему права на базу "zabbix":
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbixpass'; Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
mysql> exit; Bye
Создаём в базе данных "zabbix" необходимые таблицы
# cd /usr/share/doc/zabbix-server-mysql-2.2.2/create
# mysql -u root -p zabbix < schema.sql Enter password:
вводим пароль пользователя root от MySQL и жмём Enter
# mysql -u root -p zabbix < images.sql Enter password:
вводим пароль пользователя root от MySQL и жмём Enter
# mysql -u root -p zabbix < data.sql Enter password:
вводим пароль пользователя root от MySQL и жмём Enter
Устанавливаем веб-интерфес Zabbix.
# yum install zabbix-web-mysql
Создаём файл /etc/httpd/conf.d/zabbix.conf следующего содержания:
Alias /zabbix /usr/share/zabbix/ <Directory /usr/share/zabbix> RemoveHandler .php AddType application/x-httpd-php .php php_admin_value open_basedir /usr/share/zabbix:/usr/share/zabbix-agent:/usr/share/zabbix-server:/etc/zabbix:/tmp:.:..:./:../ AllowOverride All Order allow,deny Allow from all </Directory>
Перезапускаем Apache:
# systemctl restart httpd
Настройка через веб-интерфейс
Дальнейшая инструкция одинакова для всех операционных систем (с учетом незначительных отличий).
Переходим в вэб-браузере по ссылке http://IP_сервера/zabbix/setup.php и производим первоначальную настройку.
Если видим красные предупреждения со значением Fail (как на скрине выше), то открываем файл php.ini (/etc/php5/apache2/php.ini - Debian/Ubuntu, /etc/php.ini -CentOS), выставляем рекомендуемые значения, сохраняем файл, перезапускаем Apache и проверяем (жмём на странице в браузере кнопку "Retry").
Продолжаем
На странице 'Configure DB connection' заполняем поля для подключения к базе данных zabbix (напоминаю, что мы создавали данную базу и пользователя zabbix для неё с паролем 'zabbixpass') и проверяем подключение кнопкой "Test connection" - над кнопкой должно появится слово "OK".
Продолжаем
Если на странице "Install" видим сообщение "Configuration file created: Fail", то выполняем команду:
--- для Debian/Ubuntu ---
# chmod 777 /etc/zabbix
---###---
--- для CentOS ---
# chmod 777 /etc/zabbix/web
---###---
Нажимаем в браузере кнопку "Retry", видим что появилось сообщение "Configuration file created: OK" и жмём "Finish".
возврашаем обратно права 755:
--- для Debian/Ubuntu ---
# chmod 755 /etc/zabbix
---###---
--- для CentOS ---
# chmod 755 /etc/zabbix/web
---###---
А в браузере, тем временем, видим страницу авторизации.
На этом установка Zabbix завершена, приступаем к настройке и попробуем создать графики которые будут отображать информацию о работе сервера.
Активация и создание графиков
Для входа в вебинтерфейс используем логин Admin и пароль zabbix.
Переходим на вкладку "Administration", жмём ниже "Users" и выбираем пользователя "Admin".
На открывшейся странице жмём кнопку "Change password", указываем там новый пароль для пользователя Admin (при следующем заходе в вебинтерфейс будем использовать уже его) и напротив Language меняем "English" на "Russian", жмём кнопку "Save".
Выходим из вебинтерфейса ("Logout" в верхней правой части страницы), заходим заново с новым паролем и видим, что вебинтерфейс у нас теперь стал на русском языке.
Переходим в "Настройка" -> "Узлы сети", видим там узел сети "Zabbix server" и состояние "Без наблюдения" - для активации жмём на эту надпись, после чего состояние должно измениться на "Под наблюдением".
Теперь приступим к графикам - создадим комплексный экран из четырёх графиков - два из них будут выводить нам информацию о нагрузке (CPU load и CPU utilization), третий будет выводить информацию об использовании оперативной памяти и четвёртый о сетевом трафике.
Если перейти в "Настройка" -> "Узлы сети" -> "Графики", то можно увидеть, что среди существующих уже готовых графиков отсутствует график измеряющий сетевой трафик - его мы создадим сами.
Перед созданием графика сначала созданим необходимые для него элементы такие как "Outgoing network traffic" и "Incoming network traffic".
Переходим в "Настройка" -> "Узлы сети" -> "Элементы данных", нажимаем вверху кнопку "Создать элемент данных".
Создаём элемент данных "Outgoing network traffic on vtnet0" (vtnet0 заменяем на название сетевого интерфейса сервера, например eth0, bge0, em0 и т.д, либо, если совпадает, оставляем как есть).
Смотрим на скрин ниже и заполняем всё как там меняя только, при необходимости, vtnet0 на реальный интерфейс.
Создаём элемент данных "Incoming network traffic on vtnet0" (нажимаем вверху кнопку "Создать элемент данных" и заполняем всё как на скрине ниже).
Создаём график "Network traffic on vtnet0".
Переходим в "Настройка" -> "Узлы сети" -> "Графики", нажимаем вверху справа кнопку "Создать график".
Заполняем всё как на скрине ниже, в поле "Элементы данных" выбираем созданные нами выше элементы, сохраняем график.
Переходим в "Мониторинг" -> "Графики", выбираем вверху справа график "Network traffic on vtnet0", убеждаемся, что график работает.
Далее, как и планировали, создаём комлексный экран из четырёх графиков.
Переходим в "Настройка" -> "Комплексные экраны", нажимаем на имеющийся комплексный экран "Zabbix server".
Нажимая на "Изменить" выбираем необходимые нам графики (CPU load, CPU utilization, Memory usage, Network traffic on venet0).
После того как выбрали все графики для комплексного экрана, переходим в "Мониторинг" -> "Комплексные экраны" и наслаждаемся результатом своих трудов.
Настройка оповещений
Теперь настроим такую полезную вещь, как отправка уведомлений на e-mail, в случае обнаружения Zabbix'ом на сервере проблем.
Для этого переходим в раздел "Администрирование" -> "Способы оповещений".
Если напротив "Emeil" видим состояние "Деактивировано", то следует кликнуть по этому слову - способ оповещения активируется. Далее нажимаем на слово "Email" и заполняем поля "SMTP сервер" (можно localhost), "SMTP helo" (приветствие), "SMTP email" (ящик отправителя). На скрине ниже можно увидеть пример настроек.
Далее переходим в "Администрирование" -> "Пользователи", жмём на пользователя "Admin", переходим на вкладку "Оповещения" и нажимаем там "Добавить".
В открывшемся окне заполняем поле "Отправлять на" (указываем там почтовый ящик на который хотим получать уведомления) и нажимаем кнопку "Добавить".
После этого переходим в "Настройка" -> "Действия" и проверяем статус у "Report problems to Zabbix administrators" - если видим, что состояние "Деактивирован", то активируем.