Spring Boot应用(2.5.x)
1. 项目改造
Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API,它提供了多种度量指标类型(Timers、Guauges、Counters等),同时支持接入不同的监控系统,例如 Influxdb、Graphite、Prometheus 等。我们可以通过 Micrometer 收集 Java 性能数据,配合 Prometheus 监控系统实时获取数据,并最终在 Grafana 上展示出来,从而很容易实现应用的监控。
1、 添加actuator依赖包,actuator是springboot提供的健康监测,该版本spring-boot-actuator使用了Micrometer来实现监控功能;
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/io.micrometer/micrometer-registry-prometheus -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
1、 application.yml添加配置;
management:
endpoint:
health:
# 是否显示health详细信息
show-details: always
show-components: always
endpoints:
# Web端点的配置属性
web:
exposure:
# 开放端点的ID集合(eg:['health','info','beans','env']),配置为“*”表示全部
include: '*'
metrics:
tags:
# 应用名称添加到计量器注册表的tag中
application: ${
spring.application.name}
1、 注入MeterRegistries;
@Bean
MeterRegistryCustomizer<MeterRegistry> configurer(
@Value("${spring.application.name}") String applicationName) {
return (registry) -> registry.config().commonTags("application", applicationName);
}
启动项目,访问http://localhost:8111/actuator/prometheus。
2. Prometheus配置
scrape_configs:
- job_name: 'spring-boot'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['192.168.2.245:25000']
查看控制台:
3. Grafana配置
直接导入12856的ID。
Dokcer
1. 安装cadvisor
cAdvisor(Container Advisor)让容器用户了解他们正在运行的容器的资源使用情况和性能特征。它是一个正在运行的守护进程,用于收集、聚合、处理和导出有关正在运行的容器的信息。具体来说,对于每个容器,它保存了资源隔离参数、历史资源使用情况、完整的历史资源使用情况直方图和网络统计信息。
docker-compose安装,因为这是谷歌开发的,所有放在谷歌的镜像库里,没有梯子,所以在Docker Hub找了个私人的。。。。
version: "3"
services:
cadvisor:
image: lagoudocker/cadvisor:v0.37.0
container_name: cadvisor
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /dev/disk/:/dev/disk:ro
- /var/lib/docker/:/var/lib/docker:ro
command:
- "--disable_metrics=udp,tcp,percpu,sched"
- "--storage_duration=15s"
- "-docker_only=true"
- "-housekeeping_interval=30s"
- "-disable_metrics=disk"
ports:
- 9090:8080
networks:
- ops
networks:
ops:
driver: bridge
然后访问ip+9090:
2. Prometheus配置
scrape_configs:
# docker 监控
- job_name: cadvisor
static_configs:
- targets: ['cadvisor主机IP:9090']
查看控制台:
3. Grafana配置
直接导入11558的ID。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: