1.Настройка Zabbix-агента
1 |
# mkdir -p /var/lib/zabbix/percona |
Скачиваем архив,распаковываем и копируем каталоги scripts и templates из распакованного архива в /var/lib/zabbix/percona/
https://www.percona.com/downloads/percona-monitoring-plugins/
1 |
# cd /var/lib/zabbix/percona/ |
1 |
# wget https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-monitoring-plugins-1.1.6.tar.gz |
1 |
# tar xvzf percona-monitoring-plugins-1.1.6.tar.gz |
1 |
# cp -r percona-monitoring-plugins-1.1.6/zabbix/scripts /var/lib/zabbix/percona/ |
1 |
# cp -r percona-monitoring-plugins-1.1.6/zabbix/templates /var/lib/zabbix/percona/ |
1 |
# rm -rf percona-monitoring-plugins* |
Проверяем название файла, который подключается в основном конфигурационном файле агента
1 |
# grep -i 'Include' /etc/zabbix/zabbix_agentd.conf | grep -v '^#' |
1 |
Include=/etc/zabbix/zabbix_agentd.d/ |
Копируем файл конфигурации агента для мониторинга mysql, перезапускаем агента
1 |
# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/ |
1 |
# service zabbix-agent restart |
На клиенте создаем пользователя с паролем к доступу ко всем базам данным
1 |
mysql> grant all privileges on *.* to zabbixpercona@'localhost' identified by 'zabbixperconapassword'; |
1 |
mysql> flush privileges; |
Создаем пользовательский файл
1 |
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf |
, который переопределит некоторые настройки из глобального скрипта /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
1 |
# nano /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf |
1 2 3 |
<?php $mysql_user = 'zabbixpercona'; $mysql_pass = 'zabbixperconapassword'; |
Тестируем скрипт
1 |
# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg |
1 |
3159212 |
Аналогично
1 |
# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg |
1 |
gg:3159212 |
1 |
# grep zabbix /etc/passwd |
1 |
zabbix:x:487:487:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin |
1 |
# nano ~zabbix/.my.cnf |
1 2 3 |
[client] user = zabbixpercona password = zabbixperconapassword |
Проверяем под пользователем zabbix
1 |
# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave |
1 |
0. |
Должен вернтуть 0 или 1, но не “Access denied” ошибку
Выставим корректного владельца и права
1 |
# chown -R zabbix:zabbix /var/lib/zabbix/ |
1 |
# chmod 640 /var/lib/zabbix/.my.cnf |
1 |
# chmod 640 /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf |
2.Настройка Zabbix-сервера
Импортируем шаблон, который находится по пути /var/lib/zabbix/percona/templates/
1 |
# ls /var/lib/zabbix/percona/templates/*.xml |
1 |
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml |
1 |
Configuration->Templates->Import->zabbix_agent_template_percona….->отмечаем выбор Screens(Update existing и Create new) |
Привязываем/добавляем шаблон Percona MySQL Server Template к хосту, на котором мониторим MySQL
Проверяем наличие данных
1 |
Monitoring->Latest data->фильтруем по имени хоста в поле Hosts->Mysql |
Предоставим право записи для пользователя zabbix на файл /tmp/localhost-mysql_cacti_stats.txt
Percona использует тот же скрипт для сбора статистики MySQL в Zabbix, что и в Сacti
Поэтому файл имееет такое название
1 |
# chmod 664 /tmp/localhost-mysql_cacti_stats.txt |
1 |
# chown zabbix:root /tmp/localhost-mysql_cacti_stats.txt |
С получаемыми графиками можно ознакомиться на странице
https://www.percona.com/doc/percona-monitoring-plugins/1.1/cacti/mysql-templates.html#mysql-templates-user-privileges
Источник:
https://www.percona.com/doc/percona-monitoring-plugins/1.1/zabbix/index.html#system-requirements
https://www.percona.com/doc/percona-monitoring-plugins/1.1/cacti/mysql-templates.html#mysql-templates-user-privileges