Pocket

zabbix_get コマンドで MySQLの稼働状況を確認する簡易試験

  • add this entry to hatena bookmark

MySQLの稼働状況をZabbixで監視する為に、まずは、Zabbixに付属しているコマンド「zabbix_get」で値が取れるかどうかをやってみました。

少しハマったのですが、やっと設定方法が分かりました。ここに記載しているのは、設定を少しずつ進める為の作業ログです。完全なZabbixでのMySQL監視手法にはまだ至っていない状態ですが、ご了承ください。後日ちゃんとした記録を記載したいと思います。

確認した環境

1台のCentOS上で確認しました。

このOSには、MySQL「5.5.23」が動いており、Zabbixエージェントは「1.8.16」が動いています。動いているのは「zabbix_agentd」(デーモンのほう)です。

MySQL設定

今回の試験では、MySQL側は何も設定変更を行っていません。

Zabbixでちゃんと監視を行う際には、Zabbix監視用のMySQLアカウントを設定する事になると思いますが(後日行う予定)、今回の試験では全て登録済の「root」アカウントで行いました。「root」アカウントには、もちろんパスワードを設定しています。

Zabbix設定

まず、「zabbix_agentd.conf」の設定を行います。

今回の作業はすべて1台のCentOS上からのローカル操作になります。よって、以下の設定を入れました。

Server=127.0.0.1

この「Server」設定項目は、ZabbixサーバのIPアドレスを設定する場所です。複数のIPアドレスを設定する場合はコンマで区切ります。
今回の試験作業で、zabbix_get でなかなか値が取れなかった原因は、この「Server」設定にローカルIPアドレスを入れていなかった事でした。

次に以下の「ListenIP」にも「127.0.0.1」を設定しておきます。後ほど実行する zabbix_get コマンドで利用します。

ListenIP=127.0.0.1

こちらも、複数のIPアドレスを設定する場合はコンマで区切ります。

あとは、この後に設定するファイルに関係しますが、以下の「Include」設定が有効になっている事を確認します。

Include=/(zabbix設定ファイル置き場)/zabbix_agentd.d/

その他の設定(ListenPortなど)は既存のままです。

次に、/(zabbix設定ファイル置き場)/zabbix_agentd.d/ 配下にある「userparameter_mysql.conf」を少し編集します。

例えば、mysql.ping を監視したい場合、以下のように、mysqladmin コマンドにユーザとパスワードの情報を渡します。今回はあくまで試験なので、パスワードを直接記載する設定で一時的に試してみました。ちゃんとやる場合はZabbix用のユーザアカウントをMySQLに登録して、パスワードは別の方法で保護する予定です。

UserParameter=mysql.ping,HOME=/var/lib/zabbix /usr/bin/mysqladmin -uroot -ppassword ping | grep alive | wc -l

※-ppassword の部分は正しい値に置き換えます。

以上で、zabbix設定ファイルの変更は終了です。

設定の変更を有効にする為に、zabbixエージェントを再起動します。

# /etc/init.d/zabbix-agent restart
Shutting down zabbix agent:                                [  OK  ]
Starting zabbix agent:                                     [  OK  ]
#

zabbix_getコマンドで値が取れる事を確認

zabbix_get コマンドで、mysql.ping の値が取得できる事を確認します。

# zabbix_get -s 127.0.0.1 -k mysql.ping
1
#

無事「1」という値が取れました。「userparameter_mysql.conf」で設定した mysql.ping でのコマンドで「grep」と「wc」をかましているので、「1」の値が取得できれば問題ない状態です。

あと、試しに「mysql.threads」も同じような設定を行ってから、zabbix_get を実行してみました。あと、アカウントは関係ない「mysql.version」も取得してみました。

# zabbix_get -s 127.0.0.1 -k mysql.threads
 1
# zabbix_get -s 127.0.0.1 -k mysql.version
mysql  Ver 14.14 Distrib 5.5.23, for Linux (x86_64) using readline 5.1
#

ちゃんと値が取得出来ており、問題ない結果です。
仕組みと挙動が分かったので、後日もう少しちゃんとした設定を行い、Zabbixのアイテムからも値が取れる事を確認したいと思います。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。