前面我们通过Prometheus获取到了node-exporter提供的主机监控指标,本文将学习如何将监控指标可视化。Prometheus自身提供了对于指标的查询以及简单的图表展示功能,但对于企业级的监控展示而言,这是远远不够的。对此,Promethes官方推荐的可视化方案是与grafana结合,来实现丰富的监控展示效果。

一. Grafana简介

Grafana是一个开源的可视化和分析工具,它支持Prometheus、elasticsearch、graphite、influxdb 等众多的数据源,并提供了强大的界面编辑器和可视化模板。

该产品具有以下几个特点:

1. 可视化:快速灵活的客户端图形和多种选项,面板插件支持多种不同的方式来可视化指标和日志,例如:热图、折线图、图表等多种展示方式;

2. 混合展示:在同一个图表中混合不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

3. 数据源支持:支持Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,Mysql等多种数据源;

4. 告警通知: 支持以可视化方式定义警报规则,并会不断的计算数据,在指标达到阀值时通过Slack、PagerDuty、VictorOps等系统发送通知。

 
Prometheus监控运维实战八:可视化_云原生

二. 安装部署

下载二进制包,运行安装

$ wget https://dl.grafana.com/oss/release/grafana-7.5.10-1.x86_64.rpm
$ sudo yum install grafana-7.5.10-1.x86_64.rpm

启动服务

$ sudo systemctl start grafana-server

grafana默认端口为3000,打开浏览器输入 http://ip:3000 访问, 默认账号密码都为admin。

Prometheus监控运维实战八:可视化_监控_02

登录系统后,可看到左边一排功能键,分别对应着Dashboard搜索、Dashboard创建、Dashboard管理、Explore、告警管理、系统配置、管理员选项等功能,具体的功能这里不做详细介绍,感兴趣的话可以上官网自行查阅:https://grafana.com/docs/grafana/latest/。

Prometheus监控运维实战八:可视化_云原生_03
 

三. Grafana使用方法

下面我们以Prometheus为例,讲解关于Grafana的使用方法。

3.1 配置数据源

点击Configuration- Data Source,进入数据源配置页面后,点击“ADD data source”按键

Prometheus监控运维实战八:可视化_监控_04
 
Prometheus监控运维实战八:可视化_云原生_05

在列表中可以看到grafana支持多种数据源,此处选择Prometheus

Prometheus监控运维实战八:可视化_Prometheus_06

填写数据源名称与URL,完成后点击“save&test”按键,如果正常会收到Success提示。

Prometheus监控运维实战八:可视化_云原生_07

3.2 创建Dashboard

点击“Create"- "Dashboard",创建一个新的仪表盘。

Prometheus监控运维实战八:可视化_监控_08

点击“Add an empty panel”,添加一个新的面板

Prometheus监控运维实战八:可视化_Prometheus_09

选择数据源名称“Prometheus”,在metrics处填写监控指标的PromQL语句,此处以上篇文章中的CPU使用率公式为例。在图表右边处提供了丰富的功能,用于自定义图表类型,此处我们选择Graph类型图表。

Prometheus监控运维实战八:可视化_监控_10

完成后,点击右上角"Apply”按键,一个简单的图表就做好了。如果需要在仪表盘中增加更多展示图表,可点击右上角的“Add panel”继续添加。

Prometheus监控运维实战八:可视化_Prometheus_11

如果需要对Dashboard进行配置,可点击右上角的“Dashboard setting”按键,进入配置界面 。在配置界面可设置Dashboard名称等基础信息,还有配置变量、权限管理、版本管理等多个功能。

配置完成后,点击“save dashboard"保存并退出。
Prometheus监控运维实战八:可视化_监控_12
 

四. 下载Dashboard模板

上面介绍了关于Dashboard的配置,但考虑到监控的图表很多,如果全部手动去配置,无疑是件耗时耗力的事。在这点上,Grafana官网很贴心的提供了不少Dashboard的模板,可以下载即用,极大的提升了我们的工作效率。
浏览器打开官网:https://grafana.com,点击 “Grafana”-“Dashboards”,
Prometheus监控运维实战八:可视化_云原生_13
按需要的模板类型进行搜索,如node。搜索后一般会出现较多的可选模板,这里可根据下载量和星数判断,推荐选择受欢迎的模板。
Prometheus监控运维实战八:可视化_Prometheus_14
 
点击模板后,进入介绍页面,会有该模板的详细介绍。在右边会看到该模板的ID号,这个很重要,Grafana需要根据这个ID号进行模板下载。
Prometheus监控运维实战八:可视化_云原生_15

拷贝该ID号,回到grafana系统,选择”Create"-"import" ,进入模板导入界面

Prometheus监控运维实战八:可视化_Prometheus_16
输入该ID号,点击”Load",进行下载加载。(grafana也支持json文件导入的方式,可将Dashboard导出为json备份,需要时再选择“Upload Json file”进行模板导入)

Prometheus监控运维实战八:可视化_监控_17

选择Prometheus的数据源,点击"import",完成导入

Prometheus监控运维实战八:可视化_云原生_18

查看新生成的Dashboard,顺利完成。

Prometheus监控运维实战八:可视化_云原生_19