MySQLの監視設定

Zabbixを初めて導入するにあたりVM環境で設定の練習をしております。 エージェントのMySQLの監視ができるとの事なので、下記のサイトを参考に設定をしてみたのですが、監視がうまくいきません。

http://www.slideshare.net/qryuu/zabbix-20zabbix20mysql

設定漏れや間違い等ご存知の方いらっしゃいましたらご教示頂きたく思います。 よろしくお願い申し上げます。

[サーバ環境]
CentOS 6.5
Zabbix 2.4

[エージェント環境]
CentOS 6.5
Zabbix 2.4
MySQL5.5.40

[設定手順]
1.ディレクトリ作成
/var/lib/zabbix

2.設定ファイル作成
vi /var/lib/zabbix/.my.cnf

【設定ファイルの内容】
[client]
host = localhost
user = zabbix
password = <パスワードを設定>
socket = /var/lib/mysql/mysql.sock

3.パーミッション変更
chown root:zabbix /var/lib/zabbix/.my.cnf
chmod 640 /var/lib/zabbix/.my.cnf

4.サービスの再起動
service mysqld restart
/etc/init.d/zabbix-server restart
/etc/init.d/zabbix-agent restart

------------------
ブラウザから設定
------------------
5.[設定] - [テンプレート]を選択

6.Template App MySQLをクリック

7.「ホスト / テンプレート」の「利用中」に監視対象のホストを追加

8.[監視データ] - [最新データ]を選択

9.フィルターで対象のホストを絞込み

10.「MySQL (14アイテム)」をみると「最新のチェック時刻」が空白で監視されていない
(MySQL versionだけは確認できておりました。)

よろしくお願い申し上げます。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

MySQLはどのようにしてインストールされましたか?
.my.cnfに指定されたsocketのパスは、インストールされたMySQLの
環境と合致していますか?

あと、テンプレートのそれぞれの値は、UserParameterを利用して
取得していますので、

 /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

内で利用している各種コマンドのパスが通っているかなどもご確認
ください。

CentOS 6標準のMySQLのパッケージを利用していれば、設定の変更
は必要ありませんが、その他のものを利用されている場合は、その
環境に合わせて調整を行うことが必要となります。

ユーザー sato の写真

TNK様

早速のご教示ありがとうございます。

>MySQLはどのようにしてインストールされましたか?

MySQLのインストールは下記のコマンドで行いました。
yum --enablerepo=remi,eplp install mysql-server

>.my.cnfに指定されたsocketのパスは、インストールされたMySQLの
>環境と合致していますか?

パスは合致しておりました。

> /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
>内で利用している各種コマンドのパスが通っているかなどもご確認
>ください。

下記の方法で確認してみました。確認方法合っておりますでしょうか? 
IPの部分をエージェントにするとエラーになったので、これが原因でしょうか?

(1)zabbix_get -s 127.0.0.1 -k mysql.status
  結果:空
(2)zabbix_get -s 127.0.0.1 -k mysql.ping
  結果:1
(3)zabbix_get -s 127.0.0.1 -k mysql.version
  結果:mysql Ver 14.14 Distrib 5.5.40, for Linux (x86_64) using readline 5.1

(4)zabbix_get -s 172.16.251.20 -k mysql.status
  結果:ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: NO)
(5)zabbix_get -s 172.16.251.20 -k mysql.status
  結果:ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: NO)
(6)zabbix_get -s 172.16.251.20 -k mysql.status
  結果:ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: NO)

※172.16.251.20はエージェントのIPアドレスです。

確認方法や設定に誤りがございましたらご教示頂きたく思います。
よろしくお願い申し上げます。

ユーザー TNK の写真

データベース接続用のアカウント設定ができていないようです。

監視対象のサーバ上に、zabbixユーザのホームディレクトリや
.my.cnfファイルは作成されましたか?

ユーザー sato の写真

TNK様

ご教示ありがとうございます。確認しましたところ、設定しておりませんでした。

(1)
監視対象側のサーバにzabbixユーザのホームディレクトリは作成しておりませんでしたので
下記を実行して作成しました。

mkdir /home/zabbix
chown zabbix:zabbix /home/zabbix/
.
.
(2)
.my.cnfファイルも作成いなかったのですが、中身(設定)は、監視する側と同じ設定で大丈夫でしょうか?

vi /var/lib/zabbix/.my.cnf
【監視する側の設定ファイルの内容】
[client]
host = localhost
user = zabbix
password = <パスワードを設定>
socket = /var/lib/mysql/mysql.sock

ご教示の程、よろしくお願い申し上げます。

ユーザー TNK の写真

必要な手順は最初のご質問に書かれていた[設定手順]の1.2.3.4です。

/home/zabbixを作成するとは作成手順に書かれていませんよね。

.my.cnfの中身に関しては、監視したいMySQLサーバ上に監視用のア
カウントとしてzabbixというユーザを作成されたのであれば、それ
を設定してください。
MySQL上の他のアカウントで接続して確認させるのであれば、それ
に合わせてuserやpasswordを設定してください。

ユーザー sato の写真

TNK様

ご教示頂きありがとうございます。

監視される側のサーバにホームディレクトリを作成し、
監視される側のサーバにも.my.cnfの設定を同じように
行ったところ、値が取得できるようになりました!(嬉涙)


監視したいMySQLサーバ上の監視用アカウントは、監視する側と同じにして
おりましたので、同じ設定で大丈夫でした。
.
.
2日間ほど設定方法を調べ、試していて正しく動作させる事ができなかったので
ほんとうに助かりました。 ありがとうございました。