使用nagios自动发现和监控詹金斯大师



我想要一种方法来自动发现Jenkins主服务器,并自动监控这些詹金斯主服务器上作业的运行状况,这样我就可以查看单个控制台(使用nagios主机)来检测集成中任何作业失败时的问题。

有人能帮我找到使用nagios的Jenkins主服务器吗?

有一个nagios插件用于从Jenkins检索作业健康信息,但看起来它需要为每个作业手动配置,请参阅nagios Jenkins插件。

我对nagios不够熟悉,不知道任何内置的自动发现是如何工作的,但看起来有几个示例脚本(check_find_new_hosts和设备发现)可以从网络扫描中生成必要的配置。您必须做一些工作才能将扫描结果集成到您的nagios实例中。(IIRC,写完新配置后需要重新启动nagios吗?)

要获得Jenkins服务器的列表,您可以在现有的nagios网络扫描脚本的基础上构建。脚本应该扫描IP范围并识别对http://IP:8080/api/xml做出响应的设备。生成的XML文档(也支持JSON结果)应该包含一个名为<hudson>的根标记(在我的例子中,可能在未来的版本中会更改为"jenkins")。如果服务器响应了这个请求,那么您将希望您的脚本生成用于监视它的nagios配置

此外,XML响应将包含作业列表,如:

<job>
<name>My Job</name>
<url>http://jenkins:8080/job/My%20job/</url>
<color>blue</color>
</job>

通过迭代该列表,您可以获得作业名称、作业URL(了解更多详细信息或轮询状态)和当前状态(蓝色表示成功)。这个作业列表可以为Nagios Jenkins插件配置提供输入。

Jenkins Remote API记录在Jenkins实例中,只需转到http://jenkins:8080/api

最新更新