Loading

Grafana学习笔记

安装

包管理安装

#arch系
pacman -S grafana

配置文件

可以零配置启动

连接数据源

image-20210720154542225

image-20210720154602795

直接在页面中填入服务器URL即可

图表设置

Variables

在设置页面中可以设置变量

image-20210720154802325

设置完成后会在图表界面最上端出现你设置的变量,并且可以修改变量的值

image-20210720154735265

之后在Grafana的查询语句中可以用${变量名}来插入变量的值,如

image-20210720155127799

但注意,这是Grafana的功能,不是Prometheus的功能,而且目前版本(Grafana 8)中,Alert rules中并不能使用变量模板

设置Legend

image-20210720155657219

可以通过Legend来修结果改图表展示的名字

使用{{tag名}}可以动态插入tag名

导入面板

grafana支持通过url或id导入别人分享的面板

grafana官方仓库有很多别人设置好的面板,可以直接导入使用

image-20210720155856759

警报

Grafana 8之前的版本,Alert Rule(警报规则)是与Panel(即图表)强依赖的,即Rules必须对应一个Panel,而一个Panel可以有多个Alert Rule

Grafana 8开始修改警报模块,但是还是开发版本,要在配置文件(grafana.ini)中添加

[feature_toggles]
enable=ngalert

新版的警报分为Alert rulesSilencesContact pointsNotification policies四个部分

  • Alert rules:警报规则,定义在什么情况下会触发警报。可以添加tag来方便选择对应的警报规则
  • Silences:屏蔽警报,即在设定的时间内可以屏蔽指定tag(在规则中设定的)的警报
  • Contact points:接入点,设置接入的警报渠道,支持邮箱、钉钉等
  • Notification policies:配置警报策略,可以配置默认的接入点,所有的警报都会通知默认的接入点,也可以通过tag、value来分组设置警报策略。‘’

Alert rules

  1. 设置服警报信息

image-20210720163621238

  1. 创建警报规则

注意不能使用模板变量

image-20210720163632387

其中Grafana 8支持了基于标签的多维警报,可以使用reduce来创建多维条件,如

image-20210723134748024

之后再使用条件语句去进行处理

image-20210723134833853

  1. 选择触发的表达式

同样的,使用多维警报也会为每个实例创建一个警报信息

image-20210723135025090

  1. 警报提示的信息

image-20210720163700771

  1. 设置tag,类似于分组

image-20210720163712221

  1. 结果,其中结果格式使用了消息模板来自定义格式

image-20210723135255587

在此查看更多细节

Silences

设置在什么时段忽略警报,同时可以通过Alert rules中的tag来设置忽略警报的条件

image-20210720170143060

Contact points

消息模板|Message Template

Grafana 8支持消息模板,基于Go Template,可以吧包括触发警告的查询结果等信息进行自定义处理并输出。

更详细信息查看文档,查看模板数据来了解模板中的可用变量

实例

配置的模板

image-20210723135359523

在连接点中使用模板

image-20210723135428100

其中{{template "Alerts" .}}中的test{{define "Alerts"}}中定义的名称,即为Alerts

Alerting的值可以在设置Rule的界面中预览

image-20210723135548819

连接点|Contact points

可以设置警报的渠道,这里以钉钉为例

DingDing

image-20210720170654126

  • Contact point type:警报通知的方式,这里选择钉钉
  • Url:钉钉机器人创建给出的url
  • MessageType:支持ActionCard 和 link两种
  • Message:警报的提示消息

同时记得修改配置文件,不然提示的url打不开http_port、domain、root_url

Notification policies

可以将Alert rules和Contact point通过tag联系在一起

image-20210720171405748

杂项

除零问题

因为错误率是\(\frac{请求错误数}{请求数}\),如果没有请求,就会出现除零,结果变成NaN,导致图表连线不连续

解决方法就是使用一些表达式来规避这些问题,如在上文中的错误率的表达式:

sum by(instance)(increase(http_server_requests_seconds_count[30s]))/(increase(http_request_total[30s])+(increase(http_request_total[30s])  == bool 0 ))*(increase(http_request_total[30s])!=bool 0)*100

重点在于(increase(http_request_total[30s])+(increase(http_request_total[30s]) == bool 0 ),当(increase(http_request_total[30s])为0时,increase(http_request_total[30s]) == bool 0 的值就为1,相加结果为1,去除了除零的情况

posted @ 2021-08-12 15:01  羊肉串i  阅读(1534)  评论(0编辑  收藏  举报