我为collectd编写了一个简单的python插件,我想为db1和db2运行两个实例:
文件:/etc/collectd/plugins/redis_信息py#!/usr/bin/env python
import collectd
import redis
REDIS = None
HOST = 'localhost'
PORT = 6379
DB = 0
KEY = None
def config(conf):
global REDIS, HOST, PORT, DB, KEY
for node in conf.children:
key = node.key.lower()
val = node.values[0]
if key == 'host':
HOST = val
elif key == 'port':
PORT = int(val)
elif key == 'db':
DB = int(val)
elif key == 'key':
KEY = val
else:
collectd.warning('redis_info plugin: Unknown config key: %s' % key)
def init():
global REDIS, HOST, PORT, DB, KEY
REDIS = redis.StrictRedis(host=HOST, port=PORT, db=DB)
def read():
global REDIS, HOST, PORT, DB, KEY
value = REDIS.llen(KEY)
val = collectd.Values(plugin='redis_info')
val.type = 'gauge'
val.type_instance = KEY
val.values = [value]
val.dispatch()
collectd.register_config(config)
collectd.register_init(init)
collectd.register_read(read)
文件:/etc/collectd/集合D.conf.d/redis公司_信息确认
^{pr2}$
但是,只有一个实例(db2)工作,前一个实例(db1)被禁用。
如何运行两个实例?谢谢!在