Top / Server / Munin / プラグイン作成
HTML convert time: 0.015 sec.

Server/Munin/プラグイン作成

Last-modified: 2012-04-27 (金) 18:52:07

プラグインの仕様

Muninプラグインは以下の標準入出力を満たす実行ファイルです。
実行可能であれば、スクリプトでもコンパイルされた実行バイナリでもかまいません。
しかし、自動設定を行う際の容易さからスクリプト形式をお勧めします。

入力

munin-nodeより以下の入力を与えられ、プラグインは要求された情報を出力します。

  • autoconf - プラグインが利用可能かプラグイン自身に判断させ結果を要求
  • config - 収集するデータのメタデータを要求する
  • snmpconf - (調査中)
  • suggest - (調査中)
  • 入力無し - 時点観測のデータを要求する

出力

上記入力に対して書式に沿った形で要求に答えます。
また、文字列出力以外にも終了コードも返します。

autoconf

プラグインが利用可能かを出力します。
利用可能な場合は"yes"を出力し終了コードを0、利用不可な場合は"no"を出力し終了コード1を返します。

 $ /usr/share/munin/plugins/minecraft autoconf
 yes
 $ echo $?
 0

また、後述のmunin-node-configureの項も確認してください。

config

メタデータを出力します。
行頭からパラメータのキー、半角スペース、以降が値という書式になっています。
終了コードは0を返します。

 $ /usr/share/munin/plugins/minecraft config
 graph_title World size
 graph_args --base 1000 -l 0
 graph_vlabel Bytes
 graph_info Minecraft world size
 graph_category minecraft
 world.label world
 world.draw AREA
 world.info world size
 $ echo $?
 0

snmpconf

調査中

suggest

調査中

入力無し

実行時点の観測データを出力します。
データ項目毎に1行ずつ観測値を記述する書式になっています。
サンプルはデータ項目がworldひとつの場合です。
Muninはこの呼び出しを定期的に行いデータ収集を行っています。

 $ /usr/share/munin/plugins/minecraft
 world.value 43956245
 $ echo $?
 0

munin-node-configure

Munin付属のプラグイン追加・削除ツールです。
プラグインの追加は手動のリンク作成でも行えますが、autoconfに対応しているプラグインであればmunin-node-configureにより、自動で利用可能か確認し追加することができます。
munin-node-configureにautoconf対応を通知するためには、プラグイン内に以下のテキストを記述する必要があります。

 #%# family=auto
 #%# capabilities=autoconf

実際に自動追加を行う際は以下のコマンドを実行します。

# /usr/sbin/munin-node-configure --shell | sh