Alertmanager 中的指纹字段是唯一的吗?

2023-12-07 02:12

本文主要是介绍Alertmanager 中的指纹字段是唯一的吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题:

  • Alertmanager 请求中真的没有唯一字段吗?
  • Alertmanager 逻辑(或我的警报的性质)的本质是使用相同的 fingerprint 创建了许多警报。我应该处理它并在我这边处理它,即如果给定的 fingerprint 不在我的数据库中创建事件已经使用。我也担心如果我设置 unique=True在我的警报模型中,一些具有相同指纹的新警报将被遗漏...

最佳答案

如果你跳转到 alert.Fingerprint()定义,如 this one ,可以找到fingerprint的实现
所以,alert.Fingerprint()仅适用于 labels

// labelSetToFingerprint works exactly as LabelsToSignature but takes a LabelSet as
// parameter (rather than a label map) and returns a Fingerprint.
func labelSetToFingerprint(ls LabelSet) Fingerprint {if len(ls) == 0 {return Fingerprint(emptyLabelSignature)}labelNames := make(LabelNames, 0, len(ls))for labelName := range ls {labelNames = append(labelNames, labelName)}sort.Sort(labelNames)sum := hashNew()for _, labelName := range labelNames {sum = hashAdd(sum, string(labelName))sum = hashAddByte(sum, SeparatorByte)sum = hashAdd(sum, string(ls[labelName]))sum = hashAddByte(sum, SeparatorByte)}return Fingerprint(sum)
}

这篇关于Alertmanager 中的指纹字段是唯一的吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464160

相关文章

mysql数据库member中telephone字段被篡改

现在准备查询log日志文件,看下被操作的原因是什么

集群环境下为雪花算法生成全局唯一机器ID策略

雪花算法是生成数据id非常好的一种方式,机器id是雪花算法不可分割的一部分。但是对于集群应用,让不同的机器自动产生不同的机器id传统做法就是针对每一个机器进行单独配置,但这样做不利于集群水平扩展,且操作过程非常复杂,所以每一个机器在集群环境下是一个头疼的问题。现在借助spring+redis,给出一种策略,支持随意水平扩展,肥肠好用。 大致策略分为4步: 1.对机器ip进行hash,对某一个(大于

java的Timestamp时间插入mysql的datetime字段是0000-00-00 00:00:00

Mysql 与 java 的时间类型             MySql的时间类型有              Java 中与之对应的时间类型                  date                                               java.sql.Date               Datetime

PL/SQL工具创建Oracle数据库表,实现id字段的自动递增

通过PL/SQL工具,创建Oracle数据库表,如何实现字段ID自动递增; Oracle的自增需要依靠序列和触发器共同实现 比如:先创建一个表 create table test (id int primary key, name varchar2(10)); 创建一个序列 create sequence test_seq increment by 1 start with 1  min

前端vue项目生成唯一的uuid

一、使用步骤 1.安装uuid 代码如下(示例): npm install -S uuid 2.在需要使用uuid的.vue文件中生成并存储uuid 代码如下(示例): import { v4 as uuidv4 } from 'uuid';mounted () {let sid=''if(localStorage.getItem('sid')){sid=localStorage.g

MQTT协议中信息长度MSG len字段分析

截图自: 主要是说数据字节长度的计算: 每个字节由1个持续位和7个数据位组成:如果持续位为1,表示接下来的一个字节仍然表示长度的一部分 7个数据位表示的数据     0-127   共计128个数字 所以如上图的表格所示 1个字节,2个字节,3个字节,4个字节的数据范围 切记:MQTT长度的表示范围 最多使用4个字节  故这里存在着数据长度的限制  (不过真心牛掰! 试试Q

Arcgis字段计算器:随机生成规定范围内的数字

选择字段计算器在显示的字段计算器对话框内,解析程序选择Python,勾选上显示代码块, 半部分输入: import random; 可修改下半部分输入: random.randrange(3, 28) 表示生成3-28之间的随机数 字段计算器设置点击确定完成随机数的生成,生成的随机数如下图所示。

(转)mysql按字段排序 按照字段的数值大小排序,而非 ascii码排序

参考:http://www.cnblogs.com/codefly-sun/p/5898738.html     如果是varchar类型, 排序后是这样的: 就是对mysql数值字符串类型进行排序,在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值   ,百度了一下,

等式(数论/唯一分解定理)

链接: https://www.nowcoder.com/acm/contest/90/F 来源:牛客网 题目描述 给定n,求1/x + 1/y = 1/n (x<=y)的解数。(x、y、n均为正整数) 输入描述: 在第一行输入一个正整数T。接下来有T行,每行输入一个正整数n,请求出符合该方程要求的解数。(1<=n<=1e9) 输出描述: 输出符合该方程要求的解数。

easyswoole orm 查询字段中出现关键字报错

使用easyswoole orm 报如图错误: 我使用的是一个很简单的orm 语法: public function getItemById(int $id):?array {return $this->create()->get($id)->toArray();}  报错的位置就在 这一句,之前也用过 也没报错,开始没弄懂为什么会出现报错,然后仔细的阅读了一下错误提示: 貌似是说