Server/Munin/プラグイン作成 の変更点

Last-modified:

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

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

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

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

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

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

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

**config [#g956eb49]
メタデータを出力します。
行頭からパラメータのキー、半角スペース、以降が値という書式になっています。
終了コードは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

***パラメータのキー [#mdcd192b]


**snmpconf [#x10b46e0]
調査中

**suggest [#rf91869c]
調査中

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

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

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

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

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

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