vector.devをDockerで使っているとhost_metricsのホスト名がhuman friendlyではなくなるので環境変数から上書き設定したい、というのは全ての(docker & vector.dev)ユーザーが最初に通る場所だと思うのでやり方を記しておきます。
以下、host_metricsをprometheusにsinkする 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"
罠がいくつかあって、検索するとremapではなくadd_filedsを使っている古い例が散見されますがこれは動きません (at v0.31.0)
また、 .host = get_env_var!("HOSTNAME") としている例も見かけますがhost_metricsを使う場合 .tags.host にする必要があります