在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。