监控 Grafana
总所周知,Grafana 最开始是一个可视化工具,后来经过这些年的发展,已经进化成了一个可观测平台,除了最早的支持 Prometheus 作为数据源来进行监控的展示,后来快速的增加了 MySQL、ClickHouse 等等各种类型的数据源,使得可视化工具的也越来越应用广泛。再之后,除了做数据的可视化,后来还有日志系统 Loki 的发布,分布式追踪的 Tempo,当功能越来越完善的时候,Grafana 就变成了一个可观测平台。
对于这个可观测平台的使用越深入,越觉得好用。不过最新版 7.x 和 6.x 还是有很大的不同,7.x 从页面的 UI 上看上去更好看了,但是一些 Panel 的精细的调节选项缺没有了,比如控制字体大小的选项、Table 里翻页的功能。对于 Grafana 我们一定是想要监控的,只有监控他,我们才能知道当前的 Grafana 处于一个什么状态。所以我选择了 Prometheus 来进行监控。
Grafana 自身可以暴露一定的监控数据,打开监控项以后,可以暴露如下类型的数据
- Active Grafana instances
- Number of dashboards, users, and playlists
- HTTP status codes
- Requests by routing group
- Grafana active alerts
- Grafana performance
配置 Grafana 监控有如下步骤
1、修改配置文件,打开 Metric 选项
# Metrics available at HTTP API Url /metrics
[metrics]
# Disable / Enable internal metrics
enabled = true
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
2、重启 Grafana ,Grafana 会保留数据在 http://localhost:3000/metrics
3、接下来配置 Prometheus 来收集数据
- job_name: 'grafana_metrics'
scrape_interval: 15s
scrape_timeout: 5s
static_configs:
- targets: ['localhost:3000']
4、重启 Prometheus ,使得上边的配置生效。
5、检查 Prometheus 已经收集到 Grafana 的监控数据,并且将数据导入到 Grafana 中进行查看分析。
官方的 Dashboards 没有提供,我自己做了一个上传到了 Grafana Dashboards,大家可以通过 xxx
来导入查看。
参考 https://grafana.com/docs/grafana/latest/administration/view-server/internal-metrics/