使用Prometheus+Grafana实现基于SpringBoot项目的JVM监控
一 环境搭建1.Prometheusprometheus是Go语言实现监控存储的一套方案,可以通过把数据存储到prometheus,并且它无缝衔接k8s,其他特点包括以拉模式为主;黑盒白盒支持;单机性能强劲等。去Prometheus官网(prometheus.io)下载安装包,prometheus-2.19.1.linux-amd64.tar.gz解压安装包,tar xzvfprometheus-
一 环境搭建
1.Prometheus
prometheus是Go语言实现监控存储的一套方案,可以通过把数据存储到prometheus,并且它无缝衔接k8s,其他特点包括以拉模式为主;黑盒白盒支持;单机性能强劲等。
- 去Prometheus官网(prometheus.io)下载安装包,prometheus-2.19.1.linux-amd64.tar.gz
- 解压安装包,tar xzvf prometheus-2.19.1.linux-amd64.tar.gz
- 移动到安装目录,mv prometheus-2.19.1.linux-amd64 /usr/local/prometheus
- 启动服务,./prometheus --config.file=prometheus.yml
- 测试访问:http://localhost:9090,图页面:/graph ,metrics页面: /metric
2.Grafana
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。
下载安装
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.3.2-1.x86_64.rpm
sudo yum localinstall grafana-5.3.2-1.x86_64.rpm
安装完成后,输入命令 service grafana-server start 启动服务,访问地址:localhost:3000,3000为Grafana的默认侦听端口,系统第一次登录默认的用户名和密码为admin/admin,第一次登录之后会要求修改密码,之后界面如下:
3.JMX Exporter
它是Prometheus官方组件,作为Java Agent来提供本地JVM的metrics,并通过http暴露出来。这也是官方推荐的一种方式,可以获得进程的信息,比如CPU和内存使用情况。
Jmx_exporter是以代理的形式收集目标应用的jmx指标,这样做的好处在于无需对目标应用做任何的改动。运行JMX exporter的方式: jmx_prometheus_javaagent 下载链接(0.12.0.jar)
java -javaagent:/usr/local/jmx/jmx_prometheus_javaagent-0.12.0.jar=3010:/usr/local/jmx/simple-config.yml -jar XX.jar
JMX Exporter配置
simple-config.yml
- 创建jmx_exporter文件夹,mkdir /usr/local/prometheus/jmx_exporter
- 下载jmx_exporter的jar包,cd /usr/local/prometheus/jmx_exporter, wget
https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar
- 创建修改simple-config.yml,
--- wercaseOutputLabelNames: true lowercaseOutputName: true whitelistObjectNames: ["java.lang:type=OperatingSystem"] rules: - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):' name: os_$1 type: GAUGE attrNameSnakeCase: true
prometheus.yml
vim prometheus.yml,
- job_name:'jvmmonitor'
static_configs:
- targets: ['localhost:3010']
重启Prometheus
4.Grafana配置模板
- 导入Dashboard,可以通过json模板导入,json模板下载链接(json)
- 登录Grafana,点击Import,name为prometheus.yml中配置的job_name,上传json,数据源选择Prometheus,最后打开刚刚导入的Dashboard
- 准备一个springboot项目,通过命令运行项目,然后查看效果
java -javaagent:/usr/local/jmx/jmx_prometheus_javaagent-0.12.0.jar=3010:/usr/local/jmx/simple-config.yml -jar springboot-mybatis-1.0-SNAPSHOT.jar
就这样,使用Prometheus+Grafana实现基于SpringBoot项目的JVM监控就完成了,接下来还可以基于Prometheus实现告警邮件提醒。
更多推荐
所有评论(0)