Jenkins在Linux系统中的日志文件主要分为两类,默认存储路径如下:
/var/log/jenkins/jenkins.log或$JENKINS_HOME/logs/jenkins.log($JENKINS_HOME通常为/var/lib/jenkins)。$JENKINS_HOME/jobs/[JOB_NAME]/builds/[BUILD_ID]/log路径下。系统日志查看:
登录Jenkins管理界面,点击左侧菜单栏Manage Jenkins → System Log,进入系统日志页面。可选择日志级别(如ALL、INFO、ERROR)或过滤条件,查看服务级别的日志信息。
构建日志查看:
进入目标Job的详情页面,点击左侧Build History(构建历史),选择特定构建编号(如#123),再点击右侧Console Output(控制台输出),即可查看该次构建的详细步骤日志。
查看系统日志:
tail -f命令实时跟踪系统日志的最新内容(需root权限):sudo tail -f /var/log/jenkins/jenkins.log
cat或less命令查看完整日志文件(大文件推荐less,支持翻页):sudo cat /var/log/jenkins/jenkins.log
sudo less /var/log/jenkins/jenkins.log
grep命令过滤特定关键字(如ERROR),快速定位问题:sudo grep "ERROR" /var/log/jenkins/jenkins.log
查看构建日志:
curl命令将构建日志保存到本地文件(替换YOUR_JOB_NAME和lastBuild为实际值):curl http://your-jenkins-server-url/job/YOUR_JOB_NAME/lastBuild/consoleText > build.log
cat命令查看指定构建的日志文件(替换[JOB_NAME]、[BUILD_ID]为实际值):sudo cat $JENKINS_HOME/jobs/[JOB_NAME]/builds/[BUILD_ID]/log
为防止日志文件无限增长占用磁盘空间,可使用logrotate工具进行自动化管理。在/etc/logrotate.d/目录下创建Jenkins专属配置文件(如jenkins),内容如下:
/var/log/jenkins/*.log {
daily # 每天轮转一次
rotate 7 # 保留最近7天的日志
compress # 压缩旧日志(如gzip)
missingok # 若日志文件不存在也不报错
notifempty # 若日志为空则不轮转
create 0644 root adm # 创建新日志文件并设置权限
sharedscripts # 所有日志轮转完成后执行postrotate脚本
postrotate
if [ -f /var/run/jenkins/jenkins.pid ]; then
kill -HUP $(cat /var/run/jenkins/jenkins.pid) # 重启Jenkins服务以重新打开日志文件
fi
endscript
}
此外,可通过Cron作业定期清理旧日志(如每天午夜删除7天前的.log文件):
0 * * * * find /var/log/jenkins/ -type f -name "*.log" -mtime +7 -exec rm -f {} \;
Logstash插件将Jenkins日志发送到Elasticsearch,结合Kibana实现集中化日志分析和可视化(如追踪构建失败趋势)。通过上述方法,可全面覆盖Jenkins在Linux环境下的日志查看、分析与管理工作,有效提升故障排查效率。