在 Jenkins 中实现日志收集,通常可以从 Jenkins 自身日志、Job 构建日志、节点日志、以及集中化收集 几个层面来做。下面按常见方案由浅入深说明。
示例:
hudson.model → 构建相关org.jenkinsci → 插件相关$JENKINS_HOME/jobs/<job>/builds/<build>/log
适合:
在 Pipeline 中:
post {
always {
archiveArtifacts artifacts: '**/build.log', allowEmptyArchive: true
}
}
或:
post {
always {
junit '**/test-*.xml'
}
}
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'make > build.log 2>&1'
}
}
}
post {
always {
archiveArtifacts 'build.log'
}
}
}
Jenkins
↓ (filebeat / fluentd)
Elasticsearch
↓
Kibana
$JENKINS_HOME/logs/*.logjobs/*/builds/*/logfilebeat.inputs:
- type: log
paths:
- /var/lib/jenkins/jobs/*/builds/*/log
output.elasticsearch:
hosts: ["http://es:9200"]
适合:
示例(Splunk):
Manage Jenkins → Configure System → Splunk
Agent 日志位置:
$AGENT_HOME/agent.log
建议:
✅ 推荐方案
✅ 关键点
job, build, node 标签$JENKINS_HOME如果你愿意,我可以:
你现在的 Jenkins 是 单机 / K8s / Docker?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。