目标是通过Prometheus+Grafana实现监控JVM、Tomcat、Mysql、Solr、ElasticSearch
基于Prometheus+Grafana搭建监控平台-(1)搭建基础环境,实现监控JVM
基于Prometheus+Grafana搭建监控平台-(2)实现监控elink服务器EIMServer
基于Prometheus+Grafana搭建监控平台-(3)实现监控ElasticSearch
基于Prometheus+Grafana搭建监控平台-(4)实现监控Tomcat服务
基于Prometheus+Grafana搭建监控平台-(5)实现监控Solr服务
基于Prometheus+Grafana搭建监控平台-(6)实现监控Mysql服务
基于Prometheus+Grafana搭建监控平台-(7)实现监控国产化Linux
基于Prometheus+Grafana搭建监控平台-(8)实现监控Windows服务
一、环境说明
NO | 准备内容 | 说明 |
---|---|---|
1 | Windows_x86_64bit | 用于部署Prometheus和Grafana |
2 | Prometheus | 用于存放监控数据的数据库 |
3 | Grafana | 监控平台 |
二、下载安装Prometheus
- 从官方网站下载,大家可以根据部署的目标平台选择相应的安装包 官方网站
https://prometheus.io/download/
如果没有上述平台的安装包可以通过github下载源码通过编译源码安装,详情请参照https://github.com/prometheus/prometheus的详细编译过程进行编译 - 解压配置
- 启动服务
双击prometheus.exe启动服务 - 访问管理画面
在浏览器输入http://127.0.0.1:9090(此端口参照上述配置文件)
二、下载安装Grafana
- 从官方网站下载官方网站
https://grafana.com/grafana/download
- 参照 官方文档 进行安装配置
- 双击grafana-enterprise-9.1.6.windows-amd64.msi执行安装
- 启动Grafana服务
- 访问Grafana管理画面
在浏览器中输入http://127.0.0.1:3000,第一次默认用户名和密码都是admin,点击login后会提示你进行重置密码
三、配置Grafana的Prometheus数据源
- 配置数据源
- 选择Prometheus
四、配置要监控的java程序
- 下载收集JVM信息的代理程序jmx_prometheus
下载地址https://github.com/prometheus/jmx_exporter 根据JDK版本下载
- 在目标jar同级目录创建jmx_prometheus.yaml配置文件
此配置文件是对代理程序的配置,参照https://github.com/prometheus/jmx_exporter的文档
下面是从上述网站文档说明是复制的示例:sstartDelaySeconds: 0 ssl: false lowercaseOutputName: false lowercaseOutputLabelNames: false whitelistObjectNames: ["org.apache.cassandra.metrics:*","java.lang:type=OperatingSystem"] blacklistObjectNames: ["org.apache.cassandra.metrics:type=ColumnFamily,*"] rules: - pattern: 'org.apache.cassandra.metrics<type=(\w+), name=(\w+)><>Value: (\d+)' name: cassandra_$1_$2 value: $3 valueFactor: 0.001 labels: {} help: "Cassandra metric $1 $2" cache: false type: GAUGE attrNameSnakeCase: false - pattern: 'java.lang<type=OperatingSystem><>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:' name: os_$1_bytes type: GAUGE attrNameSnakeCase: true - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):' name: os_$1 type: GAUGE attrNameSnakeCase: true
-
配置Prometheus配置文件,添加目标JVM监控任务
在配置文件中添加目标JVM的监控任务,如下图所示;ip是目标Java程序运行的服务器ip,8314是第4步运行目标程序时添加代理监控端口
-
启动目标Java程序
java -javaagent:jmx_prometheus_javaagent-0.17.1.jar=8314:jmx_prometheus.yaml -jar agent.jar
-
确认Prometheus管理画面新添加8314监控任务的状态
五、在Grafana中添加JVM的Dashboard
- 创建Dashboard