MuninでMySQLのグラフが表示されない場合の対策
サーバを新しく移転させたまではよかったのですが、ふと気づくとMuninで描画させているグラフのうち、MySQL関連だけがすべてまったく表示されていないことが判明。よく見ると値自体が取得できておらず、グラフの右下に見える日時も更新されていない……。
以前に書いた記事中での対策を講じるもまったく表示されず、ほとほと困り果てたのですが、悪戦苦闘の末にようやくMySQLのグラフを表示させることに成功しました。
というわけで、どうやってMySQLのグラフを表示させたのかを以下、解説。
各プラグインの中身は単なるスクリプトファイルで、「/usr/share/munin/plugins/」にあります。このディレクトリにあるMySQL関連のプラグインファイルを開いてMySQLの値を取得する処理を追っかけた結果、基本的に以下のコマンドを投げてその値を取得していることが判明しました。
mysqladmin extended-status
ところがSSHでログインしてからこのコマンドを入力してもエラー発生、値が取得できない。調べてみたところ、ユーザー名とパスワードが必要、ということが判明。
MySQL サーバの状態を表示する:MySQL 逆引きリファレンス
使用例(パスワードが設定されている場合)
mysqladmin extended-status -u ユーザー名 -p
というわけで、ユーザー名は「root」、パスワードが「hogehoge」の場合、以下のようになります。
mysqladmin extended-status -u root -phogehoge
するとエラーも出ず、ちゃんと値が取得できました。つまり、このコマンドをMySQLのプラグインが投げるように設定すればいいわけです。「/etc/munin/plugin-conf.d/munin-node」を開き、以下のように設定します。
[mysql*]
env.mysqlopts -u root -phogehoge
あとは以下のコマンドを入力してMuninを再起動させれば完了。
/etc/init.d/munin-node restart
なお、コントロールパネルのcPanelやWHMからMuninを利用している場合には、以下の記事のように設定すればグラフが表示されるようになるらしい。
Fix for Munin MySQL Monitoring Plugin Graph Not Showing or Blank >> My Digital Life
なお、Muninは以下のソフトを動かすことでWindowsでもmunin-nodeを動かすことが可能です。
Jory's Website
HowToMonitorWindows - Munin - Trac
本当に便利ですね……。
・関連記事
MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」 - GIGAZINE
MySQLを自動バックアップする「AutoMySQLBackup」 - GIGAZINE
MySQLを操作する「MySQL Quick Admin」がオープンソース化 - GIGAZINE
萌え萌えなMySQL互換オープンソースデータベース「MoSQL」 - GIGAZINE
会員制ウェブサイトをPHPとMySQLでつくる - GIGAZINE
AJAXとPHPとMySQLを使ったRSSリーダーの作り方 - GIGAZINE
MySQL Clusterを使った負荷分散のやり方 - GIGAZINE
設定をMySQLやPostgreSQLに保存するDNSサーバ「MyDNS」 - GIGAZINE
シンプルなPHPとMySQLの最適化方法「当たり前を積み重ねると特別になる」 - GIGAZINE
・関連コンテンツ