zoukankan      html  css  js  c++  java
  • 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,去除了除零的情况

  • 相关阅读:
    mybatis 二级缓存
    前端学习记
    消息队列高手课 笔记11
    cache业务
    这个前端课程主要讲mui框架
    spring cloud stream
    最近学习freemarker
    说点什么
    即将进入Windows 11时代,DevExpress控件将会有哪些改变呢?
    UI开发框架Kendo React R3 2021更新亮点——新的 React 组件
  • 原文地址:https://www.cnblogs.com/yrc123/p/15132787.html
Copyright © 2011-2022 走看看