我在 Telegraf 中使用 prometheus 插件从 promitor 获取数据并将其推送到 InfluxDB。但是,根据我的要求,有一个名为“resource_name”的标签,它包含多个值,例如 [“A”、“B”、“C”、“D”、“E”、“F”、“G” , “H”]。在这些值中,我只想要 ["A"、"B"、"C"、"D"、"E"],并且这些值应该插入到 InfluxDB 中。
为了实现我的要求,我使用下面的插件并使用 tagpass 仅允许特定值。
[[inputs.prometheus]]
metric_version = 2
name_suffix = "_promitor_abcd"
urls = ["http://IP:Port/metrics"]
tagexclude = [ "host", "url" ]
[inputs.prometheus.tagpass]
resource_name = [ "A", "B", "C", "D", "E" ]
使用此功能后,当我运行此配置文件时,我仍然能够在“resource_name”标签或列下看到 InfluxDB 中的所有值,而不是我在配置文件中指定的值。
任何人都可以帮助我理解这里出了什么问题以及如何在 influxDB 中仅推送特定值吗?
tagpass
参数是 telegraf 中可用的metric过滤器之一。 tagpass
特定于标签键和值。发出包含由 tagpass
指定的键和值的指标。因此,如果您有如下指标:
metric,color=red,height=3 value=2
metric,color=red,width=4 value=2
例如以下 tagpass 配置:
[[outputs.influxdb.tagpass]]
height = ["*"]
将传递带有高度标签的任何指标。您可以放置任何想要过滤的值,也支持 glob。
谢谢!