grafana v10.1版本设置告警

1. 相关概念概述

如图所示,点击切换菜单标志,可以看到警报相关子选项。

  • 警报规则:通过PromQL语句定义告警规则,即达到怎样的状态触发告警。

  • 联络点: 设置当警报规则实例触发时,如何通知联系人,支持的方式有发送邮件,钉钉机器人消息,slack,webhook等。

  • 通过策略: 定义警报如何路由到联络点。例如如何匹配告警示例,设置关联联络点,设置group,通知时间控制。

  • 静默:设置静默时间段,再指定的时间阻止一个或多个警报通知。

  • 组:查看来自 Alertmanager(警报管理器)实例的分组警报。

  • 管理员: Alertmanager配置设置与查看。

2. 设置告警

设置告警没有固定的流程,我们按照菜单从上至下的顺序依次进行创建和设置。

2.1 创建警报规则

2.1.1 Rule name

我们设置一个发现有pod异常的警报规则,设置警报规则名:pod_abnormal

2.1.2 Define query and alert condition

设置查询语句和警报触发条件。如图所示:

选择数据源:Prometheus

查询语句为:cluster:pod_abnormal:sum,这是一个prometheus的recording rule返回异常的pod数量,这个语句返回内容没有label所以label fillters不设置。grafana页面功能很全,设置其他告警内容的话可以根据页面提示选择需要的指标和label过滤所需的数据。

grafana同一个警报规则下支持设置多个数据源的数据查询,点击Add query即可添加另一个数据源及查询语句。

然后设置Expressions(表达式),指定警报触发的条件,Expressions支持一些类型:

Reduce:  将所选时间范围内的时间序列值聚合为单个值,支持的Function包含Min、Max、Last等具体含义可看页面解释。

Math:对时间序列和数字数据执行自由形式的数学函数/操作。可用于预处理时间序列数据或为数字数据定义警报条件。

Resample:将时间范围重新对齐到一组新的时间戳,这在比较来自不同数据源的时间序列数据时非常有用,否则时间戳不会对齐。其中包括Downsample(下采样)和Upsample(上采样)。

Downsample(下采样)是将高频率数据转换为低频率数据的过程。在Grafana中,可以通过Downsample选项将原始数据按照指定的时间间隔进行聚合,以得到更低频率的数据。例如,可以将每分钟的数据Downsample为每小时的数据,以减少数据的噪声和波动。Downsample通常用于数据预处理、数据可视化和数据压缩等场景。

Upsample(上采样)是将低频率数据转换为高频率数据的过程。在Grafana中,可以通过Upsample选项将原始数据按照指定的时间间隔进行插值,以得到更高频率的数据。例如,可以将每小时的数据Upsample为每分钟的数据,以获取更详细的信息。Upsample通常用于数据可视化和数据分析等场景。

Threshold:检查是否有任何时间序列数据符合阈值条件。阈值表达式允许您比较两个单个值。当条件为假时返回0,如果条件为真则返回1。以下阈值函数可用:

  • Is above (x > y)

  • Is below (x < y)

  • Is within range (x > y1 AND x < y2)

  • Is outside range (x < y1 AND x > y2)

Classic condition:检查是否有任何时间序列数据与警报条件匹配,无论有多少时间序列满足条件,经典的条件表达式查询总是只产生一个警报实例。经典条件的存在主要是出于兼容性的原因,应该尽可能避免。

2.1.3 Set alert evaluation behavior

设置评估行为:

Folder:包括设置警报规则所属目录,

Evaluation group:设置警报规则评估组。Evaluation group可以选择已有组或者新建组,新建组可以设置组名和评估时间间隔。

Pending period:在警报规则触发之前,警报规则可能违反条件的时间段。可以设置合适的时间,防止误触告警。

2.1.4 Add annotations

可以添加一些注解在告警通知,例如触发告警的原因,告警规则的消息描述等。

