CentOS 上 Jenkins 日志管理实践
一 查看与定位日志
sudo tail -f /var/log/jenkins/jenkins.loggrep "ERROR" /var/log/jenkins/jenkins.logjournalctl -u jenkins -bjournalctl -u jenkins -f二 日志轮转与清理
sudo vim /etc/logrotate.d/jenkins/var/log/jenkins/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0644 jenkins jenkins
sharedscripts
postrotate
if [ -f /var/run/jenkins/jenkins.pid ]; then
kill -HUP $(cat /var/run/jenkins/jenkins.pid)
fi
endscript
}
create 后的属主/属组应与运行 Jenkins 的用户一致(常见为 jenkins:jenkins)。kill -HUP 触发 Jenkins 重新打开日志文件句柄,避免日志句柄指向已轮转的旧文件。sudo logrotate -d /etc/logrotate.d/jenkins(干跑),sudo logrotate -f /etc/logrotate.d/jenkins(强制执行)。0 0 * * * find /var/log/jenkins/ -type f -name "*.gz" -mtime +7 -delete三 日志级别与插件日志
hudson.model, jenkins.security, 或具体插件包名),便于定位插件相关问题而不影响全局日志量。四 集中化与监控告警
五 常见问题与排查要点
postrotate 时请与实际一致。StandardOutput/StandardError 将输出追加到文件,再由 logrotate 管理。find ... -delete 对同一文件集操作,以免误删或竞争条件。