monitoring - 通过 ITRS Geneos 进行 Rundeck 监控
问题描述
在 Rundeck 设置了各种工作。想要使用 ITRS Geneos 进行监控。我们尝试使用execution 和scheduled_execution 表编写查询,但是scheduled_execution 在调度方面有很多差异,例如它也可以有1-5 个,而MON-FRI 也可以用于相同的调度,这使得它变得困难。
我们要监控的内容: 1. 是否有任何失败的执行 2. 是否有任何作业的运行时间超过其平均执行时间 3. 作业的运行时间是否超过其预定时间,即作业是否计划每 5 分钟运行一次 -如果它运行超过 5 分钟,我们应该收到警报。
请注意 - 我知道我们可以直接通过 rundeck 使用电子邮件警报来执行此操作,但希望使用 ITRS Geneos,因此寻找一些可能有帮助的查询或 API 参考。
请建议是否有任何解决方案。谢谢。
解决方案
为了获取您需要的信息,有几个替代默认电子邮件通知的方法。
您可以在作业定义中设置Webhook 通知,这会将数据 POST 到 webhook URL。
您可以查询 Rundeck 的 API 以收集基于特定或所有项目的信息,或者查询特定执行以将查询结果缩小到特定作业。上市执行将提供以下信息,您可以将其用于您需要的监控目的:
[status] 执行失败 [date-started] 和 [date-ended] 执行。此外,如果已知,相关作业的平均持续时间将被指示为(以毫秒为单位)平均持续时间。
或者,您可以获取有关执行状态的详细信息,这将提供有关执行的总体信息,例如开始和结束时间以及当前状态,以及更详细的节点/工作流程步骤级别的信息作为奖励。
通过 API 收集的上述信息也可以通过RD CLI收集。
此外,还可以开发创建通知插件(在 java 或 groovy 中)以用于作业定义,可以在以下情况下触发:
onstart - 作业开始 onsuccess - 作业完成且没有错误 onfailure - 作业失败或中止 onavgduration - 执行超过作业的平均持续时间 onretryablefailure - 作业失败但将重试
这是向 ITRS 或其他监控工具提供信息的绝佳选择,而不是直接查询 API/RD CLI 以获取信息。
希望这可以帮助!
推荐阅读
- c# - unity C# tcpclient stream.Read StartCoroutine 问题
- php - Laravel 获取多个修改后的属性
- javascript - 按下选项卡按钮时触发 CellEdit 事件
- sql - 插入表并在 SQL 中拆分字符串
- javascript - 哪个是从对象中获取数组差异的最佳方法?
- javascript - 具有键值对的 Javascript 对象,如何将每个对分隔为单独的对象?
- javascript - 为什么 Blob 构造函数只将数组作为第一个参数?
- rest - 如何让 Jhipster 网关 REST 请求微服务?
- java - Mpj Bsend ByteBuffer 。缓冲区错误中没有剩余空间
- c++ - 如何设置 QComboBox 按钮的背景颜色?