Пошаговое руководство по настройке Zabbix на FreeBSD

В связи с полным отсутствием русскоязычных документов по установке системы мониторинга Zabbix, я опишу свой опыт установки и настройки.
Установка zabbix

Версии программного обеспечения: FreeBSD 5.4-Stable, MySQL 5.0.21,
Apache 1.3.33, PHP4.

1. Устанавливаем zabbix из портов (/usr/ports/net-mgmt/zabbix). К сожалению, в портах пока старая версия, zabbix-1.0_4,1:
server#portinstall zabbix или server#cd /usr/ports/net-mgmt/zabbix && make install

2. Создаём учётную запись в базе данных MySQL для использования
zabbix’ом. Сама БД будет создана позже:
server#mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 36902 to server version: 5.0.20
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'192.168.254.1' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.02 sec)

mysql>FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)

Переходим к /usr/local/share/zabbix/create/ для создания БД и заполнения таблиц.
server#cd /usr/local/share/zabbix/create/

Запускаем:
server#./dbsetup.sh -h sqlserv -u zabbix -p
Enter password:
ERROR 1067 (42000) at line 403: Invalid default value for 'userid'

Получаем такую ошибку, но не расстраиваемся. Необходимо всего лишь подредактировать таблицу rights в ./mysql/shema.sql,

убрав все “DEFAULT”, получив в результате такой синтаксис, и запускаем заново dbsetup.sh:


CREATE TABLE rights (
rightid int(4) NOT NULL auto_increment,
userid int(4) NOT NULL,
name char(255) NOT NULL,
permission char(1) NOT NULL,
id int(4),
PRIMARY KEY (rightid)
) type=InnoDB;

3. Редактируем конфиги /etc/zabbix, синтакис конфигов настолько элементарный, что описывать настройки не вижу смысла.


server#cd /etc/zabbix
server#mkdir sample
server#cp *.sample sample/
server#vim zabbix_agentd.conf
server#vim zabbix_suckerd.conf
server#vim zabbix_trapperd.conf

3.1. Поскольку пароли к базе у нас лежат в файлах в plain text, рекомендую сменить режим доступа к этим файлам:


server#chmod -R 440 /etc/zabbix/*
server#chmod 750 /etc/zabbix/sample
server#chmod 750 /etc/zabbix/

4.Запуск.

По непонятым мною причинам, о которых, впрочем, уже заявлено (http://www.archivesat.com/NYC_BSD_User_group/thread819803.htm), запуск zabbix из стартовых скриптов не удаётся. Поэтому до исправления просто дописываем в стартовый скрипт строку запуска без всяких премудростей:


server#echo "#!bin/sh" > /usr/local/etc/rc.d/zabbix_agentd.sh
server#echo "/usr/local/bin/zabbix_agentd" >> /usr/local/etc/rc.d/zabbix_agentd.sh
server#echo "#!bin/sh" > /usr/local/etc/rc.d/zabbix_suckerd.sh
server#echo "/usr/local/bin/zabbix_suckerd" >> /usr/local/etc/rc.d/zabbix_suckerd.sh

В итоге должно получиться что-то типа такого:
server#ps -ax | grep zab
12977 ?? IN 0:00,00 zabbix_agentd: main process (zabbix_agentd)
12978 ?? IN 0:00,00 zabbix_agentd: waiting for connection. Requests [0] (zabbix_agentd)
12979 ?? IN 0:00,00 zabbix_agentd: waiting for connection. Requests [0] (zabbix_agentd)
12980 ?? IN 0:00,00 zabbix_agentd: waiting for connection. Requests [0] (zabbix_agentd)
12981 ?? IN 0:00,00 zabbix_agentd: waiting for connection. Requests [0] (zabbix_agentd)
12982 ?? IN 0:00,00 zabbix_agentd: waiting for connection. Requests [0] (zabbix_agentd)
13297 ?? S 0:00,06 zabbix_suckerd: housekeeper [sleeping for 1 hour(s)] (zabbix_suckerd)
13298 ?? S 0:00,03 zabbix_suckerd: sender [sleeping for 30 seconds] (zabbix_suckerd)
13299 ?? S 0:00,03 zabbix_suckerd: sleeping for 30 sec (zabbix_suckerd)
13300 ?? S 0:00,03 zabbix_suckerd: pinger [sleeping for 30 seconds] (zabbix_suckerd)
13301 ?? S 0:00,03 zabbix_suckerd: sucker [sleeping for 60 seconds] (zabbix_suckerd)
13306 p3 R+ 0:00,00 grep zab
server#

5. Web-интерфейс:

Создаём папку в Аpache’e и копируем туда содержимое папки
usr/local/share/zabbix/php:
server#mkdir /usr/local/www/data/zabbix
server#cp -Rv /usr/local/share/zabbix/php/ /usr/local/www/data/zabbix/

6. Редактируем параметры подключения к базе данных в файле
/usr/local/www/data/zabbix/include/db.inc.php:
server#vim /usr/local/www/data/zabbix/include/db.inc.php

7. Заходим на веб-интерфейс zabbix и начинаем настраивать собственно хосты и уведомления. “http://server/zabbix/” логин по умолчанию
“Admin”, пароль пустой.

Update: вот здесь лежит патч: http://www.freebsd.org/cgi/query-pr.cgi?pr=100843, если кто-то хочет попробовать обновить версию до 1.1. Я не пробовал.
Документация на английском: http://www.zabbix.com/manual.php
Надеюсь, это помогло кому-нибудь.

http://faqman.ru

Обновлено: 12.03.2015