如何区分collectd中的字符串?

时间:2017-07-24 07:49:48

标签: csv plugins influxdb grafana collectd

我实际上正在使用Collectd和Influxdb来绘制Grafana中的图形数据。

我在python中获得的数据保存在.csv文件中,所以我在collectd中使用tail_csv插件从这个.csv文件中获取数据。

一切都很好,数据被发送到Influxdb,但我想区分不同设备的数据。

例如,我得到了这个:

Data from device 1 in csv format: 0,0,0,0,0
                                  0,0,0,0,0

Data from device 2 in csv format: 0,0,0,0,0
                                  0,0,0,0,0

In the final csv file will be next: 0,0,0,0,0
                                    0,0,0,0,0
                                    0,0,0,0,0
                                    0,0,0,0,0

Collectd没有字符串类型,所以我无法添加字符串列来了解数据的来源。我该如何解决?

我可能的解决方案:不使用字符串列,而是使用int列,并将每个int与设备关联,但可能的设备是动态的,所以我不喜欢它。 我还考虑为每个设备编写一个tail_csv插件代码,因此当检测到新设备时,将编写一个新的插件代码来读取每个设备的新.csv文件,但它非常重。

请指教!

1 个答案:

答案 0 :(得分:0)

Collectd支持以下格式的数据路径:

host/plugin-instance/type-instance 

为简单起见:

a/b-c/TYPE-d

a/b/TYPE-c

所以你可以自由选择a,b,c和d。

根据提供的信息,我不确定您的路径是什么样的。您可以在最后一个示例中使用“b”来表示设备名称。

或者将条目命名为a / b / TYPE-_whatever_DEVICE_NUM,并使用Graphite的aliasSub()中的一个来挑选设备并单独显示它们,如果这是你想要做的。