Runbook URL功能允许将警报规则与相关的运行手册(runbook)关联起来。运行手册是一个包含有关如何处理特定警报的详细信息的网页。通过提供Runbook URL,可以让团队成员在收到警报时快速访问相关的运行手册,并按照其中的指导来解决问题。

以下是Grafana中Runbook URL的作用和使用场景:

  1. 提供警报处理指南:运行手册通常包含有关如何诊断和解决特定警报的详细信息。通过提供Runbook URL,可以让团队成员在收到警报时快速访问这些指南,并按照其中的指导来解决问题。

  2. 促进团队协作:在处理警报时,团队成员通常需要协作并共享信息。通过提供Runbook URL,可以让团队成员轻松访问共享的运行手册,并在其中记录和处理警报的相关信息。

  3. 提高效率:处理警报通常需要快速而准确地采取行动。通过提供Runbook URL,可以让团队成员避免在查找和处理警报时浪费时间,从而提高工作效率。

  4. 监控和报告:运行手册通常包含有关警报的监控和报告信息。通过提供Runbook URL,可以让团队成员轻松访问这些信息,并更好地了解警报的状态和趋势。

2.1.5 Configure notifications

添加自定义标签来改变告警通知的路由方式。通知策略根据标签匹配到相关的警报规则,进而发送告警通知。

此处我们设置pod=abnormal

2.1.6 保存退出

2.2 联络点

联络点页面包含创建联络点和创建通知模板两个部分,因为创建联络点是需要引用通知模板,所以我们先创建通知没模板,然后在创建联络点。

2.2.1 创建通知模板

创建通知模板内容很多,很灵活可参考官方文档,我们创建一个简单的例子:

Template name : 模板名,PodAbnormal

Payload data:告警实例的具体内容,通过Select alert instances可以选择添加已有告警,实例内容数据用于预览创建的告警模板生成的实际内容。

Content: 模板具体的内容,使用go模板语法实现:

{{ define "PodAbnormal.title" }}
{{ len .Alerts.Firing }} firing alert(s), {{ len .Alerts.Resolved }} resolved alert(s)
{{ end }}
{{ define "PodAbnormal.message" }}{{- if gt (len .Alerts.Firing) 0 -}}{{ range $i, $alert := .Alerts.Firing }}[告警项目]:{{ index $alert.Labels "alertname" }}[告警详情]:{{ index $alert.Annotations "description" }}[触发时间]:{{ (.StartsAt).Format "2006-01-02 15:04:05" }}{{ end }}{{- end }}{{- if gt (len .Alerts.Resolved) 0 -}}{{ range $i, $alert := .Alerts.Resolved }}[项目]:{{ index $alert.Labels "alertname" }}[告警详情]:{{ index $alert.Annotations "description" }}[状态]:恢复正常[开始]:{{ (.StartsAt).Format "2006-01-02 15:04:05" }}[恢复]:{{ (.EndsAt).Format "2006-01-02 15:04:05" }}{{ end }}{{- end }}
{{ end }}

2.2.2 创建联络点

点击Add contact point进入添加联络点页面:

Name: 联络点的名字。

Integration:选择联络点类型,支持钉钉,Email, Slack等等。此处示例设置钉钉机器人。

Optional DingDing settings:钉钉消息相关设置

  • MessageType: 支持Link和ActionCard两种类型。

  • Title:设置标题,可以直接输如或者引用已创建的模板内容

  • message: 设置消息内容,可以直接输如或者引用已创建的模板内容

Notification settings:是否禁用当告警状态返回false时发送的解析消息[OK]

2.2.3 保存退出

点击 save contact point

2.3 通知策略

通知策略用来确定警报如何路由到联络点。

可以看到已有一个Default policy,Default policy会路由所有的告警示例,所有的策略都是基于Default policy或者他的子策略的,策略是树状方式路由的。子策略可以覆盖父策略的组定义,及时间控制策略。可以通过label细化父策略的匹配范围。

2.3.1 创建通知策略

点击默认策略的New nested policy进入策略创建页面:

