监视Jenkins节点上的特定磁盘空间

时间:2018-06-13 15:13:20

标签: jenkins

目前Jenkins master可以对“/ computer / configure”页面中的节点进行“预防性监控”,但只能监控2个磁盘空间:

  • $ JENKINS_HOME
  • 临时空间

我想监控其他磁盘空间。例如,/ var / lib / docker(拖动所有docker镜像的默认目录)很快就会填满,并导致节点出现一些错误。

当我们使用EC2 slaves插件时,能够指定此空间大小的阈值以便在达到阈值时将节点“脱机”将是有用的。然后EC2实例将被销毁并且如果需要,将启动另一个“健康”的奴隶。

目前是否可以在Jenkins中实现这一目标?

版本:Jenkins ver。 2.89.1

谢谢!

1 个答案:

答案 0 :(得分:2)

您是对的,Jenkins仅监视开箱即用的那些目录。处理此问题的代码位于hudson.node_monitors.TemporarySpaceMonitorhudson.node_monitors.DiskSpaceMonitor

实现一个新的NodeMonitor会很容易,它会接受要查看的目录列表,并且如果空间低于定义的限制,则将使用Jenkins插件框架工具来关闭节点。我什至可以想象一个新的插件将提供一系列增强的节点监视器。很久以来,该计划甚至一直将所有节点监视器都提取到专用插件中,但是由于种种原因并未完成此操作(有关详细信息,请参见JENKINS-26466)。

如果您正在寻找有关如何使用NodeMonitor API的示例,我在https://github.com/jenkinsci/inodes-monitor-plugin上写了这样的插件。