mysql -uroot -p
Добавляем прав
GRANT USAGE ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;
exit;
Вы должны включить только /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf * в ваш файл конфигурации агента Zabbix.
Include=/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
* путь к файлу userparameter_mysql.conf зависит от вашей текущей ОС
userparameter_mysql.conf
Код: Выделить всё
# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
# Для всех следующих команд HOME должен быть установлен в каталог, содержащий файл .my.cnf с информацией о пароле.
# Гибкий параметр для захвата глобальных переменных. На стороне интерфейса используйте такие ключи, как mysql.status[Com_insert].
# Ключевой синтаксис - mysql.status[переменная].
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
# Гибкий параметр для определения размера базы данных или таблицы. На стороне интерфейса используйте такие ключи, как mysql.size[zabbix,history,data].
# Ключевой синтаксис - mysql.size[<database>,<table>,<type>].
# База данных может быть именем базы данных или "все". Значение по умолчанию - "all".
# Таблица может быть именем таблицы или "все". Значение по умолчанию - "all".
# Тип может быть "данные", "индекс", "свободный" или "оба". И то, и другое представляет собой сумму данных и индекса "data", "index", "free" или "both". Значение по умолчанию - "оба".
# База данных обязательна, если указана таблица. Тип может быть указан всегда.
# Возвращает значение в байтах.
# 'sum' только для data_length или index_length требуется, когда мы получаем эту информацию для всей базы данных, а не для одной таблицы
UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | HOME=/var/lib/zabbix mysql -N
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
mkdir /var/lib/zabbix
И создайте файл /var/lib/zabbix/.my.cnf с конфигурацией
[client]
user = zabbix
password = pass
Можно попробовать в место userparameter_mysql.conf
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
Примеры
Показать
Таким образом, агент Zabbix получает запрос на mysql.status[ Bytes_received ] и выполняет команду
echo "показать глобальный статус, где Variable_name=' Bytes_received ';" | HOME=/var/lib/zabbix mysql -N | awk '{print $2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $2}'
На
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Bytes_sent],echo "show global status where Variable_name='Bytes_sent';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Bytes_received],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Com_begin],echo "show global status where Variable_name='Com_begin';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Com_delete],echo "show global status where Variable_name='Com_delete';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_sent';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Com_begin';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Com_delete';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
Еще вариант получения данных
Создать
mkdir /var/lib/zabbix
nano /var/lib/zabbix/.my.cnf
Прописать
[client]
user = monitoring
password = zabbix
/etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/*.conf
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
systemctl restart zabbix-agent
echo "показать глобальный статус, где Variable_name=' Bytes_received ';" | HOME=/var/lib/zabbix mysql -N | awk '{print $2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $2}'
На
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Bytes_sent],echo "show global status where Variable_name='Bytes_sent';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Bytes_received],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Com_begin],echo "show global status where Variable_name='Com_begin';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[Com_delete],echo "show global status where Variable_name='Com_delete';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_sent';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Bytes_received';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Com_begin';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
UserParameter=mysql.status[*],echo "show global status where Variable_name='Com_delete';" | HOME=/var/lib/zabbix mysql -N -uroot -ppassword| awk '{print $$2}'
Еще вариант получения данных
Создать
mkdir /var/lib/zabbix
nano /var/lib/zabbix/.my.cnf
Прописать
[client]
user = monitoring
password = zabbix
/etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/*.conf
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
Код: Выделить всё
# Для всех следующих команд HOME должен быть установлен в каталог, содержащий файл .my.cnf с информацией о пароле.
# Гибкий параметр для захвата глобальных переменных. На стороне интерфейса используйте такие ключи, как mysql.status[Com_insert].
# Ключевым синтаксисом является
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/zabbix mysql -N | awk '{print $$2}'
# Гибкий параметр для определения размера базы данных или таблицы. На стороне интерфейса используйте такие ключи, как mysql.size[zabbix,history,data].
# Ключевым синтаксисом является mysql.size[<database>,<table>,<type>].
# База данных может быть именем базы данных или "все". Значение по умолчанию - "all".
# Таблица может быть именем таблицы или "все". Значение по умолчанию - "all".
# Тип может быть "data", "index", "free" или "both". И то, и другое представляет собой сумму данных и индекса. Значение по умолчанию -"both".
# База данных обязательна, если указана таблица. Тип может быть указан всегда.
# Возвращает значение в байтах.
# 'sum' только для data_length или index_length требуется, когда мы получаем эту информацию для всей базы данных, а не для одной таблицы
UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[$
#По умолчанию ниже
UserParameter=mysql.ping,HOME=/etc/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.uptime,HOME=/etc/zabbix mysqladmin status | cut -f2 -d ":" | cut -f1 -d "T" | tr -d " "
UserParameter=mysql.threads,HOME=/etc/zabbix mysqladmin status | cut -f3 -d ":" | cut -f1 -d "Q" | tr -d " "
UserParameter=mysql.questions,HOME=/etc/zabbix mysqladmin status | cut -f4 -d ":"|cut -f1 -d "S" | tr -d " "
UserParameter=mysql.slowqueries,HOME=/etc/zabbix mysqladmin status | cut -f5 -d ":" | cut -f1 -d "O" | tr -d " "
UserParameter=mysql.qps,HOME=/etc/zabbix mysqladmin status | cut -f9 -d ":" | tr -d " "
UserParameter=mysql.version,mysql -V
Template DB MySQL rus
Группы элементов данных 1
MySQL
Элементы данных 14
MySQL статус Триггеры 1 mysql.ping 1m 1w 365d Zabbix агент MySQL Активировано
MySQL получено байт в секунду mysql.status[Bytes_received] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL Отправлено байт в секунду mysql.status[Bytes_sent] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL начать операции в секунду mysql.status[Com_begin] 1m 1w 365d Zabbix агент MySQL Активировано
MySQLсовершение операций в секунду mysql.status[Com_commit] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL удаление операций в секунду mysql.status[Com_delete] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL операции вставки в секунду mysql.status[Com_insert] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL операции отката в секунду mysql.status[Com_rollback] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL выберите операции в секунду mysql.status[Com_select] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL операции обновления в секунду mysql.status[Com_update] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL запросов в секунду mysql.status[Questions] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL медленные запросы mysql.status[Slow_queries] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL время безотказной работы mysql.status[Uptime] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL версия mysql.version 1h 1w Zabbix агент MySQL Активировано
Триггеры 1
Внимание/Предупреждение MySQL не работает {Template DB MySQL rus:mysql.ping.last(0)}=0 Активировано
Графики 2
MySQL пропускная способность 900 200 Нормальный
MySQL операции 900 200 Нормальный
Комплексные экраны 1
MySQL производительность 2 x 1 СвойстваКонструктор