目前Jenkins master可以对“/ computer / configure”页面中的节点进行“预防性监控”,但只能监控2个磁盘空间:
我想监控其他磁盘空间。例如,/ var / lib / docker(拖动所有docker镜像的默认目录)很快就会填满,并导致节点出现一些错误。
当我们使用EC2 slaves插件时,能够指定此空间大小的阈值以便在达到阈值时将节点“脱机”将是有用的。然后EC2实例将被销毁并且如果需要,将启动另一个“健康”的奴隶。
目前是否可以在Jenkins中实现这一目标?
版本:Jenkins ver。 2.89.1
谢谢!
答案 0 :(得分:2)
您是对的,Jenkins仅监视开箱即用的那些目录。处理此问题的代码位于hudson.node_monitors.TemporarySpaceMonitor
和hudson.node_monitors.DiskSpaceMonitor
。
实现一个新的NodeMonitor
会很容易,它会接受要查看的目录列表,并且如果空间低于定义的限制,则将使用Jenkins插件框架工具来关闭节点。我什至可以想象一个新的插件将提供一系列增强的节点监视器。很久以来,该计划甚至一直将所有节点监视器都提取到专用插件中,但是由于种种原因并未完成此操作(有关详细信息,请参见JENKINS-26466)。
如果您正在寻找有关如何使用NodeMonitor
API的示例,我在https://github.com/jenkinsci/inodes-monitor-plugin上写了这样的插件。