Наш проект отвечает за миграцию данных из одной системы в другую. Мы собираемся запустить сценарии преобразования, проверки и миграции с помощью Jenkins.
Мне непонятно, как агрегировать логи из нескольких Jobs или Pipelines в Jenkins. Как это можно сделать?
Мы будем в значительной степени полагаться на журналы для выявления любых проблем, обнаруженных во время проверки и т. д.
Что касается нашей запланированной установки, у нас будут экземпляры AWS EC2 + мы можем использовать Datadog (наша компания использует его). Можем ли мы использовать Datadog для этой цели?
Вы можете сослаться на этот документ, чтобы найти путь ведения журнала по умолчанию для Jenkins в зависимости от вашей ОС. (Для Linux это /var/log/jenkins/jenkins.log
, если вы не настроите его на что-то другое.
Затем, если ваш Агент Datadog имеет версию 6+, вы можете использовать агент Datadog для отслеживания файла jenkins.log, следуя этот документ.
В частности, вы бы добавили эту строку в свой dadatod.yaml
:
logs_enabled: true
и добавьте этот контент в любой старый файл conf.yaml
, вложенный в ваш каталог conf.d/
, например conf.d/jenkins.d/conf.yaml
:
logs:
- type: file
path: /var/log/jenkins/jenkins.log
service: jenkins
source: jenkins
Затем агент будет отслеживать ваш файл журнала по мере его записи и перенаправлять его в вашу учетную запись Datadog, чтобы вы могли запрашивать, отображать и отслеживать данные журнала там.
Когда у вас появятся журналы, вы можете написать конвейер обработки, чтобы получить анализ критических атрибутов, но это будет материалом для нового вопроса :).
Мы используем Logstash для чего-то подобного. Просто мои 2 цента.