【问题标题】:How to stop Jenkins log from becoming huge?如何阻止 Jenkins 日志变得庞大?
【发布时间】:2019-12-17 00:41:44
【问题描述】:

最近我的 jenkins.log 开始变得非常大,非常快,充满了关于 DNS 解析的异常。我尝试使用 logrotate,但是日志文件增长太快,甚至无法旋转,并且占用了我所有的磁盘空间,这导致各种服务因无法再写入文件而失败。

如何避免这种情况?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    您可以通过调整 Jenkins 中的日志记录设置来禁用这些 DNS 错误的日志记录。

    从 Jenkins Web 界面转到:

     Manage Jenkins -> System Log -> Log Levels (on the left)
    

    添加以下条目:

    Name: javax.jmdns
    
    Level: off
    

    这样您可以保留多播 DNS 功能,但不需要所有日志记录数据。

    【讨论】:

    • 知道如何在更新 Jenkins 时保留此设置吗?
    • @Siecje 您可以尝试使用“logging.properties”文件来配置日志记录,就像在这个答案中所做的那样:stackoverflow.com/a/6307666/2286664
    【解决方案2】:

    这似乎是由于 DNS 多播造成的,如下所述:https://issues.jenkins-ci.org/browse/JENKINS-25369

    解决方法:将-Dhudson.DNSMultiCast.disabled=true 添加到JAVA_ARGS

    PS:我在 Stack Overflow 上回答我自己的问题,因为我无法在 Google 上轻松找到答案,这对运行 Jenkins 的其他人会很有用。

    【讨论】:

    【解决方案3】:

    修改 /etc/default/jenkins 中的 JAVA_ARGS(至少是 Debian / Ubuntu 安装的位置)以禁用 DNS 多播功能。

    改变这个:JAVA_ARGS="-Djava.awt.headless=true"

    对此:JAVA_ARGS="-Djava.awt.headless=true -Dhudson.DNSMultiCast.disabled=true"

    并重启服务service jenkins restart

    【讨论】:

      【解决方案4】:

      您可以使用 Jenkins 主文件夹中的 init.groovy 文件插入 Jenkins 初始化,并使用它永久更改日志记录级别。即使 Jenkins 重新启动,这些更改也会保留。 文件有一个简单的内容:

      import java.util.logging.Level
      import java.util.logging.Logger
      
      Logger.getLogger("").setLevel(Level.SEVERE)
      Logger.getLogger("org.apache.sshd").setLevel(Level.SEVERE)
      Logger.getLogger("winstone").setLevel(Level.SEVERE)
      

      您可以更改记录器的名称和级别,使其适合您的需要。详情请见my article on this topic

      【讨论】:

        【解决方案5】:

        对于使用 Centos/Redhat 的用户,可以在 /etc/sysconfig/jenkins 中找到禁用 DNS 多播功能的选项

        JENKINS_JAVA_OPTIONS="-Dhudson.DNSMultiCast.disabled=true -Dhudson.udp=-1 -Djava.awt.headless=true"
        

        【讨论】:

          【解决方案6】:

          就我而言,每当通过用户界面拒绝登录尝试时,我都会收到日志条目。

          用户身份验证是通过 LDAP 完成的,并且提供的用户/密码元组是正确的。一段时间后,登录尝试开始工作。

          用户是否可能因为启用了 DNS 多播功能而被拒绝?

          【讨论】:

          • 这是一个答案吗?好像是另一个问题。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-01-29
          • 1970-01-01
          • 2017-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多