Prometheus通过注册中心nacos、Eureka 实现服务注册自动发现监控

Prometheus通过注册中心nacos、Eureka 实现服务注册自动发现监控

Prometheus通过Eureka 实现服务注册自动发现监控

使用 Prometheus 中的 Eureka (Service Discover)SD 来使用 Eureka REST API 来查询抓取目标。 Prometheus 将定期检查 REST 端点并为每个应用程序实例创建一个抓取目标

eureka配置(根据自己需要)

bash 复制代码
#启动服务时指定参数
--eureka.client.service-url.defaultZone=http://eureka-1:8761/eureka/,http://eureka-2:8761/eureka/,http://eureka-3:8761/eureka/
--eureka.client.register-with-eureka=true
--eureka.client.fetch-registry=true
--eureka.instance.prefer-ip-address=false

prometheus配置

yml 复制代码
  - job_name: 'eureka-prometheus'
    metrics_path: '/actuator/prometheus'
    eureka_sd_configs:
    - server: "http://eureka-1:8761/eureka"
    - server: 'http://eureka-2:8761/eureka'
    - server: 'http://eureka-3:8761/eureka'
    relabel_configs:
    - source_labels: [__meta_eureka_app_name]
      target_label: application
    - action: drop
      regex: "eureka.*"
      source_labels: [instance]

prometheus通过nacos实现服务注册自动发现监控

github地址:https://github.com/typ431127/Nacos_check

前提:java服务要开启监控接口

如添加配置:

yml 复制代码
management.endpoints.web.exposure.include = prometheus,health,metrics
management.health.defaults.enabled = false
management.metrics.tags.application = ${spring.application.name}
management.trace.http.enabled = false

启动脚本

解压后本地启动拉取nacos服务的脚本(指定监控的命名空间,并120s拉取一次)

bash 复制代码
cat /data/nacos_check/nacos-namespace-discovery.sh
#!/bin/bash

while true
do
        /data/nacos_check/nacos-check --url http://nacos-1IP:8848,http://nacos-2IP:8848,http://nacos-3IP:8848 --namespace 7b32a553-76d2-47d9-bb7d-53be133ac347  -o /usr/local/prometheus/monitor/nacos/nacos-namespace-discovery.json
        sleep 120s
done

prometheus配置

yml 复制代码
  - job_name: 'nacos-services'
    scrape_timeout: 15s
    metrics_path: '/actuator/prometheus'
    file_sd_configs:
    - files:
      -  '/usr/local/prometheus/monitor/nacos/*.json'
      refresh_interval: 15s
相关推荐
阿里云云原生1 天前
香港站【企业 AI Agent 工程化实战专场】来啦,邀您7月9日见!
云原生·agent
阿里云云原生2 天前
研发域与运维域的“数字握手”:通过 Agentic Skills 实现 DevOps 全链路自动化
云原生
SRETalk5 天前
Zabbix、Prometheus、Grafana、Nightingale,四个监控如何选型?
zabbix·grafana·prometheus·nightingale
阿里云云原生5 天前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生6 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美6 天前
从edge-trigger到level-trigger,谈谈 Kubernetes controller 的开发范式
云原生
阿里云云原生6 天前
深度解构:当 Append-only 的 SLS 遇上 Update/Delete,是如何实现设计权衡的?
云原生
Java之美7 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
秋播7 天前
nerdctl推送rancher本地镜像到harbor
云原生
阿里云云原生8 天前
告别冗长链路!Kafka × Table Bucket 实现开放表格式零 ETL 实时入湖
云原生·kafka