PrometheusGrafana一套SpringBoot应用的可视化监控方案
本文为Spring Boot 通过监控门面 micrometer 集成 Prometheus ,再使用Grafana进行数据的实时展示
监控门面,概念同日志门面slf4j,均为基于外观设计模式所实现的规范,支持众多监控系统的应用程序Metrics外观
Micrometer
SpringBoot 2.x上已引入第三方实现的 metrics Facade ,默认与Micrometer 集成,而Micrometer 具有Prometheus 的MeterRegistry 规范的实现。
Prometheus拉取及处理SpringBoot应用中的监控数据,最后通过Grafana提供的UI界面进行数据的实时展示。
更多关于Micrometer功能的信息,请参阅其参考文档,特别是概念部分: https://micrometer.io/docs
metrics tag/label
关于 metrics 是否支持tag/label ,则代表其metrics是否能够有多维度的支持。像statsd不支持tag,如果要区分多host的同一个jvm指标,则通常是通过添加prefix来解决,不过这个给查询统计以及后续扩展带了诸多的不变。
支持tag的好处就是可以进行多维度的统计和查询,以同一微服务但是不同实例的jvm指标来说,可以通过tag来添加host标识,这样监控系统就可以灵活根据tag查询过滤来查看不同主机粒度的,甚至是不同数据中心的粒度。 埋点Maven依赖 org.springframework.boot spring-boot-starter-actuator ${springboot.version} org.springframework.boot spring-boot-starter-undertow ${springboot.version} io.micrometer micrometer-registry-prometheus 1.1.2 application配置management.metrics.export.prometheus.enabled=true management.metrics.export.prometheus.step=1m management.metrics.export.prometheus.descriptions=true management.web.server.auto-time-requests=true management.endpoints.web.exposure.include=health,info,env,prometheus,metrics,httptrace,threaddump,heapdumpweb埋点
servlet容器undertow @SpringBootApplication @EnableAspectJAutoProxy(proxyTargetClass = true) @ComponentScan("com.test") public class Starter { public static void main(String[] args) { new SpringApplicationBuilder(Starter.class) .web(WebApplicationType.SERVLET).run(args); } }Prometheus
Prometheus是一个开源的监控系统,起源于SoundCloud。它由以下几个核心组件构成: 数据爬虫: 根据配置的时间定期的通过HTTP抓去metrics数据。time-series 数据库: 存储所有的metrics数据。简单的用户交互接口: 可视化、查询和监控所有的metrics。
Docker安装docker run -d --name prometheus --net dubbo --hostname prom -p 9090:9090 -v /media/raid10/tmp/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml
增加promtheus拉取数据的项目,需在挂载的配置文件 prometheus.yml 中增加对应的Endpoint设置并重启服务
Grafana
Grafana使你能够把来自不同数据源比如 Elasticsearch , Prometheus , Graphite , influxDB 等多样的数据以绚丽的图标展示出来。它也能基于你的metrics数据发出告警。当一个告警状态改变时,它能通知你通过email,slack或者其他途径。 Docker安装docker run -d --name grafana --net dubbo -p 3000:3000 -e "GF_SERVER_ROOT_URL=http://grafana.server.name" -e "GF_SECURITY_ADMIN_PASSWORD=secret" grafana/grafana
元旦去哪玩?房山这10个热门跨年地,赶紧约起来!关注我们2023元旦好去处预祝大家兔年大吉,元旦快乐!2022即将走到尾声2023马上开启新程美好的一年当然从美好的假期开始今年元旦想好去哪里玩了吗?这些好去处不容错过陪你一起慢直
再见,我的2022年再见,我的2022年2022年,不管对谁,我相信都是一个铭刻在心的年份,我也一样,与你相同,也有所不同。这一年,我46岁了,这是一个不敢想象的年龄,突然间比你年轻的人多过比你老的人
触动了心底那根弦的情话情话1眼波如水,映出窗外繁星点点。迷离的星光,在淡淡的云烟中隐约闪现。空气中到处弥漫着你的气息。你,是我今生无法忘记的梦,无法诠释的情缘。2我们浪掷了许多无所悔恨的时光去做自己以为
我曾经来过人生的意义何在,只为在人世间受尽折磨?人生意义,最简单最直白字眼就是我曾经来过五个字。年过50,半生烟火,越来越感觉人生如此美好,世界那么神奇。宇宙间有人就无比奇特,我们又作为一个
向阳而生,茁壮成长智源小学线上学习优秀学生周新颖青青园中葵,朝露待日晞。阳春布德泽,万物生光辉,这首诗告诉我们,少年的时光,就像一年四季中的春天一样美好,我们要珍惜这美好的时光,去做我们应该做的事情。花朵易凋零,青春易消逝,不要
运河冰雪嘉年华试营业!运河冰雪嘉年华今日(2022年12月31日)开始营业啦。早晨,工作人员将雪场布置完毕,开门迎接元旦小长假的首批游客。小朋友坐着雪圈从雪坡上滑下。这个雪坡依靠草坪坡度,相较于人工雪坡
去贵州旅游,12道拦路酒相迎,这是啥意思?不喝还不能进寨?贵州,一个有着18万平方千里的省份,还是一个少数民族聚集地,当地除了好山好水,自然也孕育了不少好酒。众所周知,贵州气候温暖湿润,冬暖夏凉,为酿酒创造了天然有利的条件,所以不少美酒出
江海杂谈今天,从高速服务区谈起大家印象中仅用于加个油上个厕所泡个面的高速服务区,经过江苏人民的改造,网友们不惜用豪华奢华甚至变态这样的词语来形容。那么,江苏的各类服务区为何这么奢华?其实,江苏的服务区也非个个变
零度的楠溪江清晨,竹筏码头分外空寂,只有我在享受日出前的宁静冬日生活打卡季临楠溪江而居是件非常惬意的事,因为只要有心情,就可以早出晚归,或观朝霞或守夕阳,即便天气很一般,这里的自然风光也总是不会让人失望。比如我来狮子岩的这两天吧,虽然没有碰
1月1日起,多地退役军人优待再上新!近日,老班长发布多地乘公交游景区减免的优待举措广大战友纷纷留言先行地区的战友表示已体验近期又有多地加入我们一起来看看吧安徽芜湖池州日前,安徽省芜湖市发布芜湖市军人军属退役军人和其他
游嵊州崇仁古镇有感翻阅记忆杜小荃文本拾掇(5)嵊州崇仁古镇组图游嵊州崇仁古镇有感文杜小荃在浙东嵊州以西约二十余里处,有一座千年古镇,名曰崇仁古镇。此镇背倚五龙山,西临戒德寺,长善溪宛若一条巨龙自北向