X

zabbixでMariaDBのslave監視の設定をした

凄い久しぶりにzabbixでMariaDBのslave監視の設定をしたので忘れないようにメモ

MariaDB 11.4を使用しています。

1. MariaDB 側での監視用ユーザー作成と確認

まずはレプリケーション監視権限(SLAVE MONITOR)を付与したユーザーを作成します。
CREATE USER 'zabbix_monitor'@'localhost' IDENTIFIED BY 'パスワード';
GRANT SLAVE MONITOR, REPLICATION CLIENT, PROCESS, SHOW DATABASES, SUPER ON . TO 'zabbix_monitor'@'localhost';
FLUSH PRIVILEGES;

疎通確認

mariadb -uzabbix_monitor -pパスワード -e "SHOW SLAVE STATUS\G"

エラー(ERROR 1227ERROR 1045)が出ず、スレーブ情報または Empty set が返れば成功。

2./Zabbix Agent 2 の設定

/etc/zabbix/zabbix_agent2.d/plugins.d/mysql.conf の最後に追記します。

Plugins.Mysql.Sessions.master.Uri=unix:/var/lib/mysql/mysql.sock
Plugins.Mysql.Sessions.master.User=zabbix_monitor
Plugins.Mysql.Sessions.master.Password=パスワード

サービス再起動と疎通確認

systemctl restart zabbix-agent2

zabbix_agent2 -t mysql.ping[master]

mysql.ping[master] [s|1] (末尾が [s|1])と返ってくれば成功。

3.Zabbix Web UI での設定

ホスト設定: 対象ホストにテンプレート MySQL by Zabbix agent 2 を割り当てる。

マクロ設定: ホストマクロに以下を設定し、Agent 2 側の master セッションと紐付ける。

  • マクロ: {$MYSQL.DSN}
  • 値: master

ディスカバリ即時実行:

【データ収集】>【ホスト】>対象ホストの【ディスカバリ】一覧から Replication discovery を選び 【今すぐ実行】 をクリック。

4. 監視データの確認(Web UI)

【監視データ】>【最新データ】を開き、ホストで絞り込んで確認します。

  • Replication Slave IO Running: Yes(I/Oスレッド動作中)
  • Replication Slave SQL Running: Yes(SQLスレッド動作中)
  • Replication Seconds Behind Master: 0(データ同期遅延なし)

終了

higherhope: