当前位置: 首页 > news >正文

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.

相关文章:

grafana v10.1版本设置告警

1. 相关概念概述 如图所示&#xff0c;点击切换菜单标志&#xff0c;可以看到警报相关子选项。 警报规则&#xff1a;通过PromQL语句定义告警规则&#xff0c;即达到怎样的状态触发告警。 联络点&#xff1a; 设置当警报规则实例触发时&#xff0c;如何通知联系人&#xff0c;…...

Python+Requests+PyTest+Excel+Allure 接口自动化测试实战

本文主要介绍了PythonRequestsPyTestExcelAllure 接口自动化测试实战&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 Unittest是Python标准库中自带的单元测试框架…...

日志分析系统——ELK

目录 一、ELK概述 ELK的组成 1、ElasticSearch 2、Logstash 3、Kiabana 完整日志采集系统基本特征 ELK的工作原理 二、ELK的部署 1、环境准备 2、部署ElasticSearch软件 3、安装Elasticsearch-head插件 4、Logstash部署 5、Kibana部署 三、FilebeatELK部署 1、安…...

Ubuntu小知识总结

Ubuntu相关的小知识总结 一、Ubuntu系统下修改用户开机密码二、Vmware虚拟机和主机之间复制、粘贴内容、拖拽文件的详细方法问题描述Vmware tools灰色不能安装解决方法小知识点&#xff1a;MarkDown的空格 三、Ubuntu虚拟机网络无法连接的几种解决方法1.重启网络编辑器2. 重启虚…...

2023年全球市场新能源汽车车载充电器总体规模、主要生产商、主要地区、产品和应用细分研究报告

按收入计&#xff0c;2022年全球新能源汽车车载充电器收入大约 百万美元&#xff0c;预计2029年达到 百万美元&#xff0c;2023至2029期间&#xff0c;年复合增长率CAGR为 %。同时2022年全球新能源汽车车载充电器销量大约 &#xff0c;预计2029年将达到 。2022年中国市场规模大…...

基于stm32控制的ESP8266在设备模式下通讯

一、文章中要用的指令 指令作用ATUART115200,8,1,0,0之前的51通讯是9600&#xff0c;这里的321用的是115200&#xff0c;需要改一下波特率ATCWMODEXX是1代表station&#xff08;设备&#xff09;模式 &#xff0c;X是2代表AP&#xff08;路由&#xff09;模式 &#xff0c;X是…...

用PHP组合数组,生成笛卡尔积。写几个例子

#创作灵感# [红色&#xff0c;白色&#xff0c;黄色&#xff0c;蓝色] [128G,256G,512G] [国行,港版,美版&#xff0c;韩版] 用PHP组合数组&#xff0c;生成笛卡尔积。写几个例子 你可以使用嵌套的循环来生成这些数组的笛卡尔积。以下是一些示例代码&#xff1a; // 示例…...

软设上午题错题知识点7

软设上午题错题知识点7 1、数据流图摆脱系统的物理内容&#xff0c;在逻辑上描述系统的功能、输入、输出和数据存储等&#xff0c;是系统逻辑模型的重要组成部分。 2、HTTPS&#xff08;Secure Hypertext Transfer Protocol&#xff09;安全超文本传输协议。 它是一个安全通信…...

让uniGUI支持https

今天在专家的帮助下&#xff0c;成功的让uniGUI支持https了。 首先&#xff0c;去申请个**的证书。我同事去阿里申请的&#xff0c;申请回是一个zip文件&#xff0c;里面有两个文件&#xff0c;一个扩展是per&#xff0c;一个key 然后&#xff0c;把这两个证书文件放到uniGUI…...

iPhone怎么导出微信聊天记录?3个值得收藏的方法

随着时间的推移&#xff0c;微信占用的内存空间会“膨胀”得越来越大。当手机内存不足时&#xff0c;清理微信中的聊天记录是一个可行的方法。但是很多小伙伴觉得有些重要的聊天记录还有用&#xff0c;可能以后需要进行查看。 因此&#xff0c;他们想将一些聊天记录进行导出或…...

