Fork me on GitHub

Настройка zabbix MySQL сервера

Конструкиця не совсем удобная, поэтому делаю это через ansible

Новая версия Zabbix 2, помимо прочих плюшек, умеет легко и красиво мониторить основные параметры MySQL-серверов. Более того, в ней для этого есть стандартный шаблон Template Default MySQL. И как оказалось, настраивается он в пару нажатий.

Итак, на хосте, который надо мониторить, нам понадобится следующее:

  1. Выполняем в MySQL запрос вида
GRANT USAGE ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'superpassword';
  1. В zabbix_agentd.conf проверяем подключение дополнительных конфигов и путь к ним:
Include=/etc/zabbix/conf.d/
  1. Если при установке агента файл userparameter_mysql.conf не распаковался, создаем его в каталоге из п.2:
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'

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
  1. В этом файле обращаем внимание на переменную HOME=/var/lib/zabbix. Именно в этот каталог надо положить файл .my.cnf со следующим содержанием:
[client]
user = zabbix
password = superpassword
  1. Все, теперь осталось подключить шаблон к хосту и наблюдать за цифрами и веселыми картинками.

Comments