Zabbix заметки

Материал из ALT Linux Wiki

Администрирование ИТ предприятия невозможно без современных средств мониторинга и анализа, позволяющих реагировать на критические ситуации, отслеживать динамику работы серверов, рабочих станций и приложений. Из доступных СПО для мониторинга можно выделить Zabbix, лицензия GPL- несанкционный инструмент, с гибкой перенастройкой предустановленных шаблонов. Zabbix обеспечивает своевременное реагирование на внештатные ситуации в ИТ учреждениях, позволяя администратору прибывать в состоянии постоянного изумления.

Подготовка

Сервер ALT_xxx x86; x86_64

  • Имя сервера Zabbix (предпочтительно)
  • Запуск сценария предустановки ("вытягивает" необходимые пакеты)
# apt-get install zabbix-preinstall

Если из Synaptic

  • zabbix-preinstall

Проверяем наличие требуемых пакетов:

# apt-get install zabbix-phpfrontend-apache2 
# apt-get install zabbix-phpfrontend-engine 
# apt-get install zabbix-server-mysql
# apt-get install zabbix-phpfrontend-php5 
# apt-get install zabbix-server-common 
# apt-get install zabbix-common 
# apt-get install zabbix-phpfrontend-apache2-mod_php5 
# apt-get install zabbix-agent
# apt-get install apache2
# apt-get install MySQL-server
# apt-get install php5-sockets
# apt-get install php5-xmlreader
# apt-get install php5-ldap

Настройка Apache2

Редактировать пути:

# mcedit /etc/httpd2/conf/sites-available/default.conf
DocumentRoot "/var/www/html/"
<Directory "/var/www/html/">

Проверить

# mcedit /etc/http2/conf/cites/avialable/default.conf
  • В секциях <Directory> должна быть запись:
<Directory>
Require all granted
</Directory>
  • Права на каталоги:
# chown -R apache2:apache2 /var/www/webapps
# chmod -R 771 /var/www/webapps
# namei -mol /var/www/webapps/zabbix/
drwxrws--x apache2 apache2 webapps
  • Права рекурсивно на файлы и каталоги:
# find /var/www/webapps/zabbix -type f -exec chmod 644 {} \;
# find /var/www/webapps/zabbix -type d -exec chmod 755 {} \;
  • Просмотр прав каталога zabbix:
# namei -mol /var/www/webapps/zabbix/frontends/php/
drwxrws--x apache2 apache2   webapps
drwxr-xr-x apache2 apache2   zabbix
drwxr-xr-x apache2 apache2   frontends
drwxr-xr-x apache2 apache2   php
-rw-r--r-- apache2 apache2   zabbix.php
  • Проверить наличие символической ссылки
//или
# mcedit
-----------------------------------------
 Имя существующего файла (для ссылки):
  /etc/httpd2/conf/addon.d/A.zabbix.conf 
 Имя символической ссылки:
 /etc/httpd2/conf/extra-enabled/A.zabbix.conf
--------------------------------------------
//или
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf  /etc/httpd2/conf/extra-enabled
# ls -la /etc/httpd2/conf/extra-enabled/
...
lrwxrwxrwx  1 root root   38 апр 21 21:47 A.zabbix.conf -> /etc/httpd2/conf/addon.d/A.zabbix.conf
lrwxrwxrwx  1 root root   39 апр  9 21:25 httpd-autoindex.conf -> ../extra-available/httpd-autoindex.conf
lrwxrwxrwx  1 root root   37 апр  9 21:25 httpd-default.conf -> ../extra-available/httpd-default.conf
lrwxrwxrwx  1 root root   35 апр  9 21:25 httpd-icons.conf -> ../extra-available/httpd-icons.conf
lrwxrwxrwx  1 root root   39 апр  9 21:25 httpd-languages.conf -> ../extra-available/httpd-languages.conf
lrwxrwxrwx  1 root root   34 апр  9 21:25 httpd-mime.conf -> ../extra-available/httpd-mime.conf
lrwxrwxrwx  1 root root   33 апр  9 21:25 httpd-mpm.conf -> ../extra-available/httpd-mpm.conf
lrwxrwxrwx  1 root root   48 апр  9 21:25 httpd-multilang-errordoc.conf -> ../extra-available/httpd-multilang-errordoc.conf

# cat /etc/httpd2/conf/extra-enabled/@A.zabbix.conf
Alias /zabbix /var/www/webapps/zabbix/frontends/php
<Directory "/var/www/webapps/zabbix">
        Options FollowSymLinks
        AllowOverride AuthConfig Limit
        Order allow,deny
        Allow from all