【Proteus仿真】【STM32单片机】自动饲养控制系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用LCD1604显示模块、红外传感器、有害气体检测模块、PCF8591 ADC模块&#xff0c;蜂鸣器、DHT11温湿度、SG90舵机、风扇加热加湿等。 主要功能&a…...

【设计模式】模板方法模式

模板方法模式 1. 什么是模板方法 模板方法模式&#xff1a;定义一个操作中的算法骨架&#xff08;父类&#xff09;&#xff0c;而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构来重定义该算法的 2. 什么时候使用模板方法 实现一些操作时&#xff0c…...

c语言进制的转换二进制转换10进制

c语言进制的转换之二进制转换10进制 c语言的进制的转换 c语言进制的转换之二进制转换10进制一、二进制转换10进制的方法二、10进制程序打印 一、二进制转换10进制的方法 二进制&#xff1a; 二进制逢二进一&#xff0c;所有的数组是0、1组成 十进制转二进制&#xff1a; 除二反…...

C++ 纠错题总结2

1、for循环中的判断语句: 要注意初始赋值、< 还是 < for(int i 0; i < n; i) 2、cin.getline(char[], int, char) 注意&#xff1a;第二个参数为不是char[]的有效元素个数&#xff0c;因为最后一个元素位置要用来存储 \0 3、函数形参有默认值的&#xff0c;有默认…...

Jmeter性能 —— 事务控制器

统计性能测试结果一定会关注TPS&#xff0c;TPS表示&#xff1a;每秒处理事务数&#xff0c;JMeter默认每个事务对应一个请求。我们可以用逻辑控制器中的事务控制器将多个请求统计为一个事务。 1、添加事务控制器 2、事务控制器参数说明 Generate parent sample&#xff1a;如…...

Android C/C++ native编程NDK开发中logcat的使用

Android C/C native编程NDK开发中logcat的使用 前言具体用法 前言 在NDK开发过程中&#xff0c;C/C层&#xff0c;需要对代码进行一些调试&#xff0c;日志打印是我们解决异常或崩溃的重要手段&#xff0c;这里我就简单介绍下日志打印三步走。 首先我们先看下官方文档关于日志…...

什么是美颜SDK?深入了解直播实时美颜SDK

美颜已经成为了现代社交媒体和直播应用中的重要元素&#xff0c;它使用户能够在拍摄自拍照片或进行直播时改善其外貌特征。美颜技术的普及离不开美颜SDK&#xff08;软件开发工具包&#xff09;&#xff0c;特别是在直播应用中&#xff0c;直播实时美颜SDK正变得越来越流行。在…...

TensorFlow2从磁盘读取图片数据集的示例(tf.data.Dataset.list_files)

import os import warnings warnings.filterwarnings("ignore") import tensorflow as tf from tensorflow.keras.optimizers import Adam from tensorflow.keras.applications.resnet import ResNet50 from pathlib import Path import numpy as np#数据所在文件夹 …...

Jmeter(九):jmeter_逻辑控制器与HTTP Cookie管理器详解

Jmeter&#xff1a;jmeter_逻辑控制器_事务控制器 事务 性能测试中&#xff0c;事务指的是从端到端&#xff0c;一个完整的操作过程&#xff0c;比如一次登录、一次 筛选条件查询&#xff0c;一次支付等&#xff1b;技术上讲&#xff1a;事务就是由1个或多个请求组成的 事务…...

CVPR2023优秀论文 | AIGC伪造图像鉴别算法泛化性缺失问题分析

作者 | 搜索内容技术部 导读 深度伪造检测算法无法检出未知伪造算法生成的攻击数据。以往算法采取手动建模伪造特征的方式提升模型泛化性&#xff0c;然而这种方式限制了算法可行域&#xff0c;影响了模型泛化性进一步提升&#xff0c;同时这类方法参数量巨大&#xff0c;无法满…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...