Мониторинг определенных дисковых пространств на узлах Jenkins - PullRequest
0 голосов
/ 13 июня 2018

В настоящее время мастер Jenkins может выполнять «профилактический мониторинг» узлов на странице «/ computer / configure», но можно отслеживать только 2 дисковых пространства:

  • $ JENKINS_HOME
  • Temp Space

Я хотел бы отслеживать другие места на диске.Например, / var / lib / docker (каталог по умолчанию, куда извлекаются все образы докеров) быстро заполняется и вызывает некоторые ошибки на узлах.

Поскольку мы используем плагин EC2 slaves, было бы полезно иметь возможность указать пороговое значение для этого размера пространства, чтобы перевести узел в автономный режим при достижении порогового значения.будет уничтожен, и при необходимости будет запущен другой «здоровый» раб.

Возможно ли в настоящее время добиться этого в Дженкинсе?

Версия: Jenkins ver.2.89.1

Спасибо!

1 Ответ

0 голосов
/ 09 июля 2018

Вы правы, что Дженкинс отслеживает только те каталоги из коробки.Код, обрабатывающий это в hudson.node_monitors.TemporarySpaceMonitor и hudson.node_monitors.DiskSpaceMonitor.

Было бы довольно легко реализовать новый NodeMonitor, который бы принимал список каталогов для просмотра и использовал бы инфраструктуру плагинов Jenkins длявзять узел вниз, если пространство опускается ниже определенного предела.Я мог бы даже представить новый плагин, который бы предлагал серию улучшенных мониторов узлов.В течение долгого времени планировалось извлечь все мониторы узлов в отдельный плагин, но это не было выполнено по разным причинам (подробности см. JENKINS-26466 ).

Я написал такой плагин на https://github.com/jenkinsci/inodes-monitor-plugin, если вы ищете пример использования NodeMonitor API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...