监控
服务发现
在Prometheus的监控过程中,每当出现新的服务后,都需要立即发现服务并对其监控。
不过我们公司现有的注册中心环境是当前比较主流的Nacos,但Prometheus并不支持Nacos的自动服务发现,但是Prometheus支持Consul,并在社区中发现了Nacos向Consul转换的项目,基于此项目简化部署了适配器,实现了基于Nacos的服务发现。
- 社区适配器项目如下 nacos-consul-adapter
实现服务发现
由下图可见,Prometheus已经完成对服务的自动发现与监控。应用服务接入即可
服务接入
以SpringBoot3为例
1.POM
代码语言:xml复制<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.13.3</version>
</dependency>
2. 配置文件
代码语言:yaml复制management:
endpoint:
shutdown:
enabled: true # 开启端点
health:
show-details: always # 是否展示健康检查详情
prometheus:
enabled: true
endpoints:
web:
exposure:
include: "prometheus" #如果已开启其他,加入prometheus,如果配置为“*“,无需更改
metrics:
tags:
application: ${spring.application.name} #业务名称,对应在业务线下,通常直接按照此示例写就可以
business: monitor #业务线名称,比如 监控、网关、数据中心 ... 等 ,改成自己的业务线
- 验证 访问 ip:port/actuator/prometheus 示例: http://127.0.0.1:8090/actuator/prometheus 返回:返回Prometheus的监控指标即成功
查看监控
业务线名称和业务名称对应配置文件中的配置
自定义Grafana模版
SpringBoot
- 增加业务线选项,选择更清晰快速
- Application与Instance与业务线联动
- 增加集群存活实例个数监控,方便的看到扩缩容。
模版
spring-boot-statistics.json
SpringCloud gateway
- 分别以总量、实例、路由的维度查看访问量
模版
gateway-route-request.json
发布评论