Prometheus + Grafana搭建可视化监控系统

参考: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:

image

配置Grafana

Prometheus的查看界面过于简单,也很难做到一目了然,配合Grafana的强大前端表现力和丰富的dashboard,我们可以很轻松的配置出美观的界面。

配置数据源

首先添加一个数据源,将Grafana和Prometheus关联起来。选择Configuration的Data Sources,点击Add data source,选择Prometheus,在URL一栏填写Prometheus的访问地址,然后保存即可。

image

添加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的监控效果图。

image

参考

Spring Boot 2.1X+Prometheus +Grafana实现监控及可视化

Prometheus+Grafana搭建监控系统(一)

Linux下安装Prometheus详细步骤

Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手)

Spring Boot2.x-14 使用Prometheus + Grafana 实现可视化的监控

你可能感兴趣的:(Prometheus + Grafana搭建可视化监控系统)