Zabbix MySQL監視でConnection_errors データが取れない

ZabbixによるMySQL監視

Zabbixの監視対象にインストールしたzabbixエージェントからMySQLに対してリクエストを投げてステータスを監視する事が出来ます。
ZabbixにはMySQLを監視する為のテンプレートが用意されていて、監視対象に対してテンプレートをアサインする事で監視を行います。

公式:MySQL監視の手順はこちらから
https://www.zabbix.com/jp/integrations/mysql

Connection_errorsデータが取れない

mysql connection_errors
  • MySQL: Connection errors max connections per second
  • MySQL: Connection errors accept per second
  • MySQL: Connection errors internal per second
  • MySQL: Connection errors peer address per second
  • MySQL: Connection errors select per second
  • MySQL: Connection errors tcpwrap per second

6つのアイテムが取得出来ていません。
これらのアイテムがMySQL: Get status variablesの依存アイテムになっている事が分かります。

Get status variables

zabbix get status variables

mysql.get_status_variablesというキーを使っている事が分かります。
/etc/zabbix/zabbix_agentd.d/に配置したtemplate_db_mysql.confから該当するキーが実際にMySQLに対して投げているリクエストを確認します。

cat /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf
:
:
UserParameter=mysql.ping[*], mysqladmin -h”$1″ -P”$2″ ping
UserParameter=mysql.get_status_variables[*], mysql -h”$1″ -P”$2″ -sNX -e “show global status”
UserParameter=mysql.version[*], mysqladmin -s -h”$1″ -P”$2″ version
UserParameter=mysql.db.discovery[*], mysql -h”$1″ -P”$2″ -sN -e “show databases”
UserParameter=mysql.dbsize[*], mysql -h”$1″ -P”$2″ -sN -e “SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=’$3′”
UserParameter=mysql.replication.discovery[*], mysql -h”$1″ -P”$2″ -sNX -e “show slave status”
UserParameter=mysql.slave_status[*], mysql -h”$1″ -P”$2″ -sNX -e “show slave status”

mysql.get_status_variablesがMySQLに対して”show global status”をリクエストしている事が分かります。

show global status

mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3677120
Server version: 5.5.62 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> show global status;
+------------------------------------------+-------------+
| Variable_name                  | Value    |
+------------------------------------------+-------------+
| Aborted_clients                 | 1        |
| Aborted_connects              | 8        |

show global statusを叩くとVariable_nameにステータス変数が、Valueに値が表示されます。
しかしconnection_errors関連の情報は有りませんでした。

MySQLドキュメント

MySQL 5.6 リファレンスマニュアル
https://dev.mysql.com/doc/refman/5.6/ja/server-status-variables.html#statvar_Connection_errors_accept

show global statusで出力される情報の各項目の一覧が有ります。
Connection_errors_xxx項目にこの様な記載が。

これらの変数は MySQL 5.6.5 で追加されました。

監視対象のMySQLが5.5.62だったのでConnection_errors関連の監視項目はサポートされていない事が分かりました。

まとめ

MySQLは絶えずバージョンアップしているのでリリースノートで変更の確認が必要です。

5.6.5のリリースノート
https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-5.html

TwitterFacebookLinkedInHatenaPocketCopy Link