1

我试图实现我自己的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”)怎么办?

是否可以添加更多列或修改这些列?我在哪里可以找到这些名称的命名方式?

谢谢~

4

0 回答 0