munin-run mysql_ plugin возвращает данные, но сервер munin получает ошибку «Плохой выход»

У меня есть сервер Munin с несколькими узлами Munin, все настроены с использованием Ansible, поэтому конфигурация практически такая же. Системы - это Debian Jessie.

Графы mysql_ * с двух серверов присутствуют, но пусты, в то время как остальные три сервера имеют полные графики.

Выполнение munin-run --debug mysql_commands на одном из неисправных серверов возвращает правильный вывод:

# munin-run --debug mysql_commands
# Processing plugin configuration from /etc/munin/plugin-conf.d/ansible.conf
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Setting /rgid/ruid/ to /119/0/
# Setting /egid/euid/ to /119 119/0/
# Setting up environment
# Environment mysqluser = debian-sys-maint
# Environment mysqlconnection = DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf
# Environment mysqlopts = --defaults-file=/etc/mysql/debian.cnf
# About to run '/etc/munin/plugins/mysql_commands'
Com_delete.value 4546376
Com_insert.value 2804559
Com_insert_select.value 341479
Com_load.value 0
Com_replace.value 0
Com_replace_select.value 0
Com_select.value 236967004
Com_update.value 7069348
Com_update_multi.value 0

Таким образом, похоже, узел Munin работает нормально.

Но когда я выполняю munin-cron на сервере munin, плагин возвращает неверный выход при извлечении:

# sudo -u munin munin-cron --host server.com --debug
...
2018/01/09 08:35:01 [DEBUG] for my mysql_commands (irqstats mysql_innodb_tnx diskstats apache_accesses smart_sda df ntp_offset vmstat fw_packets mysql_select_types netstat users mysql_qcache mysql_table_locks swap mysql_slow mysql_myisam_indexes if_err_eth0 apt hddtemp_smartctl ntp_kernel_err ntp_kernel_pll_freq mysql_innodb_rows mysql_innodb_bpool forks ntp_kernel_pll_off cpu load postfix_mailvolume postfix_mailqueue mysql_qcache_mem open_inodes processes http_loadtime open_files uptime mysql_commands mysql_innodb_semaphores apt_all mysql_innodb_io smart_sdb memory mysql_connections mysql_files_tables mysql_network_traffic df_inode mysql_sorts if_eth0 entropy proc_pri mysql_innodb_bpool_act apache_processes threads mysql_innodb_log mysql_innodb_insert_buf mysql_tmp_tables mysql_innodb_io_pend interrupts apache_volume)
2018/01/09 08:35:01 [DEBUG] Fetching service configuration for 'mysql_commands'
2018/01/09 08:35:01 [DEBUG] Writing to socket: "config mysql_commands
".
2018/01/09 08:35:02 [DEBUG] Reading from socket: "graph_vlabel Commands per ${graph_period}\ngraph_total Questions\ngraph_args --base 1000\ngraph_title Command Counters\ngraph_category mysql2\nCom_delete.type DERIVE\nCom_delete.label Delete\nCom_delete.draw STACK\nCom_delete.min 0\nCom_insert.draw STACK\nCom_insert.min 0\nCom_insert.type DERIVE\nCom_insert.label Insert\nCom_insert_select.type DERIVE\nCom_insert_select.label Insert select\nCom_insert_select.draw STACK\nCom_insert_select.min 0\nCom_load.label Load Data\nCom_load.type DERIVE\nCom_load.min 0\nCom_load.draw STACK\nCom_replace.type DERIVE\nCom_replace.label Replace\nCom_replace.draw STACK\nCom_replace.min 0\nCom_replace_select.draw STACK\nCom_replace_select.min 0\nCom_replace_select.type DERIVE\nCom_replace_select.label Replace select\nCom_select.type DERIVE\nCom_select.label Select\nCom_select.draw STACK\nCom_select.min 0\nCom_update.type DERIVE\nCom_update.label Update\nCom_update.draw STACK\nCom_update.min 0\nCom_update_multi.label Update multi\nCom_update_multi.type DERIVE\nCom_update_multi.min 0\nCom_update_multi.draw STACK".
2018/01/09 08:35:02 [DEBUG] config: 0.151266 sec for 'mysql_commands' on server.com/1.2.3.4/4949
2018/01/09 08:35:02 [DEBUG] Now parsing config output from plugin mysql_commands on server.com
2018/01/09 08:35:02 [DEBUG] update_rate 0 for mysql_commands on server.com/1.2.3.4:4949
2018/01/09 08:35:02 [DEBUG] No service data for mysql_commands, fetching it
2018/01/09 08:35:02 [DEBUG] Writing to socket: "fetch mysql_commands
".
2018/01/09 08:35:02 [DEBUG] data: 0.175058 sec for 'mysql_commands' on server.com/1.2.3.4/4949
2018/01/09 08:35:02 [DEBUG] Now parsing fetch output from plugin mysql_commands on server.com/1.2.3.4:4949
2018/01/09 08:35:02 [FETCH from mysql_commands] # Bad exit
...

Это происходит со всеми плагинами mysql_ * на двух серверах, но они работают нормально на трех других серверах. Другой плагин Munin работает нормально на всех серверах, поэтому общая конфигурация кажется удовлетворительной.

Конфигурация для плагинов mysql_ *:

[mysql*]
user root
env.mysqlopts --defaults-file=/etc/mysql/debian.cnf
env.mysqluser debian-sys-maint
env.mysqlconnection DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf

Новые записи не добавляются в журнал узла Munin ( / var / log / munin / munin-node .log ) и MySQL, когда выполняется sudo -u munin munin-cron .

Служба узлов Munin сообщает о нормальной работе:

# systemctl status munin-node
● munin-node.service - Munin Node
   Loaded: loaded (/lib/systemd/system/munin-node.service; enabled)
   Active: active (running) since mié 2018-01-17 14:20:10 CET; 19s ago
     Docs: man:munin-node(1)
           http://munin.readthedocs.org/en/stable-2.0/reference/munin-node.html
  Process: 4515 ExecStart=/usr/sbin/munin-node $DAEMON_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 4541 (munin-node)
   CGroup: /system.slice/munin-node.service
           └─4541 /usr/bin/perl -wT /usr/sbin/munin-node

ene 17 14:20:10 example.com systemd[1]: Started Munin Node.
  • Версия Munin (узлы и серверы): пакет Debian 2.0. 25-1 + deb8u3.

  • База данных: mariadb-server Пакет Debian 10.0.26-0 + deb8u1.

Что может быть не так с этими узлами? Или как я могу отладить проблему?

1
задан 17 January 2018 в 15:22
1 ответ

Позор мне.

Два munin-узла были настроены с одним и тем же IP-адресом, поэтому с одним сервером никогда не связывались, а у другого дважды запрашивали статистику. Этот двойной запрос заставил плагин mysql_ вести себя плохо.

Эта проблема объясняет другие незначительные проблемы, которые я обнаружил, но поставил в очередь на решение после этой (например, странное использование диска).

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

$ nc example.com 4949
# munin node at example.com
fetch mysql_commands
Com_delete.value 5481602
Com_insert.value 3468782
Com_insert_select.value 437696
Com_load.value 0
Com_replace.value 0
Com_replace_select.value 0
Com_select.value 295884041
Com_update.value 8498783
Com_update_multi.value 6
.

См. Отладка Munin Плагины .

0
ответ дан 4 December 2019 в 04:15

Теги

Похожие вопросы