搭建prometheus+grafana监控SpringBoot应用入门
时间:2022-07-25
本文章向大家介绍搭建prometheus+grafana监控SpringBoot应用入门,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
搭建prometheus+grafana监控SpringBoot应用入门
1. springBoot 应用准备
pom.xml依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--prometheus-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.0.3</version>
</dependency>
并且主动向prometheus 上报application名.
/**
* 上报application 到 Prometheus
*/
@Bean
MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("application", "yourappName");
}
SpringBoot actuator端开启 (自行调整,我这里全部开启):
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: always
prometheus:
enabled: true
最好启动一下查看端点暴露的情况,尤其检查 /actuator/prometheus 是否成功暴露
2. 下载并安装prometheus
最新下载地址 : https://prometheus.io/download/
配置prometheus.yml(安装完成后的目录下面有)
重点是配置好基础的job_name,metrics_path,还有应用的ip和端口号,例如 :
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'test-application'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['localhost:9527']
配置好之后,可以启动prometheus,并且访问prometheus,默认访问地址 http://localhost:9090
此时可以看到prometheus的情况,点击Status的targets,查看应用实例情况
3. 下载并安装grafana(windows的安装过程中最好关闭杀毒软件,可能导致安装失败)
最新下载地址 : https://grafana.com/grafana/download
运行启动grafana,默认访问地址 : http://localhost:3000, 默认用户名/密码 admin/admin
配置datasource(Configuration里面),选择Prometheus,配置好prometheus,本机运行的prometheus,则access选择Server即可。然后点击Save&Test
配置Dashboard,可以定制,可以自选(种类繁多,花样不胜枚举),这里直接选造好的SpringBoot的Dashboard导入(拿来即用)
直接地址栏输入 https://grafana.com/grafana/dashboards/6756 或者 6756,然后点击load。
此时点击Dashboard :
- 解决NTPD漏洞,升级Ntpd版本
- 独家 | 手把手教TensorFlow(附代码)
- HBase Region自动切分细节
- eclipse搭建ssh后台
- 解决mysql漏洞 Oracle MySQL Server远程安全漏洞(CVE-2015-0411)
- im4java包处理图片
- centOS7 mini配置linux服务器(五) 安装和配置tomcat和mysql
- RedisPool操作Redis,工具类实例
- centOS7 mini配置linux服务器(四) 配置jdk
- 老司机教你“飙”EventBus3
- Android listView异步下载和convertView复用产生的错位问题
- 实用Android 屏幕适配方案分享
- java-FFmpeg(一) 实现视频的转码和截图功能
- websocket(二) websocket的简单实现,识别用户属性的群聊
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 花了一个星期,我终于把RPC框架整明白了!
- PageHelper分页插件
- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException
- 分享一套仿英雄联盟大型多人联机实时对战游戏源码(包含完整服务器和客户端源码)
- 【Flutter 专题】101 何为 Flutter Elements ?
- 10.10面试:SpringMVC中目前学习过的注解及功能?+怎么接受前端传递到后台的数据?
- 【Flutter 专题】102 何为 Flutter RenderObjects ?
- 创建出来的maven项目没有iml文件
- SpringMVC传递参数乱码解决,web.xml中配置编码过滤器
- SpringMVC中传值有些值为null使用@RequestParam(“name“)解决
- 9.30面试:AOP+事务+JDK动态代理与cglib区别+Spring的aop如何切换底层创建代理对象的方式
- R语言实现基因组的可视化
- Linux实用命令大全(附思维导图)
- 二叉搜索树与python中self参数理解
- 需要了解的Python编码解码知识