参考:Prometheus + Grafana搭建可视化监控系统(1) - ZongweiBai - 博客园 (cnblogs.com)
Linux
监控远程Linux主机使用的Exporter是node_exporter 组件,同样选择对应的版本下载,解压到 /usr/local/promethus-export/node_exporter
,node_exporter无需配置,直接启动即可:
./node_exporter
启动完成后,访问 http://127.0.0.1:9100 验证是否正确启动。
SpringBoot2
本次部署使用的是SpringBoot 2.3.4.RELEASE,对Prometheus的支持非常好,首先引用maven依赖:
io.micrometer
micrometer-registry-prometheus
添加application.yaml
# actuator相关配置
management:
endpoints:
web:
exposure:
include: "*"
base-path: /actuator
endpoint:
prometheus:
enabled: true
metrics:
export:
prometheus:
enabled: true
step: 1ms
descriptions: true
配置自定义bean
@Bean
public MeterRegistryCustomizer configurer(@Value("${spring.application.name}") String applicationName) {
return (registry) -> registry.config().commonTags("application", applicationName);
}
完成这三步后启动Application,就可以使用actuator接口查看到Prometheus收集的数据:http://127.0.0.1:8080/actuator/prometheus 。
最终,访问Prometheus的target,就能看到我们刚刚部署的这三个exporter:
配置Grafana
Prometheus的查看界面过于简单,也很难做到一目了然,配合Grafana的强大前端表现力和丰富的dashboard,我们可以很轻松的配置出美观的界面。
配置数据源
首先添加一个数据源,将Grafana和Prometheus关联起来。选择Configuration的Data Sources,点击Add data source,选择Prometheus,在URL一栏填写Prometheus的访问地址,然后保存即可。
添加Dashboard
数据源配置成功后,选择Create->Import,在此界面上传或配置Dashboard,在https://github.com/percona/grafana-dashboards 这个项目,我们可以找到一些成熟的Dashboard配置,对于Linux监控可以选择 System_Overview.json
,对于MySQL可以选择 MySQL_Overview.json
,将这两个文件下载,依次选择 【Upload JSON file】按钮进行上传。
注意:上传之前请先将所有的pmm-singlestat-panel替换为singlestat,否则会报panel未定义,无法正常显示。
除了这个开源项目之外,Grafana还提供了官方的Dashboard市场:https://grafana.com/grafana/dashboards 。我们可以在这里找到各种数据源各种收集器的Dashboard配置。
对于Springboot2,我选择了 https://grafana.com/grafana/dashboards/10280 作为配置,将10280填入第一个输入框,然后点击【load】。
至此,所有的配置都已完成,最后来看看SpringBoot的监控效果图。
参考
Spring Boot 2.1X+Prometheus +Grafana实现监控及可视化
Prometheus+Grafana搭建监控系统(一)
Linux下安装Prometheus详细步骤
Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手)
Spring Boot2.x-14 使用Prometheus + Grafana 实现可视化的监控