消息队列处理告警(消息队列丢失)

来源网友投稿 791 2023-02-14

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈消息队列处理告警,以及消息队列丢失对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享消息队列处理告警的知识,其中也会对消息队列丢失进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

8个ARP的告警信息如何快速处理?老网工必会,新网工必学

学网络,就在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年希望你成为网络工程师行业的又一位技术大牛,不再羡慕别人的薪资和工作,闯出属于自己的一片天地。

c# 中如何操作消息队列

“消息”是在两台计算机间传送消息队列处理告警的数据单位。消息可以非常简单消息队列处理告警,例如只包含文本字符串消息队列处理告警;也可以更复杂消息队列处理告警,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。 c#中发往消息队列中发送消息 public bool SendMessage(string title, string body) { MessageQueue SmsQueue = new MessageQueue(); try { string mqPath = System.Configuration.ConfigurationSettings.AppSettings["SiteEnvironmentMQPath"];//给基站告警用的(wz的程序) string MQPath = string.Format(@"FormatName:DIRECT=TCP:{0}", mqPath); SmsQueue.MessageReadPropertyFilter.Body = true; SmsQueue.MessageReadPropertyFilter.AppSpecific = true; SmsQueue.MessageReadPropertyFilter.Priority = true; SmsQueue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) }); SmsQueue.Path = MQPath; Message objMsg = new Message(); objMsg.Label = title; objMsg.Body = body; SmsQueue.Send(objMsg); return true; } catch (Exception ex) { return false; } finally { SmsQueue.Close(); } } c# 从消息队列中取消息 public string ReceiveMessage(string mqPath) { string ret = ""; MessageQueue SmsQueue = new MessageQueue(); try { string MQPath = string.Format(@"FormatName:DIRECT=TCP:{0}", mqPath); //string MQPath = System.Configuration.ConfigurationSettings.AppSettings["MQPath"]; SmsQueue.MessageReadPropertyFilter.Body = true; SmsQueue.MessageReadPropertyFilter.AppSpecific = true; SmsQueue.MessageReadPropertyFilter.Priority = true; SmsQueue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) }); SmsQueue.Path = MQPath; Message objMsg = SmsQueue.Receive(); ret = objMsg.Body.ToString(); } catch (Exception ex) { //LogClass.WriteLog("错误", DateTime.Now.ToString(), ex.Message, "从消息队列读取告警数据"); //System.Threading.Thread.Sleep(Convert.ToInt16(System.Configuration.ConfigurationSettings.AppSettings["sleepTime"])); } finally { SmsQueue.Close(); } return ret

什么是消息队列机制

消息队列机制是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。



“消息队列”是 Microsoft 的消息处理技术,它在任何安装 Microsoft Windows 的计算机组合中,为任何应用程序提供消息处理和消息队列功能,无论这些计算机是否在同一个网络上或者是否同时联机。

“消息队列网络”是能够相互间来回发送消息的任何一组计算机。网络中的不同计算机在确保消息顺利处理的过程中扮演不同的角色。它们中有些提供路由信息以确定如何发送消息,有些保存整个网络的重要信息,而有些只是发送和接收消息。

“消息队列”安装期间,管理员确定哪些服务器可以互相通信,并设置特定服务器的特殊角色。构成此“消息队列”网络的计算机称为“站点”,它们之间通过“站点链接”相互连接。每个站点链接都有一个关联的“开销”,它由管理员确定,指示了经过此站点链接传递消息的频率。

到底什么是消息队列?Java中如何实现消息队列

“消息队列”是在消息的传输过程中保存消息的容器。和我们学过的LinkedHashMap,TreeSet等一样,都是容器。既然是容器,就有有自己的特性,就像LinkedHashMap是以键值对存储。存取顺序不变。而消息队列,看到队列就可以知道。这个容器里面的消息是站好队的,一般遵从先进先出原则。

java中已经为我们封装好了很多的消息队列。在java 1.5版本时推出的java.util.concurrent中有很多现成的队列供我们使用。特性繁多,种类齐全。是你居家旅游开发必备QAQ。

下面简单列举这个包中的消息队列

:阻塞队列 BlockingQueue

数组阻塞队列 ArrayBlockingQueue

延迟队列 DelayQueue

链阻塞队列 LinkedBlockingQueue

具有优先级的阻塞队列 PriorityBlockingQueue

同步队列 SynchronousQueue

阻塞双端队列 BlockingDeque

链阻塞双端队列 LinkedBlockingDeque

不同的队列不同的特性决定了队列使用的时机,感兴趣的话你可以详细了解。具体的使用方式我就不赘述了

Redis实现简单消息队列

打开浏览器,输入地址,按下回车,打开了页面。于是一个 HTTP 请求( request )就由客户端发送到服务器,服务器处理请求,返回响应( response )内容。

我们每天都在浏览网页,发送大大小小的请求给服务器。有时候,服务器接到了请求,会发现他也需要给另外的服务器发送请求,或者服务器也需要做另外一些事情,于是最初们发送的请求就被阻塞了,也就是要等待服务器完成其他的事情。

更多的时候,服务器做的额外事情,并不需要客户端等待,这时候就可以把这些额外的事情异步去做。从事异步任务的工具有很多。主要原理还是处理通知消息,针对通知消息通常采取是队列结构。生产和消费消息进行通信和业务实现。

上述异步任务的实现,可以抽象为生产者消费模型。如同一个餐馆,厨师在做饭,吃货在吃饭。如果厨师做了很多,暂时卖不完,厨师就会休息;如果客户很多,厨师马不停蹄的忙碌,客户则需要慢慢等待。实现生产者和消费者的方式用很多,下面使用 Python 标准库 Queue 写个小例子:

大概输出如下:

Python内置了一个好用的队列结构。我们也可以是用redis实现类似的操作。并做一个简单的异步任务。

Redis提供了两种方式来作消息队列。一个是使用 生产者消费模式 模式,另外一个方法就是 发布订阅者模式 。前者会让一个或者多个客户端监听消息队列,一旦消息到达,消费者马上消费,谁先抢到算谁的,如果队列里没有消息,则消费者继续监听。后者也是一个或多个客户端订阅消息频道,只要发布者发布消息,所有订阅者都能收到消息,订阅者都是平等的。

主要使用了redis提供的blpop获取队列数据,如果队列没有数据则阻塞等待,也就是监听。

使用redis的pubsub功能,订阅者订阅频道,发布者发布消息到频道了,频道就是一个消息队列。

我们分别实现了两种异步任务的后端服务,直接启动他们,就能监听redis队列或频道的消息了。简单的测试如下:

启动脚本,使用

可以分别在监听的脚本输入中看到异步消息。在异步的任务中,可以执行一些耗时间的操作,当然目前这些做法并不知道异步的执行结果,如果需要知道异步的执行结果,可以考虑设计协程任务或者使用一些工具如 RQ 或者 celery 等。 关于消息队列处理告警和消息队列丢失的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 消息队列处理告警的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于消息队列丢失、消息队列处理告警的信息别忘了在本站进行查找喔。
上一篇:Info:Memory module [DIMM] needs attention: Single-bit warning error rate exceeded, Single-bit failure error rate exceeded
下一篇:win8.1火狐flash插件奔溃问题解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~