ZabbixによるMySQL監視
Zabbixの監視対象にインストールしたzabbixエージェントから、MySQLに対してリクエストを投げてステータスを監視する事が出来ます。
ZabbixにはMySQLを監視する為のテンプレートが用意されていて、監視対象に対してテンプレートをアサインする事で監視を行います。
公式:MySQL監視の手順はこちらから
https://www.zabbix.com/jp/integrations/mysql
パッシブチェックとアクティブチェック
zabbixエージェントを利用した監視には2つ方法があります。
- パッシブチェック (デフォルト)
- アクティブチェック
パッシブチェック
Zabbixサーバーから監視対象に向けて監視情報のデータ問い合わせを行います。
[ Zabbixサーバ →→データ確認→→ 監視対象 ]
パッシブチェック
監視対象からZabbixサーバー対して、まず監視内容の問い合わせを行いその上でデータを送信します。
[ Zabbixサーバ ←←監視内容の問い合わせ/データ←← 監視対象 ]
どの様な時にアクティブチェックを使うのか
監視対象がFirewallなどでZabbixサーバーからの通信を通せない時にアクティブチェックを使います。
パッシブチェックで利用するTCP10050ポートを開放出来ない場合です。
アクティブチェックによる外向き通信で対応可能です。
ZabbixによるMySQLアクティブチェック監視
ここでは通常にパッシブチェックによるMySQL監視が既に出来ているものとします。
Zabbixサーバー側のポート開放
アクティブチェックの場合、zabbixエージェントはZABBIXサーバーに対してTCP10051で通信を行います。
それでOSのFirewallやクラウド基盤のパケットフィルタで、監視対象からのTCP10051宛通信が開放されている必要があります。
テンプレートのコピー
ZabbixサーバーにデフォルトでインストールされているMySQL監視用テンプレートは、パッシブチェック用に設定されています。
こちらをアクティブチェック用に設定を変えると、パッシブチェックでMySQLを監視する際に困るのでテンプレートをコピーして設定をアクティブチェック用に変更します。
テンプレート一覧からZabbix agentとZabbix agent2があるので、利用しているエージェントをクリックします。
すべて複製をクリックします。
テンプレート名にアクティブチェック用の事を付け加えて追加をクリックします。
MySQLアクティブチェック用のテンプレートが出来ました。
エージェントタイプの変更
コピーしたテンプレートのアイテム一覧を開きます。
大半のアイテムが依存アイテムか計算になっています。
タイプがZabbixエージェントのアイテムが3つ有るので、このアイテムをアクティブチェックに変更します。
タイプをZabbixエージェントからZabbixエージェント(アクティブ)に変更して更新します。
複製したアクティブチェク用テンプレートを監視対象にアサインする
テンプレートを監視対象にアサインします。
これでMySQLからデーターが入って来るはずです。
テンプレートを利用したMySQL監視の際は、チェックの方法に関わらず事前に行う必要のある事があります。
- template_db_mysql.confを/etc/zabbix/zabbix_agentd.d/に配置する
- MySQLにZABBIX監視用のユーザーを作る
- .my.cnfに監視用ユーザ/パスワードを書いて/var/lib/zabbixに配置する
MySQLのバージョンによってはテンプレートに用意されているアイテムが取得できない場合もあります。詳しくはこちらから。
ZABBIX監視定番の青本改訂版はこちら↓