Установка системы мониторинга Zabbix

Первым делом ставим сервер мониторинга и веб-интерфейс системы мониторинга:

# apt-get install zabbix-server zabbix-frontend-php snmpd

1. Настройка СУБД MySQL

Подключаемся к БД MySQL с правами администратора, создаём базу данных для Zabbix:

$ mysql -uroot -p
> CREATE DATABASE zabbix DEFAULT CHARACTER SET UTF8
> COLLATE UTF8_GENERAL_CI;

Создаём пользователя, от имени которого Zabbix будет подключаться к MySQL:

> INSERT INTO user(host, user, password) VALUES('localhost', 'zabbix', PASSWORD('zabbix_password'));
> FLUSH PRIVILEGES;

Даём пользователю zabbix полный доступ к базе данных zabbix (случай, когда сервер мониторинга и БД стоят на одном и том же компьютере):

> GRANT ALL ON zabbix.* TO 'zabbix'@'localhost';
> FLUSH PRIVILEGES;

Подключаемся к свежесозданной БД, создаём структуру БД и наполняем её данными:

> USE zabbix;
> SOURCE /usr/share/zabbix-server/mysql.sql
> SOURCE /usr/share/zabbix-server/data.sql

Задаём пароль администратора системы мониторинга и выходим из MySQL:

> UPDATE users SET passwd=MD5('zabbix_admin_password') WHERE alias='admin';
> QUIT

2. Настройка сервера мониторинга

Настроим сервер мониторинга, чтобы он мог подключаться к БД. Отредактируем файл конфигурации /etc/zabbix/zabbix_server.conf, установив значения соответствующих опций:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix_password

Запустим сервер мониторинга:

# /etc/init.d/zabbix-server start

3. Настройка веб-интерфейса системы мониторинга

Теперь перейдём к настройке веб-интерфейса системы мониторинга. Для начала настроим сам веб-интерфейс, чтобы он мог подключаться к серверу мониторинга и к БД. Отредактируем файл /usr/share/zabbix/conf/zabbix.conf.php, установив значения соответствующих переменных:

$DB["TYPE"]      = "mysql";
$DB["SERVER"]    = "localhost";
$DB["PORT"]      = "0";
$DB["DATABASE"]  = "zabbix";
$DB["USER"]      = "zabbix";
$DB["PASSWORD"]  = "zabbix_password";
$ZBX_SERVER      = "127.0.0.1";
$ZBX_SERVER_PORT = "10051";

4. Настройка веб-сервера

Теперь настроим веб-сервер (я пользуюсь Lighttpd). Процедуру настройки модуля FastCGI для обслуживания файлов PHP я здесь опущу. Файлы веб-интерфейса лежат в каталоге, отличном от корня документов, поэтому нужно настроить псевдоним. Для этого внесём в файл /etc/lighttpd/lighttpd.conf следующие изменения:

alias.url += (
  "/zabbix/" => "/usr/share/zabbix/"
)

Заставляем веб-сервер перечитать его конфигурацию и можно заходить в веб-интерфейс через браузер:

# /etc/init.d/lighttpd reload

5. Тюнинг PHP

Пройдясь по веб-интерфейсу Zabbix, я обнаружил несколько предупреждений, касающихся настроки PHP. Все предупреждения устраняются настройкой следующих параметров в файле /etc/php5/cgi/php.ini:

date.timezone = Asia/Yekaterinburg
post_max_size = 16M
max_execution_time = 300
max_input_time = 300

После перезапуска веб-сервера предупреждения исчезают:

# /etc/init.d/lighttpd restart

6. Установка и настройка агента системы мониторинга

Теперь можно установить агента мониторинга:

# apt-get install zabbix-agent

Настройка агента сводится к указанию IP-адреса сервера мониторинга в файле /etc/zabbix/zabbix_agent.conf:

Server=127.0.0.1

Теперь сервер мониторинга может наблюдать сам за собой. Можно установить дополнительные агенты мониторинга Zabbix на других компьютерах и настроить их на подключение к серверу мониторинга. Сервер мониторинга работает на TCP-порту 10051, а агент мониторинга - на TCP-порту 10050.

Здесь рассмотрена лишь установка системы мониторинга. Её настройка - отдельная большая тема. Чтобы получить начальное представление об устройстве системы, рекомендую обратиться к статье: FreeBSD: Установка и начальная настройка системы мониторинга Zabbix. Более подробное описание можно найти на официальной вики-странице проекта: Zabbix documentation in Russian.

Написать автору