在vector.dev中使用环境变量重写”host_metrics”字段的host

我认为每一个(docker和vector.dev)用户都会遇到以下情况:当在Docker中使用vector.dev时,host_metrics的主机名将不再友好可读,因此我想通过环境变量来覆盖设置。以下是解决方法的记录。

以下是将host_metrics传输到prometheus的vector.toml配置文件。

[sources.host_metrics]
type = "host_metrics"
collectors = [
  "cpu", "disk", "load", "memory", "network", "cgroups", "filesystem", "host"
]

[transforms.remap_host]
type = "remap"
inputs = ["host_metrics"]
source = '''
.tags.host = get_env_var!("HOSTNAME")
'''

[sinks.prometheus]
type = "prometheus_exporter"
inputs = ["remap_host"]
address = "0.0.0.0:9598"

有几个陷阱,当搜索时可以看到一些旧例子使用add_fields而不是remap,但这不起作用(在v0.31.0版本中)。
另外,我也注意到一些示例将.host = get_env_var!(“HOSTNAME”),但如果要使用host_metrics,则需要将.tags.host设置为.host。

广告
将在 10 秒后关闭
bannerAds