</Directory>

# service httpd2 restart

Редактирвать php

# mcedit /etc/php/5.x/apache2-mod_php/php.ini 
 max_execution_time = 600
 max_input_time = 600
 memory_limit = 256М
 post_max_size = 32M
 upload_max_filesize = 20M
 date.timezone = Europe/Moscow 
 always_populate_raw_post_data= -1

# service httpd2 restart
# service httpd2 on

Пользователь zabbix

Для управления zabbix-процессами, выделена специальная учётная запись, имя=zabbix

  • Пользователь zabbix и группа zabbix создаётся автоматически, при установке zabbix-agent
# apt-get install zabbix-agent
# id zabbix
uid=xxx(zabbix) gid=xxx(zabbix) группы=xxx(zabbix),19(proc)

Ручная установка учётной записи имя=zabbix

# groupadd zabbix
# useradd -g zabbix zabbix
//Права на каталоги 
# namei -mol /var/log/zabbix/
drwxr-xr-x root root   /
drwxr-xr-x root root   var
drwxr-xr-x root root   log
drwxrwxr-t root zabbix zabbix
# namei -mol /var/run/zabbix/
drwxr-xr-x root   root   /
drwxr-xr-x root   root   var
drwxr-xr-x root   root   run
drwxr-xr-x zabbix zabbix zabbix

Установка пароля, только для серверной учётной записи, имя=zabbix

# passwd zabbix
...........
Enter new password: zabbix
Re-type new password: zabbix

Настройка MySQL

Запускаем mysql

# service mysqld start
# chkconfig mysqld on

Устанавливаем пароль mysql

# mysqladmin -u root password zabbix

Создание БД, имя zabbix

# mysql -uroot -pzabbix
# mysql> create database zabbix character set utf8;

создание суперпользователя БД zabbix; имя zabbix, пароль zabbix

 
# mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; 
# mysql> exit

Импорт шаблонов zabbix в БД mysql

# ls -l /usr/share/doc //смотрим какая версия MySQL
# cd /usr/share/doc/zabbix-server-mysql-x.x.x

Выполняем импорт:

# mysql -uroot -pzabbix zabbix < schema.sql
# mysql -uroot -pzabbix zabbix < images.sql
# mysql -uroot -pzabbix zabbix < data.sql

Перегружаем mysql

# service mysqld restart

Проверка БД

# mysqlcheck -uroot -pzabbix --auto-repair --check --all-databases

Переходим в режим GUI, заключительного этапа установки Zabbix

Запустите Firefox и введите адрес

  • http://ip/zabbix/frontends/php
  • Мастер предварительной настройки севера zabbix проведёт Вас по шагам и задаст вопросы.
  • После того, как на все вопросы мастера настройки будут получены ответы, возникнет окно с приглашением ввести логин и пароль для первого входа
  • логин admin
  • пароль zabbix
  • Не забудьте изменить пароль

Справочная информация

Конфиги

  • Агент на сервере
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
  • Агент на клиентах ALT(овых)
# vim /etc/zabbix/zabbix_agentd.conf
ListenPort=10050
ServerActive=zabbix.ivn
Hostname=zabbix
  • Основной Zabbix конфиг
# vim /var/www/webapps/zabbix/frontends/php/conf/zabbix.conf.php

<?php
// Zabbix GUI configuration file.
global $DB;

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = 'localhost';
$DB['PORT']     = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'zabbix';

// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';

$ZBX_SERVER      = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>

Службы Zabbix

  • Сервер Zabbix
# service zabbix_mysql start|stop|restart|status
  • Агент Zabbix для ALT(овых)
# service zabbix_agentd start|stop|restart|status
  • Сервер MySql
# service mysqld start|stop|restart|status 
  • Сервер Appache2
# service httpd2 start|stop|restart|status

Журналы Zabbix

# tail -f /var/log/zabbix/zabbix_server.log  //сервер
# tail -f /var/log/zabbix/zabbix_agentd.log  //агент

Порты zabbix

# netstat -tulpn|grep zabbix

Версия агента Zabbix

# zabbix_agentd -V

Каталоги для архивации

# mysqldump -uroot -pzabbix -A>zabb_bk.sql
# /etc/php
# /etc/zabbix
# /var/www/webapps/zabbix

Основная документация Zabbix [1]