Hatena::ブログ(Diary)

ホットリンク研究開発室のblog RSSフィード

2009-04-01

Muninプラグインを作る

今日はエイプリルフールでしたが、仕様変更の話は嘘ではなくて修正作業をしていたyukiinu2ndです。

今回はMuninのプラグインを作ってみたので簡単に紹介したいと思います。

まず、Muninとは何かですが、CPU使用率・メモリ使用量などなど、マシンの状態を簡単にグラフ化してくれるソフトです。

プラグインで拡張することができるため、やろうと思えば何でもグラフ化することができます。


なお、今回Muninのインストール、プラグインの追加と削除等については省略します。

また、まだ動く物が完成していないため、ソース等は完成した段階で公開します。ごめんなさい。


プラグイン

プラグインは思った以上にシンプルで、引数に応じて標準出力へテキストで値を返す、これだけです。

そのため、標準出力へ出力ができ、実行できさえすればBashでもPerlでもOKです。

引数は

  • autoconf
  • config
  • なし

の3種類となっています。


autoconf

プラグインがデータを作成するために必要なモジュールが揃っているかを確認し、「yes」か「no」のみを返し、終了します。


config

グラフ描画に必要な設定情報(ラベルやグラフの形)を出力します。

色々設定があるのですが、ここでは必要最低限だけ紹介します。

以下はグラフ全体の設定です。以下の項目名に続いてスペース一つ入れた後に値を記述します。


graph_title
グラフのタイトルを設定します
graph_args
グラフのパラメータを追加します。rrdtoolのgraphコマンドと同じ引数が使えるようです。
graph_vlabel
縦軸のラベルを設定します
graph_category
結果出力HTMLにてどのカテゴリに所属させるかを指定します
graph_info
グラフの説明を指定します

以下はグラフ項目(1つの折れ線や棒)毎の設定です。

項目名.設定名 値

のように標準出力を行ってください。下記リストは設定名のみ書いてあります。

label
項目名を設定します
draw
グラフ種別を選択します(種別は後述)
info
項目の説明を設定します
warning/critical
項目の値が設定した値を越えた場合ワーニング/クリティカルメッセージを出力します

グラフ種別については以下の通りです。

LINEn
指定したデータを線で描画します。nには1〜3の数字が入り、数値が大きいほど線が太くなります
AREA
指定したデータを面で描画(値と0の間を塗りつぶす)します。
STACK
直前のデータの上に積み重ねる形で描画します。グラフの種別は直前のグラフと同じ種別になります。

引数なしの場合

Muninへ渡すデータ(結果)を出力します。

形式は

項目名.value 値

で出力します。


流石にこれだけではわかりにくいので、次回は実例を出す予定です。……多分。

匿名希望匿名希望 2009/05/01 21:25 muninのplugin作りたくてこのサイトの解説にたどり着きました。
次回の実例をもう数週間待ってるのですが、まだでしょうか??

yukiinu2ndyukiinu2nd 2009/05/13 20:50 >匿名希望様
大変お待たせ致しました。先程、
http://d.hatena.ne.jp/hottolinkblog/20090513/1242214877
にて実例について投稿しました。
ご参考になりましたら幸いです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証