第十二 讲: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

  报错报警规则

 

 

猜你喜欢

转载自www.cnblogs.com/minseo/p/13384657.html