munin.conf
(私が作成したプラグインの場合)に次のように警告/クリティカルしきい値を設定できます。
load_per_core.load_per_core.warning 0.2 # Low value to trigger warnings
load_per_core.load_per_core.critical 1
これは期待どおりに機能します。グラフに電子メール通知と適切なものが表示されます。
ただし、これらの構成アイテムを別のファイルに移動して、Puppetを使用してサーバー間でより簡単に管理できるようにします。ただし、これらの2行を新しいファイルplugin-conf.d/zz-load_per_core
に移動すると、次のようになります。
[load_per_core]
env.load_per_core.warning 0.3 # Low value to trigger warnings
env.load_per_core.critical 1
...それは機能しません。メールもグラフにもありません。
env.load_per_core
で始まる行の形式を推測したので、おそらくそれが問題なのですか?
tldr;Munin構成のキーと値のペアは、実行時に特定のプラグインの実行環境に挿入される環境変数です。他のシステム環境変数と同様に、プラグインのコード内からアクセスする必要があります。
各muninプラグインは、スタンドアロンの実行可能ファイルです。実行時に、Muninはプラグインごとに個別の環境を作成し、プラグインが参照できる変数を挿入します。環境変数には2つのグループがあります:munin coreおよびプラグイン特定。
ヒント:munin-run -d load_per_core
を使用して、プラグインの環境に挿入されている環境変数を確認します。
プラグイン固有の環境変数は、次の構文を使用してプラグインごとに宣言されます。
#/etc/munin/plugin-conf.d/zz-name_of_your_plugin
[name_of_your_plugin]
env.identifier value
あなたの場合は次のようになります。
#/etc/munin/plugin-conf.d/zz-load_per_core
[load_per_core]
env.load_per_core.warning 0.2
これにより、値がload_per_core.warning
の識別子0.2
のenv
ironment変数が作成され、load_per_core
という名前のプラグインの実行環境に挿入されます。
重要:munin-node
を再起動して、変更を有効にします。
Sudo service munin-node restart
プラグイン変数は、ディレクトリ/etc/munin/plagin-conf.d
で定義されています。
Muninは、この場所にmunin-node
というデフォルトの設定ファイルを作成します。muninが上書きする可能性があるため、このファイルを編集することはお勧めしません。
代わりに、プラグインごとに新しいファイルを作成してください。あなたの場合、どちらが/etc/munin/plugin-conf.d/zz-load_per_core
である可能性があります。プラグイン構成ファイルに名前を付けるときは、次の2つのことを考慮する必要があります。
munin-node
で評価されるようにします。構成環境変数には、他の環境変数と同様に、プラグインのコードからアクセスできます。この構文は、プラグインで使用されている言語によって異なります。たとえば、プラグインがbashで記述されている場合、次のように記述できます。
#!/usr/bin/bash
#this would access and print the load_per_core.warning environment var
#i.e 0.2
echo $load_per_core.warning
またはPython:
#!/usr/bin/env python
import os
print os.environ.get('load_per_core.warning')
またはPerlで、標準のMuninライブラリを使用します。
#!/usr/bin/Perl
use Munin::Plugin;
print_thresholds('load_per_core');