Matching labels:设置匹配警告规则的标签,与2.1.5相同设置为pod=abnormal。

Contact point:联络点选择上一节创建的DingTalk。

Continue matching subsequent sibling nodes:选择是否继续匹配子策略。

Override grouping:设置是否覆写父策略分组信息。

Override general timings:设置是否覆写父策略警报时间控制设置。

Mute timings:设置静默时间,引用静默时间需要提前创建好静默。

2.3.2 保存退出

点击Save policy。

3. 收到告警消息

4. 静默

静默用来设置在指定时间范围内即使有告警示例也不发送告警消息。

4.1 创建静默

点击Create silence进入创建静默页面:

Silence start and end:设置静默的起止时间段。

Matching labels:设置匹配的警报示例,同样这里设置为pod=abnormal。

Comment :给静默添加信息。

Affected alert instances:预览此静默影响到的Alerts。

4.2 保存退出

点击Save slience.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/165185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Perl和WWW::Mechanize库编写

以下是一个使用Perl和WWW::Mechanize库编写的网络爬虫程序的内容。代码必须使用以下代码&#xff1a;jshk.com.cn/get_proxy 首先&#xff0c;确保已经安装了Perl和WWW::Mechanize库。如果没有&#xff0c;请使用以下命令安装&#xff1a; cpan WWW::Mechanize创建一个新的Pe…

代码随想录二刷 Day 44

01背包问题二维做法先遍历背包或者物品都可以&#xff0c;然后是前序遍历&#xff1b; 一维做法一定先遍历物品然后遍历背包&#xff0c;遍历背包的时候是后序遍历&#xff1b;一维做法还是有点难理解&#xff0c;其实就是后面的数字还是要从前面的推导出来&#xff0c;但是如…

安装Apache2.4

二、安装配置Apache&#xff1a; 中文官网&#xff1a;Apache 中文网 官网 (p2hp.com) 我下的是图中那个版本&#xff0c;最新的64位 下载下后解压缩。如解压到D:\tool\Apache24 PS&#xff1a;特别要注意使用的场景和64位还是32位版本 2、修改Apcahe配置文件 2.1配置Apache…

【音视频流媒体】 3、ffmpeg、ffplay、ffprobe 超详细介绍

文章目录 一、ffmpeg1.1 安装1.2 基本参数 二、ffprobe2.1 查编码格式2.2 查视频时长 五、视频转流5.1 MP4转H2645.2 H264转MP45.3 AVI转MP45.4 MP4转H265 六、视频文件6.1 播放6.2 filter 过滤器6.2.1 crop 6.3 视频截取6.4 视频拼接6.5 获取分辨率 七、视频和图7.1 视频抽帧7…

传输层协议(TCP/UDP协议)

全文目录 端口号端口号范围划分 传输层UDP协议特点基于UDP的应用层协议 TCP协议确认应答机制&#xff08;可靠性&#xff09;延迟应答机制超时重传机制流量控制连接管理机制TIME_WAIT 状态CLOSE_WAIT 状态拥塞控制滑动窗口 TCP、UDP对比TCP的listen第二个参数 端口号 在套接字…

jmeter接口测试避坑指南

接口测试看着很简单&#xff0c;但是操作过程中还是出现很多问题&#xff0c;现总结如下&#xff1a; 一、jmeter中乱码问题 可在jmeter.properties 这个文件里面找到sampleresult.default.encodingxx&#xff0c;后面xx改成utf-8&#xff0c;然后取消注释。 解决jmeter的bod…

【RocketMQ系列五】消息示例-顺序消息延迟消息广播消息的实现

1. 前言 上一篇文章我们介绍了简单消息的实现&#xff0c;本文将主要来介绍顺序消息的实现&#xff0c;顺序消息分为局部顺序消息和全局顺序消息。 顺序消息指的是消费者在消费消息时&#xff0c;按照生产者发送消息的顺序进行消费。即先发送的先消费【FIFO】。 顺序消息分为…

