prometheus,zipkin集成
程序集成prometheus
添加依赖
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation "io.micrometer:micrometer-core"
implementation "io.micrometer:micrometer-registry-prometheus"
application.yml添加配置
management:
server:
port: 7777 #不单独设置端口的话,和服务的端口一致
endpoints:
web:
exposure:
include: '*'
metrics:
tags:
application: ${spring.application.name}
启动后访问 ip:7777/actuator/Prometheus 可获取监控数据
docker-compose配置
prometheus:
image: prom/prometheus
container_name: prometheus
restart: always
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml #配置文件
- ./prometheus/rules/:/usr/local/prometheus/rules/ #报警规则路径
ports:
- "7000:9090"
grafana: #可整合图表显示prometheus数据
image: grafana/grafana
container_name: grafana
restart: always
ports:
- "7100:3000"
node-exporter: #收集操作系统的基本系统
image: prom/node-exporter
container_name: node-exporter
restart: always
ports:
- "7200:9100"
prometheus.yml放入映射路径下
grafana配置
数据源配置promtheus地址
如果需要监控dubbo服务
创建dubbo filter 可参考
监控内容可自定义
resources/META-INF/dubbo下添加文件
org.apache.dubbo.rpc.Filter
内容为 自定义过滤器名称=filter类路径
dubboMoniterFilter=com.toplion.bootstrap.configuration.DubboMoniterFilter
application.yml添加配置
dubbo:
consumer:
filter: dubboMoniterFilter
程序集成zipkin
添加依赖,版本号需注意,项目spingboot版本2.1
Implementation "org.springframework.cloud:spring-cloud-starter-zipkin:2.1.0.RELEASE"
implementation "io.zipkin.brave:brave-instrumentation-dubbo:5.9.0"#dubbo监控,不需要可去除
application.yml添加配置
spring:
zipkin:
enabled: true
base-url: http://172.16.9.13:7400 #zipkin服务地址
sender:
type: web
sleuth:
enabled: true
sampler:
probability: 1.0 #采集信息比例 0-1 , 1为全部采集
docker-compose配置
zipkin:
image: openzipkin/zipkin
container_name: zipkin
restart: always
ports:
- "7400:9411"
如果需要监控dubbo服务
resources/META-INF/dubbo下添加文件
org.apache.dubbo.rpc.Filter
内容为 自定义过滤器名称=filter类路径
zipkinFilter=brave.dubbo.TracingFilter
application.yml添加配置
dubbo:
consumer:
filter: zipkinFilter