ウェブアプリ

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

本当に便利ですね……。

この記事のタイトルとURLをコピーする

・関連記事
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

in ソフトウェア,   ネットサービス, Posted by darkhorse

You can read the machine translated English article here.