7.5.3. 名前付きの Pipe ログでのプラグインの使用
プラグインは、名前付きパイプからログデータを読み取り、操作を実行するために呼び出すことができます。名前付きの pipe ログスクリプトでプラグインを使用する際の考慮事項があります。
- プラグイン関数は、名前付きパイプから読み込まれる各行に対して呼び出されます。
- プラグイン関数は Python スクリプトであり、
終了する必要があります。 - プラグイン引数は、コマンドラインで名前付きのパイプログスクリプトに渡されます。
- プラグインがロードされたときに、pre-operation 機能を指定することができます。
- スクリプトの終了時に、操作後の機能を呼び出すことができます。
7.5.3.1. 名前された Pipe ログスクリプトを使用したプラグインのロード リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プラグインに使用する ds-logpipe.py には、以下の 2 つのオプションがあります。
--pluginオプションは、プラグインファイルへのパスを指定します(Python スクリプトであり、終了する必要があります)。- plugin.arg オプションは、プラグイン引数を名前付きパイプログスクリプトに渡します。プラグインファイル名(
.py拡張子なし)は プラグインで、そのプラグインで許可される引数はすべて arg になります。
以下に例を示します。
ds-logpipe.py /var/log/dirsrc/slapd-example/errors.pipe --plugin=/usr/share/dirsrv/data/example-funct.py example-funct.regex="warning" > warnings.txt
同じ引数に複数の値を渡すと、それらの値はプラグインディクショナリーの値の一覧に変換されます。たとえば、このスクリプトでは
arg1 に 2 つの値が提供されます。
--plugin=/path/to/pluginname.py pluginname.arg1=foo pluginname.arg1=bar pluginname.arg2=baz
プラグインでは、これは以下に変換されます。
{'arg1': ['foo', 'bar'],
'arg2': 'baz'}
これは、2 つの キーを持つ Python ディクショナリー オブジェクトです。1 つ目のキーは文字列 arg1 で、その値は文字列 foo と bar の 2 つの要素を持つ Python リストオブジェクトです。2 つ目のキーは、arg 2 の文字列で、その値は文字列 baz です。引数に値が 1 つしかない場合は、単純な文字列になります。1 つの引数名の複数の値が文字列のリストに変換されます。