1

問題は、syslog ファイルに期待される出力が表示されないことです。「/home/my/collectd/pyPlugin.py」にある Python プラグインを作成しました。「/etc/collectd/collectd.conf」の Collectd 構成 (Python プラグインはグローバル true で有効になります) には、次のブロックがあります。

<Plugin python>
    ModulePath "/home/my/collectd/"
    LogTraces true
    Interactive false
    Import pyPlugin

    <Module pyPlugin>
        Test "arg1" "arg2"
    </Module>
</Plugin>

プラグインはとてもシンプルです:

import collectd

def configer(confObj):
    collectd.info('config called')

def init_fun():
    collectd.info('my py module init called')

def reader(input_data=None):
    collectd.info('my py read called')

def writer(input_data=None)
    collectd.info('my py write called')


collectd.register_config(configer)
collectd.register_init(init_fun)
collectd.register_read(reader)
collectd.register_write(writer)

「/var/log/syslog」を見ると、何も出力されていません。

4

1 に答える 1

1

これを collectd.conf ファイルの先頭に置きます。LoadPlugin "syslog"

よくある質問から:

出力を取得するには、ログ プラグインをロードする必要があります。2 つの主要なログ プラグインは、LogFile プラグインと SysLog プラグインです。これらのプラグインの 1 つを構成ファイルで最初にロードすることをお勧めします。つまり、LoadPlugin 行を一番上に置きます。ログ プラグインがロードされていない場合、collectd は STDERR に書き込みます。ただし、デーモンがバックグラウンドに分岐した後は、この出力は表示されなくなります。

syslog プラグインはinfoデフォルトでレベルを表示します。また、Collectd が実行されていることを確認するには、プロセス リストまたは/etc/init.d/collectd status.

于 2014-05-21T18:26:01.033 に答える