开发者社区> 问答> 正文

配置两个manager,收到重复告警

如题,在两个节点分别部署了1个manager实例,node通过域名和manager通信。

但是经常会出现收到两封相同的邮件,从两个节点的manager发出来的。

这个otter没控制吗?

原提问者Github用户 linqh1

展开
收起
云上静思 2023-06-14 23:35:05 66 0
5 条回答
写回答
取消 提交回答
  • manager默认会开启自身监控,也就是通过jvm,这样2个manager其实就会触发2次监控。 这个配置在manager的配置中大概有个monitor.self什么的配置

    所以其实对于多manager就不适合用这个通过JVM自身调度的方式了,otter还提供了通过外部定时任务调用的方式,通过MonitorTrigger类暴露的一个服务,访问 http://xxxx/monitor/monitor_trigger.htm?token=otter即可触发(GlobalMonitor)

    这样就依赖于外部来配置定时任务。不过我觉得只保留1个manager的jvm监控也是可以的,其他的关了就行

    原回答者Github用户 theskyzero

    2023-06-16 15:20:30
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    Otter的邮件通知功能是基于事件触发的,当一个事件发生时,Otter会向所有订阅该事件的邮箱发送邮件通知。因此,如果你在两个节点上都部署了Otter Manager,并且在两个Manager上都订阅了同一个事件,那么当该事件发生时,两个Manager都会向订阅者发送邮件通知,从而导致订阅者收到重复的邮件。

    为了避免这种情况,你可以在其中一个Manager上取消订阅该事件,或者在其中一个Manager上禁用邮件通知功能。这样,当事件发生时,只有一个Manager会向订阅者发送邮件通知,避免了重复发送邮件的问题。

    另外,你也可以在Otter Manager的配置文件中设置邮件通知参数,例如邮件发送间隔、邮件发送策略等,以进一步控制邮件通知的行为。具体来说,你可以在otter.properties文件中修改以下配置项来设置邮件通知参数:

    邮件发送间隔,单位为秒,默认为60秒

    otter.notify.mail.interval=60

    邮件发送策略,可选值为all或failure,默认为failure

    otter.notify.mail.policy=failure 在默认情况下,Otter只会在任务执行失败时发送邮件通知。你可以通过修改otter.notify.mail.policy配置项来改变邮件发送策略,例如设置为all时,Otter会在任务执行成功和失败时都发送邮件通知。同时,你也可以通过修改otter.notify.mail.interval配置项来调整邮件发送间隔,避免邮件发送过于频繁。

    2023-06-15 16:49:50
    赞同 展开评论 打赏
  • 遇到收到重复告警的情况,建议您先对 Otter 的告警配置进行检查,确保多个 Manager 实例都在使用相同的告警配置。可以进入 Otter 控制台 -> 资源管理 -> 全局告警设置,查看已配置的告警规则是否存在重复配置或配置错误等情况。

    如果告警配置都正确,而仍然收到重复告警,那么可能是 Manager 节点之间的消息通信问题引起的。您可以通过以下方式检查和解决这个问题:

    1. 检查 Manager 节点之间的网络连接是否可靠,是否存在丢包、延迟等问题。

    2. 调整 Otter 中 Manager 的负载均衡策略,避免收到重复消息。具体可以进入 Otter 控制台 -> 管理中心 -> 集群信息,在 Manager 节点中调整负载均衡策略,比如将负载均衡策略设置为“轮询”或“随机”。

    3. 采用锁机制确保同一任务只会由一个 Manager 实例执行。您可以在 Otter 控制台 -> 管理中心 -> 集群信息中,打开“单节点执行模式”开关,让集群中的所有任务都只由一个 Manager 实例执行。

    2023-06-15 08:40:49
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    Otter的告警系统在多个Manager节点上重复发送告警信息导致的。具体来说,当Otter在多个Manager节点上运行时,它可能会在多个节点上发送相同的告警信息,从而导致您收到重复的告警。

    为了解决这个问题,您可以尝试以下方法:

    检查告警配置:请检查您的Otter告警配置,确保它已正确设置,并且可以正确处理多个Manager节点。您可以尝试重新配置告警系统,以确保它已正确设置。

    检查Manager节点状态:请检查您的Manager节点状态,确保它们都已正确启动并且可以正常运行。如果Manager节点在运行时出现问题或错误,可能会导致告警系统出现错误或重复发送告警信息。

    检查邮件服务配置:请检查您的邮件服务配置,确保它已正确设置,并且可以正确处理多个Manager节点。您可以尝试重新配置邮件服务,以确保它已正确设置。

    尝试使用单个Manager节点:如果您仅需要一个Manager节点来管理Otter管道,请尝试使用单个Manager节点。这可以避免多个Manager节点上的告警系统出现问题。

    -

    看到很多问题,
    很多人,只简单的写一句话“怎么安装sd插件?”
    诸如此类,没有前因后果,没有任何描述。
    
    这真的得是一个合理的问题吗?
    
    -好的提问是得到高质量答案的关键。以下是一些建议,可以帮助你提出更好的问题,以获得更好的解答和帮助:
    描述问题:在提问时,请尽可能清晰地描述你的问题。说明你遇到的具体问题、你想要实现的目标、你已经尝试过的解决方案等。清晰的问题描述有助于其他人更好地理解你的问题,并提供更好的帮助。

    提供上下文:在提问时,请提供有关你的环境、技术栈、操作系统、编程语言等方面的上下文信息。这有助于其他人更好地理解你的问题,并提供更有针对性的帮助。

    说明错误信息:如果你遇到了错误信息,请在提问中包括它们。这有助于其他人更好地理解你的问题,并提供更好的解答和帮助。同时,你也可以尝试在搜索引擎上搜索这些错误信息,以获得更多的解决方案。

    尝试解决问题:在提问之前,请尝试自己解决问题。你可以在搜索引擎、技术论坛、社区等地方寻找相关信息和解决方案。这有助于你更好地理解问题,并提供更具体的问题描述和上下文信息。

    尊重他人:在提问时,请尊重他人的时间和精力。请使用礼貌和明确的语言提出问题,并尽可能简洁明了。这有助于其他人更好地理解你的问题,并提供更好的帮助。

    总之,好的提问是得到高质量答案的关键。
    -
    以下是一些提示,可以帮助你清楚地描述问题:
    
    描述问题的背景:在描述问题之前,先简要介绍一下问题的背景和相关信息。例如,你所使用的软件或系统的名称和版本,你所遇到的错误信息等等。这有助于其他人更好地了解你的问题。
    
    描述问题的具体表现:尽可能清晰地描述问题的具体表现。例如,你所遇到的错误信息、软件或系统的行为异常等等。这有助于其他人更好地理解你的问题。
    
    重现问题:尝试重现问题并记录下你的步骤。这有助于其他人更好地理解你的问题并提供更好的解决方案。
    
    提供相关代码或文件:如果你遇到了编程问题,请提供相关的代码片段或文件。这有助于其他人更好地理解你的问题并提供更好的解决方案。
    
    描述所期望的结果:请描述你所期望的结果或解决方案。这有助于其他人更好地了解你的需求并提供更好的解决方案。
    
    使用清晰的语言:请使用清晰、简明的语言描述问题。尽量避免使用专业术语或未经解释的缩写。这有助于其他人更好地理解你的问题。
    -
    
    解决技术问题时有用的步骤:
    
    确认问题:首先,确认你所面对的问题是真实存在的。确保你已经理解了问题的具体表现,以及导致问题的可能原因。
    
    搜索解决方案:使用搜索引擎或相关技术社区的搜索功能,寻找与你所面对的问题相关的解决方案。尝试参考其他人遇到的类似问题以及相关的解决方案。在搜索时,要尽量使用相关的关键词,以便找到最相关的结果。
    
    询问他人:如果你无法找到解决方案,可以尝试向其他技术人员寻求帮助。你可以在技术社区或者论坛上发帖询问,或者向你所在的公司或团队中的其他成员寻求帮助。在询问他人时,要尽可能清晰地描述你所面对的问题,并提供相关的信息和代码。
    
    尝试解决方案:根据你所找到的解决方案或其他人提供的建议,尝试解决问题。在尝试解决方案时,要仔细阅读文档或其他资料,确保你已经理解了解决方案的原理和步骤。如果你遇到了困难,可以尝试重新阅读文档或寻求他人的帮助。
    
    整理解决方案:如果你找到了解决方案,可以将其整理成文档或笔记,以便在今后遇到类似问题时能够更快地解决。在整理解决方案时,要尽可能详细地记录问题的表现、原因和解决步骤。
    
    [如何正确的提问,获得最有效的回答帮助?](https://developer.aliyun.com/article/1246250?spm=a2c6h.13148508.setting.16.104c4f0ehFRPvn)
    [MPaaS(Mobile PaaS)](https://developer.aliyun.com/article/1249953)
    
    2023-06-15 08:06:17
    赞同 展开评论 打赏
  • 由于你在两个节点上都部署了1个manager实例,而node通过域名和manager通信,因此可能会出现数据在两个manager实例之间重复发送的情况。这是因为,每个manager实例都会接收到node发送的数据,并将其发送给另一个manager实例,导致数据重复。

    为了解决这个问题,你可以考虑在部署manager实例时,将其配置为集群模式,以确保只有一个manager实例接收到node发送的数据,从而避免数据重复。具体的配置方法可以参考Otter官方文档。

    另外,你也可以在node端配置负载均衡,将数据发送到可用的manager实例上,从而避免数据重复。

    2023-06-15 08:05:36
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载