Zabbix заметки
Администрирование ИТ предприятия невозможно без современных средств мониторинга и анализа, позволяющих реагировать на критические ситуации, отслеживать динамику работы серверов, рабочих станций и приложений. Из доступных СПО для мониторинга можно выделить 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 //или # systemctl restart httpd2
Редактирвать 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 //или # systemctl restart httpd2 # systemctl enable httpd2
Пользователь 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 //или # systemctl start mysqld # systemctl enable mysqld
Устанавливаем пароль 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 //или # cd /usr/share/doc/zabbix-common-database-mysql-x.x.xx
Выполняем импорт:
# mysql -uroot -pzabbix zabbix < schema.sql # mysql -uroot -pzabbix zabbix < images.sql # mysql -uroot -pzabbix zabbix < data.sql
Перегружаем mysql
# service mysqld restart //или # systemctl restart zabbix_mysql
Проверка БД
# mysqlcheck -uroot -pzabbix --auto-repair --check --all-databases
Размер БД
# mysql -uroot -pzabbix mysql> SELECT table_schema "databases name", sum( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ; +--------------------+----------------------+ | databases name | Data Base Size in MB| +--------------------+----------------------+ | information_schema | 0.15625000 | | mysql | 2.28296661 | | performance_schema | 0.00000000 | | sys | 0.01562500 | | zabbix | 1623.98437500 | +--------------------+----------------------+ 5 rows in set, 48 warnings (0,80 sec) mysql> quit
Переходим в режим GUI, заключительного этапа установки Zabbix
Запустите Firefox и введите адрес
- http://ip/zabbix/frontends/php
- Мастер предварительной настройки севера zabbix проведёт Вас по шагам и задаст вопросы.
- После того, как на все вопросы мастера настройки будут получены ответы, возникнет окно с приглашением ввести логин и пароль для первого входа
- логин admin
- пароль zabbix
- Не забудьте изменить пароль
Сохранение и Восстановление Zabbix
Для того, чтобы сделать резервную копию необходимо определить файловую структуру резервного копирования. Вероятнее всего нам потребуется сохранить БД, файл конфигурации Zabbix сервера и файл настроек серверного агента. Создадим инструкцию которая будет по расписанию crontab -e, примерно раз в неделю в 00ч 00м запускать файл chmod 744 zabb_bk
zabbix home # chmod 744 zabb_bk
zabb_bk
#!/bin/bash TEMPDIR=/tmp/zb_bk/ BACKUPDIR=/home/ mkdir -p $TEMPDIR # Стор Apache2 systemctl stop httpd2 # Стоп zabbix mysql systemctl stop zabbix_mysql # Создать dump MySQL и копировать во временный каталог mysqldump -uroot -pzabbix -A > $TEMPDIR/all_bd.sql # Старт Apache2 systemctl start httpd2 # Старт zabbix mysql systemctl start zabbix_mysql # Копировать каталоги во временную директорию cp -r /etc/zabbix/zabbix_server.conf $TEMPDIR cp -r /var/www/webapps/zabbix/frontends/php/conf/zabbix.conf.php $TEMPDIR # Сжать и добавить дату создания(максимально до 31 дня месяца) tar -cjf $BACKUPDIR/zabbix_`date +%d`_back.tar.bz2 $TEMPDIR # Очистить временный каталог rm -rf /tmp/zb_bk
Созданный архив также можно хранить на специальном сервере для резервных копий вашей компании Для восстановления 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 //или # systemctl start|stop|restart|status zabbix_mysql
- Агент Zabbix для ALT(овых)
# service zabbix_agentd start|stop|restart|status //или # systemctl start|stop|restart|status zabbix_agentd
- Сервер MySql
# service mysqld start|stop|restart|status //или # systemctl start|stop|restart|status mysqld
- Сервер Appache2
# service httpd2 start|stop|restart|status //или # systemctl start|stop|restart|status httpd2
Журналы Zabbix
# tail -f /var/log/zabbix/zabbix_server.log //сервер # tail -f /var/log/zabbix/zabbix_agentd.log //агент # journalctl -f //OC
Порты 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]