grafana v10.1版本设置告警

news2024/11/18 21:47:33

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.coloradmin.cn/o/1105907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

索引优化与查询优化(补充篇)

其他优化策略 exist和in的区别 选择的标准&#xff1a;小表驱动大表 SELECT *FROM A WHERE cc IN (SELECT cc FROM B)SELECT *FROM A WHERE EXISTS (SELECT cc FROM B WHERE B.ccA.cc)当A小于B时&#xff0c;用EXISTS。因为EXISTS的实现&#xff0c;相当于外表循环&#xff0…

猜数字游戏(Rust实现)

文章目录 游戏说明游戏效果展示游戏代码游戏代码详解生成神秘数字读取用户输入解析用户输入进行猜测比较 游戏说明 游戏说明 游戏运行逻辑如下&#xff1a; 随机生成一个1-100的数字作为神秘数字&#xff0c;并提示玩家进行猜测。如果玩家猜测的数字小于神秘数字&#xff0c;则…

智慧河湖方案:AI赋能水利水务,构建河湖智能可视化监管大数据平台

一、方案背景 我国江河湖泊众多&#xff0c;水系发达。伴随着经济社会快速发展&#xff0c;水生态水环境问题成为群众最关注的民生议题之一。一些河流开发利用已接近甚至超出水环境承载能力&#xff0c;一些地区废污水排放量居高不下&#xff0c;一些地方侵占河道、围垦湖泊等…

Apache SeaTunnel Web 功能正式发布!

Apache SeaTunnel Web 功能正式发布&#xff01; 在大数据技术的不断进步之下&#xff0c;Apache SeaTunnel 成为了众多开发者和企业关注的焦点。今天&#xff0c;我们很高兴地宣布&#xff1a;Apache SeaTunnel Web功能已正式发布&#xff0c;带来了前所未有的易用性和效率。…

手把手带你使用VSCode 搭建 STM32开发环境!

首先附上一张VS Code图一直都喜欢这种&#xff0c;黑色主题感觉高大上。 一、需要的软件和工具。 下载最新版VS Code: 安装好插件&#xff0c;具有良好的代码补全与调试功能。 “ VS Code下载地址&#xff1a;https://code.visualstudio.com/ ” 下载 LLVM&#xff1a;用于代码…

DeFi世界 MXT脱颖而出 利好不断

​​MixTrust希望成为用户在Web3世界的专用金融平台&#xff0c;注重为用户提供个性化的金融服务。而WorldCoin的愿景则是建设一个全球最大的、公平的数字身份和货币体系&#xff0c;强调构建一个涵盖全球范围的身份认证和货币交易系统。 扩展性 在扩展性方面&#xff0c;双方…

操作系统体系结构和OS

1.冯诺依曼计算机体系 关于冯诺伊曼系统&#xff0c;在这里我只是简单讲一讲&#xff0c;更加详细的内容可以看我的计算机组成系列。 常见的笔记本、台式机&#xff0c;不常见的服务器、工作站&#xff0c;大部分都遵守“冯诺依曼体系”&#xff0c;因此该计算机体系就是现代…

易点易动设备管理系统帮助生产企业提升设备巡检效率

在现代制造业中&#xff0c;设备的正常运行对于生产企业的成功至关重要。然而&#xff0c;设备巡检是确保设备安全性和可靠性的关键环节&#xff0c;但却常常耗费大量时间和资源。为了解决这个问题&#xff0c;许多企业采用了现代化的设备管理系统&#xff0c;其中易点易动设备…

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

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

通讯协议学习之路:有线通讯协议总览

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 一、…

【ELK使用指南 2】常用的 Logstash filter 插件详解(附应用实例)

Logstash filter 一、logstash filter过滤插件的常用模块简介二、grok 正则捕获插件2.1 grok插件的作用2.2 内置正则表达式2.3 自定义正则表达式 三、mutate 数据修改插件3.1 mutate插件的作用3.2 常用的配置选项3.3 mutate插件应用实例 四、multiline 多行合并插件4.1 multili…

哈希表(拉链法)代码模板

这里也是用数组模拟链表 //拉链法 //模拟散列表 在算法题中一般只有添加和查询不会有删除 //如果真的要删除也不是真正的删除而是打上一个标记 //mod的这个数最好取大于数据范围的第一个质数 #include<iostream> #include<cstring> using namespace std; const in…

“1688商品评论接口:打造完美电商口碑的秘密武器!“

1688商品评论接口是一种供卖家使用的接口&#xff0c;可以让卖家通过该接口维护商品的评论信息&#xff0c;包括评论内容、评分、评论时间等等。 通过使用该接口&#xff0c;卖家可以方便地管理商品的评论信息&#xff0c;包括查看、修改、删除评论等操作。同时&#xff0c;该…

屏幕截图软件Snagit 2023 mac中文特点介绍

Snagit 2023 mac是一款屏幕截图和视频录制软件&#xff0c;它可以帮助用户快速捕捉屏幕上的任何内容&#xff0c;并将其编辑、标注和共享。 Snagit 2023 软件特点 多种截图模式&#xff1a;支持全屏截图、窗口截图、区域截图、延时截图等多种截图模式&#xff0c;满足不同用户…

二蛋赠书五期:《Python数据挖掘:入门、进阶与实用案例分析》

前言 大家好&#xff01;我是二蛋&#xff0c;一个热爱技术、乐于分享的工程师。在过去的几年里&#xff0c;我一直通过各种渠道与大家分享技术知识和经验。我深知&#xff0c;每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此&#xff0c;我非常感激大家一直…

vue使用pdf-dist实现pdf预览以及水印

vue使用pdf-dist实现pdf预览以及水印 一.使用pdf-dist插件将PDF文件转换为一张张canvas图片 npm install pdf-dist二.页面引入插件 const pdfJS require("pdfjs-dist"); pdfJS.GlobalWorkerOptions.workerSrc require("pdfjs-dist/build/pdf.worker.entry&…

JavaScript中多种获取数组最后一个元素的策略。

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 &…

ESD监控系统-设备接地报警器的应用领域和说明

ESD监控系统是一种用于检测和监控静电放电&#xff08;ESD&#xff09;的设备&#xff0c;其中设备接地监控报警器是其重要组成部分之一。该设备主要用于检测设备的接地情况&#xff0c;当设备没有接地或者接地不良时&#xff0c;会发出报警信号&#xff0c;提醒操作人员及时采…

idea控制台乱码

如果打包时&#xff0c;控制台出现错误乱码的解决办法 而修改此后&#xff0c;运行程序有可能报错&#xff0c;则需要添加vm参数即可&#xff1a;

每日一题 2530. 执行 K 次操作后的最大分数(中等,最大根堆)

显然每次需要取出最大的元素&#xff0c;用过后将他除以三重新加入数组中&#xff0c;所以只要维护一个最大根堆即可 class Solution:def maxKelements(self, nums: List[int], k: int) -> int:nums [-i for i in nums]heapq.heapify(nums)ans 0for i in range(k):ans -…