Cacti шаблон для мониторинга MySQL сервера посредством протокола SNMP, применимо в тех случаях когда вы не можете по каким либо причинам работать напрямую с базой по порту 3306.
Установка:
1) Все необходимые скрипты, темплейты, инструкции и примеры графиков находятся на GitHub: https://github.com/spions/cacti-mysql/
2) Для начала создаем mysql пользователя, на хосте который мы собираемся мониторить.
[monitoring-server]# mysql -uroot -p CREATE USER 'monitor'@'localhost' IDENTIFIED BY 'secret'; GRANT PROCESS ON *.* TO 'monitor'@'localhost'; FLUSH PRIVILEGES; MariaDB можете создать пользователя с пустым паролем. Для нормальной работы пароль желательно все-таки поставить. SET PASSWORD FOR 'monitor'@'localhost' = PASSWORD('secret');
3) Созданного выше пользователя прописываем в конфигурационном файле: /etc/snmpd/mysql-stats.conf
cd /etc/snmp/ wget https://raw.github.com/spions/cacti-mysql/master/mysql-stats.conf
4) Создаем директорию для кеширования, скачиваем непосредственно скрипт мониторинга и вносим изменения в конфигурационый файл snmpd.conf
cd /etc/snmp/ mkdir /etc/snmp/mysql_cache chmod 777 /etc/snmp/mysql_cache wget https://raw.github.com/spions/cacti-mysql/master/mysql-stats chmod 755 mysql-stats
Вносим следующие экстенды в /etc/snmp/snmpd.conf и рестартуем демона snmpd.
extend mysqlqcache /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache _qcache_miss_ratio _qcache_hit_ratio qcache_hits qcache_inserts qcache_total_blocks qcache_free_blocks _qcache_used_blocks query_cache_size qcache_free_memory _qcache_used_memory qcache_queries_in_cache extend mysqlbufferpool /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache _innodb_buffer_pool_miss_ratio _innodb_buffer_pool_hit_ratio innodb_buffer_pool_reads innodb_buffer_pool_read_requests innodb_buffer_pool_write_requests extend mysqlbufferpoolstat /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache innodb_buffer_pool_pages_total innodb_buffer_pool_pages_data innodb_buffer_pool_pages_free innodb_buffer_pool_pages_dirty innodb_buffer_pool_pages_misc extend mysqlinnodbrows /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache innodb_rows_read innodb_rows_deleted innodb_rows_updated innodb_rows_inserted extend mysqlkeycache /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache _key_miss_ratio _key_hit_ratio key_reads key_read_requests extend mysqlcomm /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache questions com_select com_delete com_insert com_update com_replace com_load com_delete_multi com_insert_select com_update_multi com_replace_select extend mysqlsort /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache sort_rows sort_range sort_merge_passes sort_scan extend mysqlselects /etc/snmp/mysql-stats /etc/snmp/mysql_cache/cache select_full_join select_full_range_join select_range select_range_check select_scan
5) Непосредственно на Cacti добавляем новый шаблон «cacti_host_template_mysql.xml«.
Это можно сделать двумя способами:
— Через web интерфейс: во вкладке «Console -> Import/Export -> Import Templates«, добавляем ранее скаченный файл в «Import Template from Local File» и делаем «Import».
— Через CLI интерфейс cacti:
wget https://raw.github.com/spions/cacti-mysql/master/cacti_host_template_mysql.xml php /dir_to_cacti/cacti/cli/import_template.php --filename=/dir_to_template/cacti_host_template_mysql.xml --with-user-rras='1:2:3:4' using RRA Daily (5 Minute Average) using RRA Weekly (30 Minute Average) using RRA Monthly (2 Hour Average) using RRA Yearly (1 Day Average) Read 234723 bytes of XML data ** GPRINT Preset ...
6) Если мы все сделали правильно, то в «Host Template» у хоста, толжен появиться новая группа шаблонов под названием «Mysql».
Выбрав его, мы сможем добавить новые графики:
Шаблон для скачивания: https://github.com/spions/cacti-mysql/archive/master.zip