You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

ETL自动化Jenkins服务异常停止,如何查看历史系统日志?

Jenkins历史日志查看方法&默认路径指南

嘿,刚好之前碰到过类似的Jenkins服务异常停止+日志找不到的问题,给你梳理下解决方案:

一、先搞清楚Jenkins日志存在哪?

不同部署环境的默认路径不一样,给你列几个最常见的:

  • Linux/Unix服务器:默认日志文件在 /var/log/jenkins/jenkins.log。如果是直接用war包启动的Jenkins,日志会直接输出到启动的终端窗口,你可以通过命令重定向到文件保存,比如 java -jar jenkins.war > jenkins.log 2>&1
  • Windows系统:如果是作为Windows服务安装的,日志在 C:\Program Files\Jenkins\logs\jenkins.log;要是直接跑war包,日志就打在命令提示符里,同样可以重定向到本地文件
  • Docker部署:实时日志可以用 docker logs <你的Jenkins容器ID/名称> 查看,容器内部的日志文件路径也是 /var/log/jenkins/jenkins.log,要是想持久化保存日志,记得把宿主机目录挂载到这个路径上

二、怎么看过往日期的历史日志?

Jenkins默认的日志策略一般只保留当前的日志(或者少量滚动日志文件),要找历史日志可以这么操作:

  1. 检查日志目录下的滚动文件:多数系统里Jenkins会用日志滚动工具(比如Linux的logrotate,Windows服务自带的日志滚动),在日志存储目录下,你会看到类似 jenkins.log.1jenkins.log.2.gz 这类带后缀的文件,这些就是历史日志。Linux下可以用 cat jenkins.log.1 或者 zcat jenkins.log.2.gz(压缩文件用这个)查看,Windows直接用记事本打开就行
  2. 调整日志保留策略:如果默认的保留天数不够,你可以修改配置来存更久的日志:
    • Linux系统:编辑 /etc/logrotate.d/jenkins 文件,找到 rotate 参数,比如改成rotate 30就会保留30天的日志,保存后logrotate会自动按这个配置执行
    • 用war包启动的话,可以通过JVM参数指定日志滚动规则,比如先创建一个logging.properties配置文件,然后启动命令改成 java -Djava.util.logging.config.file=logging.properties -jar jenkins.war,在配置文件里设置日志的滚动数量和大小
  3. 借助插件扩展日志功能:如果需要在Jenkins网页端查看历史日志,可以安装Log Recorder插件,它可以帮你自定义采集特定类别的日志,并且保留历史记录,不过这个更适合针对性的日志追踪,不是全量的系统日志

另外,排查服务意外停止的原因,除了Jenkins自身的日志,别忘了看系统层面的日志:Linux可以查 /var/log/messages/var/log/syslog,Windows打开事件查看器看系统日志和应用程序日志,这些地方可能会记录进程终止的真实原因(比如内存溢出、系统重启、权限不足之类的)

内容的提问来源于stack exchange,提问作者Bommu

火山引擎 最新活动