我尝试实现自己的collectd python插件,它可以将数据存储到Influxdb。
我按照本网站的教程:https://blog.dbrgn.ch/2017/3/10/write-a-collectd-python-plugin/
以及其他教程。 以下是上述网站的示例代码。
PATH = '/sys/class/thermal/thermal_zone0/temp'
def config_func(config):
path_set = False
for node in config.children:
key = node.key.lower()
val = node.values[0]
if key == 'path':
global PATH
PATH = val
path_set = True
else: collectd.info('cpu_temp plugin: Unknown config key "%s"' % key)
if path_set:
collectd.info('cpu_temp plugin: Using overridden path %s' % PATH)
else: collectd.info('cpu_temp plugin: Using default path %s' % PATH)
def read_func():
# Read raw value
with open(PATH, 'rb') as f:
temp = f.read().strip()
# Convert to degrees celsius
deg = float(int(temp)) / 1000
# Dispatch value to collectd
val = collectd.Values(type='temperature')
val.plugin = 'cpu_temp'
val.dispatch(values=[deg])
collectd.register_config(config_func)
collectd.register_read(read_func)
我尝试了它并将数据存储在Influxdb中,但是我如何添加或修改列名称(或者它应该是关于Influxdb的字段和标记)?
成功运行示例代码后,我看到列名称是Influxdb中的time,host,type,type_instance和value。 但是,我对这些列名设置在哪里感到很困惑?
在/etc/collectd.conf或脚本中,没有关于这些列名的设置。 如果我想添加新列或将列名称(例如'type')修改为其他名称(如'resource'),该怎么办?
是否可以添加更多列或修改这些列?我在哪里可以找到这些名称是如何命名的?
感谢〜