第十二 讲:Grafana 超实⽤用企业级监控绘图⼯工具的结合
本讲内容
- Grafana 这款软件的介绍
- Grafana 下载/安装/配置/运⾏
- Grafana 设置数据源 连接prometheus_server
- Grafana 建⽴ Dashboard
- Grafana 创建 graph 成图
- Grafana graph进阶内容
- Grafana Dashboard 全局部署优化
- Grafana json备份 和 还原
- Grafana 实现报警功能 连接(4.0新功能 重要!)
Grafana介绍
Grafana是⼀款近⼏年新兴的 开源数据绘图⼯具平台,默认⽀持如下这么多钟 数据源作为输⼊
Grafana 下载/安装/配置/运⾏
官网地址:https://grafana.com/
下载安装运行
#下载 wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm #安装 rpm -ivh grafana-4.6.3-1.x86_64.rpm #运行 rpm -ivh grafana-4.6.3-1.x86_64.rpm systemctl daemon-reload systemctl enable grafana-server.service systemctl start grafana-server.service
访问默认使用3000端口
默认用户名和密码为admin
添加数据源
添加后查看
创建图形
创建Graph图形
点击编辑edit
count_netstat_wait_connections
可以设置 整个graph的分辨率 如果希望图形更清晰 可以设置 Height的部分 到200-400px
接下来我们看 Metrics选项卡的部分
默认图像下⽅的输出信息 是输出全部的标签 看着很乱 我们可以定制⾃⼰的 标签别名
接下来 我们来到 Legend选项卡
在这⾥ 我们可以进⼀步 对输出值 进⾏规划 可以讲显⽰数值 额外设置 最⼩ 最⼤ 平均 当前 数值进⾏显⽰ 最终可以做成这种样⼦的显⽰
最终效果
Grafana json备份 和 还原
SAVE as 当我们的dashboard设置的graph越来越多时 我们除了即时保存 还要掌握 导出的⽅法 以便永久保存
在最上⾯ 设置的部分 选择 View Json
将全部的json copy出来 保存到第⼀个地⽅ 以备不时之需 Grafana⽀持将 json导⼊ 还原成 dashboard
删除监控图
Grafana 实现报警功能 连接(4.0新功能 重要!)
Grafana 4.0之后 ⽀持报警功能
所有的graph图形都可以 设置连接上多个报警平台 并设置阈 值并报警
这个是⼀个⾮常重要的新功能 有了这个 新功能后 prometheus_server(alertmanager插件)-Pagerduty 仅仅作为数据 源即可(没有必要再使⽤prometheus做报警设置了)
整个的流程如下
接下来我们来看下 如何设置grafana的报警功能
1) 新建⼀个报警平台 连接渠道(Alerting channel) 我们先去Pagerduty 获取⼀个 Integration Key 这个Integration Key 实际上是⼀串数字,作为让其他软件连接到⾃⼰的 认证码 xxxxxxxxxxxxxxxx
2) 回到我们的 Dashboard => Graph 我们来设置 报警阈值
可以是 avg() 也可以是 max() min() 等等 对⼀段数据的数值 进⾏估算 ,可以⾛ 平均 也可以取最⼤值 最⼩值 然后 OF 之后 选择我们的 之前的查询公式 Query(A,1m,now) 其中的 A 就是我们在创建 Graph Metrics选项卡的 设置的第⼀ 个查询公式 1m 代表的是 取1分钟内的数据 IS ABOVE 后 就是报警的触发阈值了 当⼤于110的时候 就会发出报警到 Pagerduty 保存之后 我们的Graph图 如下
3) 继续设置 我们的 notification
设置一个CPU使用率的监控图
查询语句是
(1-sum(increase(node_cpu{mode="idle"}[1m])) by(instance) / sum(increase(node_cpu[1m])) by(instance))*100
有达到阈值返回true
报错报警规则