Для установки системы мониторинга Zabbix мы можем либо использовать его родной репозиторий:
# rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX # rpm -Uv http://repo.zabbix.com/zabbix/2.4/rhel/6/i386/zabbix-2.4.0-1.el6.i386.rpm
Либо использовать репозитории Elrepo & Epel – но в них нет пакета zabbix-java-gateway
. Как их подключить – описано в статье CentOS/RedHat: установка репозиториев Elrepo и Epel.
А ещё лучше – вручную создать репозиторий Zabbix в файле /etc/yum.repos.d/zabbix.repo
, например для CentOS 6.5:
[zabbix] name=Zabbix Official Repository - $basearch baseurl=http://repo.zabbix.com/zabbix/2.2/rhel/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX [zabbix-non-supported] name=Zabbix Official Repository non-supported - $basearch baseurl=http://repo.zabbix.com/non-supported/rhel/6/$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1
UPD: В Epel сейчас Zabbix 1.8, хотя уже вышел 2.4.
Потому – отключаем Zabbix в Epel:
# vim /etc/yum.repos.d/epel.repo
Добавляем строку:
exclude=zabbix*
Устанавливаем необходимые пакеты (zabbix-java-gateway
– не обязателен, в данном случае нужен для мониторинга Tomcat):
# yum -y install mysql-server zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway
Если MySQL не установлен – он будет установлен как зависимость.
Запускаем его:
# service mysqld start
Добавляем в автозапуск:
# chkconfig mysqld on
Запускаем скрипт “быстрой настройки”, отвечаем на вопросы:
# /usr/bin/mysql_secure_installation
Логинимся в консоль сервера MySQL:
# mysql -uroot -p Enter password:
Создаём базу данных, в которой Zabbix будет хранить свои данные:
mysql> create database zabbix character set utf8; Query OK, 1 row affected (0.00 sec)
Назначаем привилегии и устанавливаем доступ:
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; Query OK, 0 rows affected (0.00 sec)
Всё, выходим:
mysql> exit Bye
Настройки самого Zabbix-сервера харнятся в файле /etc/zabbix/zabbix_server.conf
. Редактируем его, указывая данные доступа к серверу MySQL и базе zabbix
:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
Далее – проводим небольшой тюнинг настроек PHP в файле /etc/php.ini
. Устанавливаем следующие значения:
max_execution_time = 300 post_max_size = 16M max_input_time = 300 date.timezone = Europe/Kiev
Узнать точное описание вашей зоны можно на странице http://php.net/date.timezone.
Что бы убедиться в том, что настройки применились сервером – можно создать файл с таким содержимым:
$ cat /usr/share/zabbix/info.php <?php echo phpinfo(); ?>
Перезагружаем Apache:
# service httpd restart Stopping httpd:[ OK ] Starting httpd:[ OK ]
Теперь можно зайти на страницу http://hostname/zabbix и убедиться, что Zabbix почти работает.
Приступаем к настройке базы для Zabbix-a:
# cd /usr/share/zabbix-mysql # mysql -u root -p zabbix < schema.sql # mysql -u root -p zabbix < images.sql # mysql -u root -p zabbix < data.sql
В зависимости от типа установки – путь может быть /usr/share/doc/zabbix-server-mysql-2.0.8/
.
Включаем автозапуск сервера и агента при старте системы:
# chkconfig zabbix-server on # chkconfig zabbix-agent on
И запускаем их:
# service zabbix-server start Starting Zabbix server: [ OK ] # service zabbix-agent start Starting Zabbix agent: [ OK ]
Настройки Apache для веб-интерфейса Zabbix хранятся в файле /etc/httpd/conf.d/zabbix.conf
. При необходимости – отредактируйте их.
Проверяем состояние SELinux:
# setenforce status setenforce: SELinux is disabled
При необходимости отключим его – CentOS: отключение SELinux.
Редактируем файл /etc/zabbix/zabbix_server.conf
, в котором раскомметрируем строку:
StartTrappers=5
В случае, если в веб-интерфейсе всё-равно появляется предупреждение “Zabbix server is not running” – проверьте лог-файл, при нормальном старте будут такие строки:
# tail -f /var/log/zabbix/zabbix_server.log 9201:20130923:122818.737 Starting Zabbix Server. Zabbix 2.0.8 (revision 38017). 9201:20130923:122818.744 ****** Enabled features ****** 9201:20130923:122818.744 SNMP monitoring: YES 9201:20130923:122818.745 IPMI monitoring: YES 9201:20130923:122818.746 WEB monitoring: YES 9201:20130923:122818.747 Jabber notifications: YES 9201:20130923:122818.748 Ez Texting notifications: YES 9201:20130923:122818.749 ODBC: YES 9201:20130923:122818.752 SSH2 support: YES 9201:20130923:122818.753 IPv6 support: YES
А вот пример ошибки, связанной с неверными параметрами доступа к базе данных в файле /etc/zabbix/zabbix_server.conf
:
8978:20130923:122809.667 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: NO) 8978:20130923:122809.667 Database is down. Reconnecting in 10 seconds.
Проверяем порты::
# netstat -anp | grep 10050 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7612/zabbix_agentd
# netstat -anp | grep 10051 tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 9201/zabbix_server
Теперь можно продолжить установку Zabbix из веб-интерфейса. Логин/пароль по-умолчанию – Admin/zabbix. Там всё понятно без комментариев:
Продолжение – в статье CentOS: установка, настройка Zabbix-agent и добавление нового хоста в мониторинг.