Prometheus的服务发现机制

一、先讲清楚:做什么

服务发现 = 不用每次手动改 prometheus.yml ,让 Prometheus 自动发现要监控的机器。本文只做最常用:基于文件的服务发现(file_sd)


二、第一步:创建服务发现目录(固定路径)

复制代码
mkdir -p /etc/prometheus/targets

三、第二步:编写服务发现 JSON 文件

复制代码
vi /etc/prometheus/targets/docker.json

粘贴以下内容(我的 IP:192.168.52.130):

复制代码
[
    {
        "targets": ["192.168.52.130:8080", "192.168.52.130:9100"],
        "labels": {
            "env": "test",
            "job": "docker_auto"
        }
    }
]

保存退出:ESC → :wq


四、第三步:把服务发现加到 prometheus.yml

复制代码
vi /etc/prometheus/prometheus.yml

scrape_configs 下面添加

复制代码
- job_name: 'file_sd_docker'
    file_sd_configs:
      - files:
          - /etc/prometheus/targets/*.json
        refresh_interval: 10s

五、第四步:重启 Prometheus

复制代码
systemctl restart prometheus

或热重载(推荐):

复制代码
curl -X POST http://192.168.52.130:9090/-/reload

六、第五步:验证服务发现成功

浏览器打开:

复制代码
http://192.168.52.130:9090/targets

看到:

  • file_sd_docker
  • 状态 UP
  • 自动出现 8080、9100✅ 完成!
  • 静态配置缺点:修改麻烦、不能自动加机器
  • 文件服务发现优点
  • 自动加载
  • 不用重启 Prometheus
  • 支持 json/yaml
  • refresh_interval: 10s = 每 10 秒扫描文件更新
相关推荐
AAA@峥1 小时前
从零搭建 Prometheus 完整监控告警体系|Linux 部署 + node_exporter+Grafana 可视化
云原生·grafana·prometheus
liuyicenysabel2 天前
Grafana + Prometheus 分级告警配置设计(P0/P1/P2)
javascript·grafana·prometheus
随遇而安zx2 天前
SpringCloud---可观测性与监控:Actuator / Micrometer / Prometheus / Grafana 深度解析
spring cloud·grafana·prometheus
qq_452396232 天前
第四篇:《Prometheus 深度实战:指标设计、Exporter 开发与服务发现》
服务发现·prometheus
刘某的Cloud2 天前
k8s部署prometheus架构规则
linux·运维·kubernetes·prometheus·监控
LlmCraft|大模型工程实践2 天前
12. Docker 日志管理与监控:ELK 日志收集 + Prometheus 性能监控
elk·docker·prometheus
格桑阿sir2 天前
Kubernetes服务发现机制(二):Service、Endpoint、EndpointSlice
kubernetes·服务发现·负载均衡·service·endpoint·lb·endpointslice
DevOps老兵3 天前
AI Infra实战02:GPU监控实战,用DCGM+Prometheus+Grafana看清每一张卡
人工智能·grafana·prometheus·ai infra·gpu监控·dcgm
heimeiyingwang3 天前
【Prometheus·入门篇】数据模型:Metric 类型、标签与时间序列
prometheus
heimeiyingwang3 天前
【Prometheus·部署篇】配置详解:scrape_config、relabeling 与服务发现
prometheus