Zabbix 2 — мониторим MySQL

Опубликовано:

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

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

1. Выполняем в MySQL запрос вида
GRANT USAGE ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'superpassword';

2. В zabbix_agentd.conf проверяем подключение дополнительных конфигов и путь к ним:
Include=/etc/zabbix/conf.d/

3. Если при установке агента файл 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

4. В этом файле обращаем внимание на переменную HOME=/var/lib/zabbix. Именно в этот каталог надо положить файл .my.cnf со следующим содержанием:
[client]
user = zabbix
password = superpassword

5. Все, теперь осталось подключить шаблон к хосту и наблюдать за цифрами и веселыми картинками.

 

 

6.2.2 MySQL

Файл конфигурации misc/conf/zabbix_agentd.conf содержит список пользовательских параметров, которые могут быть использованы для наблюдения за MySQL.

### Set of parameter for monitoring MySQL server (v3.23.42 and later)
### Change -u and add -p if required
#UserParameter=mysql[ping],mysqladmin -uroot ping|grep alive|wc -l
#UserParameter=mysql[uptime],mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
#UserParameter=mysql[threads],mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
#UserParameter=mysql[questions],mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"
#UserParameter=mysql[slowqueries],mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"
#UserParameter=mysql[qps],mysqladmin -uroot status|cut -f9 d":"
#UserParameter=version[mysql],mysql -V
6.2.2.1 mysql[ping]

Проверить в рабочем ли состоянии MySQL

    Результат: 0 - не запущен 1 - в рабочем состоянии
6.2.2.2 mysql[uptime]

Количество секунд с момента запуска MySQL

6.2.2.3 mysql[threads]

Количество потоков MySQL

6.2.2.4 mysql[questions]

Количество обрабатываемых запросов

6.2.2.5 mysql[slowqueries]

Количество медленных запросов

6.2.2.6 mysql[qps]

Запросов в секунду

6.2.2.7 mysql[version]

Версия MySQL. Пример: mysql Ver 11.16 Distrib 3.23.49, для pc-linux-gnu (i686)

Понравилась статья, расскажи о ней друзьям, нажми кнопку!