Grafana学习笔记
安装
包管理安装
#arch系
pacman -S grafana
配置文件
可以零配置启动
连接数据源


直接在页面中填入服务器URL即可
图表设置
Variables
在设置页面中可以设置变量

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

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

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

可以通过Legend来修结果改图表展示的名字
使用{{tag名}}可以动态插入tag名
导入面板
grafana支持通过url或id导入别人分享的面板
grafana官方仓库有很多别人设置好的面板,可以直接导入使用

警报
在Grafana 8之前的版本,Alert Rule(警报规则)是与Panel(即图表)强依赖的,即Rules必须对应一个Panel,而一个Panel可以有多个Alert Rule
在Grafana 8开始修改警报模块,但是还是开发版本,要在配置文件(grafana.ini)中添加
[feature_toggles]
enable=ngalert
新版的警报分为Alert rules、Silences、Contact points和Notification policies四个部分
Alert rules:警报规则,定义在什么情况下会触发警报。可以添加tag来方便选择对应的警报规则Silences:屏蔽警报,即在设定的时间内可以屏蔽指定tag(在规则中设定的)的警报Contact points:接入点,设置接入的警报渠道,支持邮箱、钉钉等Notification policies:配置警报策略,可以配置默认的接入点,所有的警报都会通知默认的接入点,也可以通过tag、value来分组设置警报策略。‘’
Alert rules
- 设置服警报信息

- 创建警报规则
注意不能使用模板变量

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

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

- 选择触发的表达式
同样的,使用多维警报也会为每个实例创建一个警报信息

- 警报提示的信息

- 设置tag,类似于分组

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

在此查看更多细节
Silences
设置在什么时段忽略警报,同时可以通过Alert rules中的tag来设置忽略警报的条件

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

在连接点中使用模板

其中{{template "Alerts" .}}中的test为{{define "Alerts"}}中定义的名称,即为Alerts
Alerting的值可以在设置Rule的界面中预览

连接点|Contact points
可以设置警报的渠道,这里以钉钉为例
DingDing

- Contact point type:警报通知的方式,这里选择钉钉
- Url:钉钉机器人创建给出的url
- MessageType:支持ActionCard 和 link两种
- Message:警报的提示消息
同时记得修改配置文件,不然提示的url打不开http_port、domain、root_url
Notification policies
可以将Alert rules和Contact point通过tag联系在一起

杂项
除零问题
因为错误率是\(\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,去除了除零的情况

浙公网安备 33010602011771号