如何在Prometheus中指定特定端口的端点作为监控目标
解决方案:筛选Kubernetes Endpoints中8081端口的监控目标
你需要在Prometheus的job配置中添加relabel_configs,通过Kubernetes服务发现提供的元标签过滤出仅8081端口的目标。修改后的完整配置如下:
- job_name: 'api' metrics_path: "/actuator/prometheus" kubernetes_sd_configs: - role: endpoints namespaces: names: - "api" relabel_configs: - source_labels: [__meta_kubernetes_endpoint_port_number] regex: '8081' action: keep
配置说明:
source_labels: [__meta_kubernetes_endpoint_port_number]:引用Kubernetes服务发现自动注入的元标签,该标签存储了当前Endpoints实例对应的端口号regex: '8081':匹配端口号为8081的实例action: keep:仅保留匹配成功的监控目标,自动丢弃8080端口对应的实例
如果你的Pod端口有自定义名称(比如在Service中定义了name: metrics),也可以通过端口名称过滤,配置示例:
relabel_configs: - source_labels: [__meta_kubernetes_endpoint_port_name] regex: 'metrics' # 替换为你实际的端口名称 action: keep
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

