实时警报通知:微信告警通知的重要性解析
710
2023-02-04
本文目录一览:
学网络,就在IE-LAB
国内高端网络工程师培养基地
现网排错之8个ARP的告警信息如何快速处理?马上来学习吧!
01
ARP_1.3.6.1.4.1.2011.5.25.123.2.1hwEthernetARPSpeedLimitAlarm
1) 告警解释
ARP/4/ARP_SUPP_TRAP:OID [OID] Exceed the speed limit value configured. (Ifnet index=[INTEGER], Configured value=[COUNTER], Sampling value=[COUNTER], Speed-limit type=[OCTET], Source Ip address=[IPADDR], Destination Ip address=[IPADDR], VPN-Instance name=[OCTET]).
ARP报文或ARP Miss消息的发送速率超出限制时,系统会产生此告警。可以通过arp speed-limit source-ip命令设置速率上限,其中系统默认速率上限为500。
2) 报警原因
原因1:
配置对潜在的攻击行为写日志和发送告警时间间隔为N,在第N+1秒时间内上送ARP报文数配置的阈值并且前N秒上送ARP报文平均数配置的阈值。
原因2:
配置对潜在的攻击行为写日志和发送告警时间间隔为N,在第N+1秒时间内上送ARP Miss数配置的阈值并且前N秒上送ARP Miss平均数配置的阈值。
3) 处理步骤
1. 查看告警信息中时间戳抑制类型。
o ARP=2。
o ARP Miss=4。
2. 执行命令display arp anti-attack configuration查看ARP速率限制值。
3. 执行命令arp speed-limit source-ip [ ip-address ] maximum maximum,重新设定ARP时间戳抑制的最大值,该值必须大于第2步查看到的值,否则无法解除告警,但最大不能超过16384。查看告警是否恢复。
4. 请收集告警信息和配置信息,并联系技术支持人员。
5. 结束。
02
ARP_1.3.6.1.4.1.2011.5.25.123.2.4hwEthernetARPThresholdExceedAlarm
1) 告警解释
ARP/4/ARP_THRESHOLDEXCEED_TRAP:OID [OID] The number of ARP entries exceeded the threshold. (entPhysicalIndex=[INTEGER], Slot name=[OCTET], Threshold=[COUNTER], Number of dynamic ARP entries=[COUNTER], Number of static ARP entries=[COUNTER]).
ARP表项数量超过阈值时,设备产生告警。
2) 报警原因
设备上学习到的ARP表项数量超过了设定的阈值。
3) 处理步骤
1. 执行display arp statistics命令查看设备上ARP表项统计信息,根据网络规划和业务部署,确定是静态ARP表项还是动态ARP表项数量较多。
o 动态ARP表项数量较多=2。
o 静态ARP表项数量较多=3。
2. 执行display arp命令确定哪些接口的ARP表项数量较多,对于ARP表项数量较多的接口,执行display arp interface命令查看指定接口下的ARP表项,检查这些ARP表项是否是用户需要的。
o ARP表项是用户需要的=5。
o 如果ARP表项不是用户需要的,在确保业务不受影响的前提下,可以执行reset arp命令手动清除部分ARP表项=4。
3. 执行display current-configuration命令,检查配置的静态ARP表项是否是用户需要的。
o 静态ARP表项是用户需要的=5。
o 静态ARP表项不是用户需要的,在确保业务不受影响的前提下,可以执行undo arp static命令,通过指定参数删除指定的静态ARP表项或者执行reset arp static命令手动清除全部静态ARP表项=4。
4. 执行display arp statistics命令观察设备的ARP表项总数是否还会异常增加。
o ARP表项不会持续增加=6。
o ARP表项还会持续增加=5。
5. 请收集告警信息和配置信息,并联系技术支持人员。
6. 结束。
03
ARP_1.3.6.1.4.1.2011.5.25.123.2.5hwEthernetARPThresholdResumeAlarm
1) 告警解释
ARP/4/ARP_THRESHOLDRESUME_TRAP:OID [OID] The number of ARP entries was restored to the threshold. (entPhysicalIndex=[INTEGER], Slot name=[OCTET], Threshold=[COUNTER], Number of dynamic ARP entries=[COUNTER], Number of static ARP entries=[COUNTER]).
ARP表项的数量由超阈值减少到阈值范围内时,上报清除告警。
2) 报警原因
设备上ARP表项的数量由超阈值减少到阈值范围内。
3) 处理步骤
1. 正常运行信息,无需处理。
04
1) 告警解释
ARP/4/ARP_IPCONFLICT_TRAP:OID [OID] ARP detects IP conflict. (IP address=[IPADDR], Local interface=[OCTET], Local MAC=[OCTET], Local vlan=[INTEGER], Local CE vlan=[INTEGER], Receive interface=[OCTET], Receive MAC=[OCTET], Receive vlan=[INTEGER], Receive CE vlan=[INTEGER], IP conflict type=[OCTET]).
ARP检测到以太网络中存在IP地址冲突。
2) 可能原因
· 原因1:ARP报文中的源IP地址与本设备的接口IP地址相同,但是MAC地址不相同。
· 原因2:ARP报文中的源IP地址和本设备上已经存在的ARP表项的IP地址相同,但是源MAC地址和对应的ARP表项的MAC地址不相同。
· 原因3:ARP报文中的源IP地址为0.0.0.0(probe ARP报文),目的IP地址与本设备的接口IP地址相同,但是MAC地址不相同。
3) 处理步骤
1. 根据告警信息,确定冲突的设备或者用户。
o 如果能确定冲突的设备或者用户,请及时修改相关的IP地址,及时消除冲突配置=2。
o 如果不能确定冲突的设备或者用户,请收集告警信息和配置信息,并联系技术支持人员。
2. 结束。
05
ARP_1.3.6.1.4.1.2011.5.25.123.2.9hwEthernetARPLearnStopAlarm
1) 告警解释
ARP/4/ARP_LEARNSTOP_TRAP:OID [OID] ARP learning stopped because the memory usage reached the threshold. (Slot index=[INTEGER], Threshold=[COUNTER]).
设备单板内存的占用率达到指定的阈值(单板内存重启阈值-1。例如,1G内存单板的内存重启阈值是90%,当单板内存占用率达到89%时,产生该告警;2G内存单板的内存重启阈值是95%,当单板内存占用率达到94%时,产生该告警)时,ARP停止学习。
2) 可能原因
当前设备上指定单板的内存占用率达到重启阈值-1,ARP停止学习。
3) 处理步骤
1. 执行display health命令查看单板内存的占用率情况。
2. 请收集告警信息和配置信息,并联系技术支持人员。
06
ARP_1.3.6.1.4.1.2011.5.25.123.2.10hwEthernetARPLearnResumeAlarm
1) 告警解释
ARP/4/ARP_LEARNRESUME_TRAP:OID [OID] ARP learning recovered because the memory usage fell below the threshold. (Slot index=[INTEGER], Threshold=[COUNTER]).
设备单板内存的占用率恢复到指定的阈值(单板内存重启阈值-1。例如,1G内存单板的内存重启阈值是90%,当单板内存占用率达到89%时,产生该告警;2G内存单板的内存重启阈值是95%,当单板内存占用率达到94%时,产生该告警)以下时,ARP重新开始学习。
2) 可能原因
当前设备上指定单板的内存占用率由达到单板内存重启阈值-1恢复到单板内存重启阈值-1以下时,ARP重新开始学习。
3) 处理步骤
1. 正常运行信息,无需处理。
07
ARP_1.3.6.1.4.1.2011.5.25.123.2.11hwEthernetARPRemoteBackupFailAlarm
1) 告警解释
ARP/4/ARP_NO_ACCORD_TRAP: OID [OID] The remote ARP entry backup fail. (Mainif name=[OCTET]).
ARP表项远端备份失败。
2) 可能原因
备端设备检测到处理ARP远端备份报文失败,比如:备份报文进入队列失败。
3) 处理步骤
1. 执行display message-queue命令查看设备的消息队列的使用情况,检查ARP消息队列是否已满。
o ARP消息队列已满=3。
o ARP消息队列没有满=2。
2. 执行display arp命令查看设备上ARP表项的信息,检查主端和备端设备上的ARP表项是否一致。
o 两端ARP表项一致=4。
o 两端ARP表项不一致,请在确保业务不受影响的前提下,在主端设备上执行batch-backup service-type arp now命令手动再备份一次ARP表项。
3. 请收集告警信息和配置信息,并联系技术支持人员。
4. 结束。
08
ARP_1.3.6.1.4.1.2011.5.25.123.2.12hwEthernetARPRemoteBackupFailResumeAlarm
1) 告警解释
ARP/4/ARP_NO_ACCORD_RESUME_TRAP: OID [OID] The remote ARP entry backup succeed. (Mainif name=[OCTET]).
ARP表项远端备份失败恢复。
2) 可能原因
备端设备检测到周期内备份ARP表项成功。
3) 处理步骤
1. 正常运行消息,无需处理。
*本文版权所有 华为技术有限公司 侵删
【思科CCNA华为HCIA初级混讲班】本课程满足在校及零基础入门想要学习网络的同学,将两大厂商初级认证需要掌握的理论及实验打包一起学习,轻松区分技术应用中的异同……
2022年希望你成为网络工程师行业的又一位技术大牛,不再羡慕别人的薪资和工作,闯出属于自己的一片天地。
测试环境中出现了一个异常业务告警如何处理流程的告警现象:一条告警通过 Thanos Ruler 的 HTTP 接口观察到持续处于 active 状态业务告警如何处理流程,但是从 AlertManager 这边看这条告警为已解决状态。按照 DMP 平台的设计业务告警如何处理流程,告警已解决指的是告警上设置的结束时间已经过了当前时间。一条发送至 AlertManager 的告警为已解决状态有三种可能:1. 手动解决了告警2. 告警只产生了一次,第二次计算告警规则时会发送一个已解决的告警3. AlertManager 接收到的告警会带着一个自动解决时间,如果还没到达自动解决时间,则将该时间重置为 24h 后首先,因为了解到测试环境没有手动解决过异常告警,排除第一条;其次,由于该告警持续处于 active 状态,所以不会是因为告警只产生了一次而接收到已解决状态的告警,排除第二条;最后,告警的告警的产生时间与自动解决时间相差不是 24h,排除第三条。那问题出在什么地方呢?
分析
下面我们开始分析这个问题。综合第一节的描述,初步的猜想是告警在到达 AlertManager 前的某些阶段的处理过程太长,导致告警到达 AlertManager 后就已经过了自动解决时间。我们从分析平台里一条告警的流转过程入手,找出告警在哪个处理阶段耗时过长。首先,一条告警的产生需要两方面的配合:
metric 数据
告警规则
将 metric 数据输入到告警规则进行计算,如果符合条件则产生告警。DMP 平台集成了 Thanos 的相关组件,数据的提供和计算则会分开,数据还是由 Prometheus Server 提供,而告警规则的计算则交由 Thanos Rule(下文简称 Ruler)处理。下图是 Ruler 组件在集群中所处的位置:
看来,想要弄清楚现告警的产生到 AlertManager 之间的过程,需要先弄清除 Ruler 的大致机制。官方文档对 Ruler 的介绍是:You can think of Rule as a simplified Prometheus that does not require a sidecar and does not scrape and do PromQL evaluation (no QueryAPI)。
不难推测,Ruler 应该是在 Prometheus 上封装了一层,并提供一些额外的功能。通过翻阅资料大致了解,Ruler 使用 Prometheus 提供的库计算告警规则,并提供一些额外的功能。下面是 Ruler 中告警流转过程:
请点击输入图片描述
请点击输入图片描述
首先,图中每个告警规则 Rule 都有一个 active queue(下面简称本地队列),用来保存一个告警规则下的活跃告警。
其次,从本地队列中取出告警,发送至 AlertManager 前,会被放入 Thanos Rule Queue(下面简称缓冲队列),该缓冲队列有两个属性:
capacity(默认值为 10000):控制缓冲队列的大小,
maxBatchSize(默认值为 100):控制单次发送到 AlertManager 的最大告警数
了解了上述过程,再通过翻阅 Ruler 源码发现,一条告警在放入缓冲队列前,会为其设置一个默认的自动解决时间(当前时间 + 3m),这里是影响告警自动解决的开始时间,在这以后,有两个阶段可能影响告警的处理:1. 缓冲队列阶段2. 出缓冲队列到 AlertManager 阶段(网络延迟影响)由于测试环境是局域网环境,并且也没在环境上发现网络相关的问题,我们初步排除第二个阶段的影响,下面我们将注意力放在缓冲队列上。通过相关源码发现,告警在缓冲队列中的处理过程大致如下:如果本地队列中存在一条告警,其上次发送之间距离现在超过了 1m(默认值,可修改),则将该告警放入缓冲队列,并从缓冲队列中推送最多 maxBatchSize 个告警发送至 AlertManager。反之,如果所有本地队列中的告警,在最近 1m 内都有发送过,那么就不会推送缓冲队列中的告警。也就是说,如果在一段时间内,产生了大量重复的告警,缓冲队列的推送频率会下降。队列的生产方太多,消费方太少,该队列中的告警就会产生堆积的现象。因此我们不难猜测,问题原因很可能是是缓冲队列推送频率变低的情况下,单次推送的告警数量太少,导致缓冲队列堆积。下面我们通过两个方面验证上述猜想:首先通过日志可以得到队列在大约 20000s 内推送了大约 2000 次,即平均 10s 推送一次。结合缓冲队列的具体属性,一条存在于队列中的告警大约需要 (capacity/maxBatchSize)*10s = 16m,AlertManager 在接收到告警后早已超过了默认的自动解决时间(3m)。其次,Ruler 提供了 3 个 metric 的值来监控缓冲队列的运行情况:
thanos_alert_queue_alerts_dropped_total
thanos_alert_queue_alerts_pushed_total
thanos_alert_queue_alerts_popped_total
通过观察 thanos_alert_queue_alerts_dropped_total 的值,看到存在告警丢失的总数,也能佐证了缓冲队列在某些时刻存在已满的情况。
解决通过以上的分析,我们基本确定了问题的根源:Ruler 组件内置的缓冲队列堆积造成了告警发送的延迟。针对这个问题,我们选择调整队列的 maxBatchSize 值。下面介绍一下这个值如何设置的思路。由于每计算一次告警规则就会尝试推送一次缓冲队列,我们通过估计一个告警数量的最大值,得到 maxBatchSize 可以设置的最小值。假设你的业务系统需要监控的实体数量分别为 x1、x2、x3、...、xn,实体上的告警规则数量分别有 y1、y2、y3、...、yn,那么一次能产生的告警数量最多是(x1 * y2 + x2 * y2 + x3 * y3 + ... + xn * yn),最多推送(y1 + y2 + y3 + ... + yn)次,所以要使缓冲队列不堆积,maxBatchSize 应该满足:maxBatchSize = (x1 * y2 + x2 * y2 + x3 * y3 + ... + xn * yn) / (y1 + y2 + y3 + ... + yn),假设 x = max(x1,x2, ...,xn), 将不等式右边适当放大后为 x,即 maxBatchSize 的最小值为 x。也就是说,可以将 maxBatchSize 设置为系统中数量最大的那一类监控实体,对于 DMP 平台,一般来说是 MySQL 实例。
注意事项
上面的计算过程只是提供一个参考思路,如果最终计算出该值过大,很有可能对 AlertManager 造成压力,因而失去缓冲队列的作用,所以还是需要结合实际情况,具体分析。因为 DMP 将 Ruler 集成到了自己的组件中,所以可以比较方便地对这个值进行修改。如果是依照官方文档的介绍使用的 Ruler 组件,那么需要对源码文件进行定制化修改。
关于业务告警如何处理流程和业务告警如何处理流程图片的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 业务告警如何处理流程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于业务告警如何处理流程图片、业务告警如何处理流程的信息别忘了在本站进行查找喔。发表评论
暂时没有评论,来抢沙发吧~