vue2升级到vue2.7

vue2升级到vue2.7 小小的改进,大大的提升 只需要简单修改,开发体验得到大大提升. 为什么要升级Vue2.7 不能拒绝的理由: 组合式 API(解决mixins问题:命名冲突,隐式依赖)单文件组件内的 <script setup>语法模板表达式中支持 ESNext 语法(可选链:?.、空值合并:??)单文…

Windows 钉钉多开 dingtalkRC版

亲测可用 下载链接&#xff1a; https://dtapp-pub.dingtalk.com/dingtalk-desktop/win_installer/RC/DingTalk_v6.5.20-RC.7229101.exe

修改echarts的tooltip样式 折线图如何配置阴影并实现渐变色和自适应

图片展示 一、引入echarts 这里不用多解释 vue里使用 import echarts from “echarts”; html页面引用js文件或用script标签引用 二、定义一个具有宽高的dom div <div id"echart-broken" style"width:400px;height: 200px;"></div>三、定义…

Softing为连接PROFIBUS网络提供多种接口产品方案

一 应用广泛的PROFIBUS网络 PROFIBUS是基于统一、标准且独立于应用的通信协议。据PI-China统计&#xff0c;在工业领域里早已有近5090万个PROFIBUS设备被安装在了超过900万节点中。PROFIBUS网络的广泛应用得益于PROFIBUS协议的开放性——用户可以很方便地在PROFIBUS网络的任意…

NXP官方uboot针对ALPHA开发板网络驱动更改说明三

一. 简介 前几篇文章学习了 在 NXP官方uboot上做网络驱动的一部分更改。地址如下&#xff1a; ALPHA开发板网络方案说明-CSDN博客 NXP官方uboot针对ALPHA开发板网络驱动更改说明一-CSDN博客 NXP官方uboot针对ALPHA开发板网络驱动更改说明二-CSDN博客 本文继续来学习在 NXP官…

C#,数值计算——分类与推理Phylagglomnode的计算方法与源程序

1 文本格式 using System; using System.Collections.Generic; namespace Legalsoft.Truffer { public class Phylagglomnode { public int mo { get; set; } public int ldau { get; set; } public int rdau { get; set; } public …

hexo发生错误 Error: Spawn failed

错误描述 仓库中有东西&#xff0c;运行如下命令后报错 hexo d报错提示: 原因分析: 看别人的博客是用git进行push或hexo d的时候改变了一些.deploy_git文件下的内容&#xff0c;这个.deploy_git的内容对于hexo来说可能是系统文件&#xff0c;这里挖坑 解决办法 一个个的…

第一节——vue安装+前端工程化

作者&#xff1a;尤雨溪 官网&#xff1a;简介 | Vue.js 脚手架文档 创建一个项目 | Vue CLI 一、概念&#xff08;了解&#xff09; 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&…

简单谈谈我参加数据分析省赛的感受与体会

数据分析省赛的感受与体会 概要考试前的感受与体会考试注意事项小结 概要 大数据分析省赛指的是在省级范围内举办的大数据分析竞赛活动。该竞赛旨在鼓励和推动大数据分析领域的技术创新和人才培养&#xff0c;促进大数据技术与应用的深度融合&#xff0c;切实解决实际问题。参…

一些经典的神经网络(第19天)

1. 经典神经网络&#xff08;LeNet&#xff09; LeNet是早期成功的神经网络&#xff1b; 先使用卷积层来学习图片空间信息 然后使用全连接层来转到到类别空间 【通过在卷积层后加入激活函数&#xff0c;可以引入非线性、增加模型的表达能力、增强稀疏性和解决梯度消失等问题…

【R】数据相关性的可视化

一千零一技|相关性分析及其可视化&#xff1a;copy&paste&#xff0c;搞定 .libPaths(c("/bioinfo/home/software/miniconda3/envs/R4.0/lib/R/library")) #data("mtcars") library("PerformanceAnalytics") # pdf("test.pdf") #…