我的节点导出器指标类似于:
process_cpu_seconds_total{instance="10.1.1.1:8080",job="node_info"}
process_cpu_seconds_total{instance="10.1.1.2:8080",job="node_info"}
process_cpu_seconds_total{instance="10.1.1.15:8080",job="node_info"}
顾问:
container_memory_usage_bytes{id="<id>",image="<image>",instance="10.1.1.1:8080",job="docker_info",name="<container name>"}
container_memory_usage_bytes{id="<id>",image="<image>",instance="10.1.1.3:8080",job="docker_info",name="<container name>"}
container_memory_usage_bytes{id="<id>",image="<image>",instance="10.1.1.16:8080",job="docker_info",name="<container name>"}
我想添加一个标签,例如machine_name
,像这样:
process_cpu_seconds_total{machine_name="cool_machine",instance="10.1.1.1:8080",job="node_info"}
container_memory_usage_bytes{machine_name="cool_machine",id="<id>",image="<image>",instance="10.1.1.1:8080",job="docker_info",name="<container name>"}
当我尝试按机器过滤时,我需要处理 IP (10.1.1.1),这对用户不是很友好。我想配置 node-exporter 和 cadvisor 为所有指标添加标签,这样我就可以识别机器,无论它们现在拥有什么 IP。
顺便说一句,更改 DNS 以使机器在另一个地址中应答对我来说并不是一个选择。
我的普罗米修斯配置是这样的:
global:
scrape_interval: 5s
external_labels:
monitor: 'machines_monitor'
scrape_configs:
- job_name: 'node_info'
static_configs:
- targets:
- 10.1.1.1:8080
- 10.1.1.2:8080
- 10.1.1.15:8080
- job_name: 'docker_info'
static_configs:
- targets:
- 10.1.1.1:8080
- 10.1.1.3:8080
- 10.1.1.16:8080
我可以创建一个scrape_configs
for 机器并开始过滤,但我不知道这是否是个好主意,也许是 Prometheus 的性能问题。
我正在尝试为指标添加标签,但我非常欢迎其他帮助识别机器的方法。