Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-38313

External Build Log storage for Jenkins

    XMLWordPrintable

Details

    • External Build Log storage for Jenkins

    Description

      Jenkins' logging system is one of potential scalability bottlenecks on big Jenkins instances. System logging can be redirected via JUL log appenders (or other such solutions), but there is no OOTB solution for build logs.

      It would be great to have such solution. Top-level requirements:

      • All or almost all build/task logging is moved from Jenkins filesystem to External Build Log Storage
      • Minimize log traffic between Jenkins agents and the master, logs should be reported from slaves directly when it is possible
      • External Build Log Storage has an extensible and pluggable architecture
      • At least 2 reference implementations:
        • File-system-based storage (current implementation)
        • One external build log storage based on the open-source stack. Preference - Elasticsearch-Logstash-Kibana
      • Jenkins Pipeline is supported out of the box
      • Old logs should be browseable after changing the storage engine (Migration or parallel engines)

      Design document:

      Attachments

        Issue Links

          Activity

            oleg_nenashev Oleg Nenashev added a comment -

            This EPIC is in progress again

            oleg_nenashev Oleg Nenashev added a comment - This EPIC is in progress again
            oleg_nenashev Oleg Nenashev added a comment -

            And... it was aborted again for some reasons out of my control...

            oleg_nenashev Oleg Nenashev added a comment - And... it was aborted again for some reasons out of my control...
            oleg_nenashev Oleg Nenashev added a comment -

            I have abandoned all tasks in this EPIC. As stated in https://groups.google.com/d/msg/jenkinsci-dev/uc6NsMoCFQI/AIO4WG1UCwAJ , csanchez and jglick can take over any tasks, PRs and JEPs related to this EPIC

            oleg_nenashev Oleg Nenashev added a comment - I have abandoned all tasks in this EPIC. As stated in https://groups.google.com/d/msg/jenkinsci-dev/uc6NsMoCFQI/AIO4WG1UCwAJ , csanchez and jglick can take over any tasks, PRs and JEPs related to this EPIC
            datadog Datadog HQ added a comment -

            Hi csanchez and jglick, we are wondering about the current status of this EPIC? We are interested in using this logging capability, and we would like to know if this is continued to be supported even in beta?

            datadog Datadog HQ added a comment - Hi  csanchez  and jglick , we are wondering about the current status of this EPIC? We are interested in using this logging capability, and we would like to know if this is continued to be supported even in beta?
            jglick Jesse Glick added a comment -

            datadog nothing is “supported” exactly, but https://plugins.jenkins.io/pipeline-cloudwatch-logs/ continues to work (AFAIK), and JEP-210 is open to other implementations (beta-level API). At a very high level, the main limitations are

            • There is no support for non-Pipeline projects.
            • Pending JENKINS-52165, an implementation needs to turn on a log streaming implementation for sh-like steps which does not otherwise get much testing.
            • Pending API changes to Jenkins core (incl. Stapler) and matching changes in Blue Ocean, in-Jenkins log display for running builds is inefficient. (Uses a byte offset cursor rather than an implementation-defined cursor that could be implemented efficiently.)
            jglick Jesse Glick added a comment - datadog nothing is “supported” exactly, but https://plugins.jenkins.io/pipeline-cloudwatch-logs/ continues to work (AFAIK), and JEP-210 is open to other implementations (beta-level API). At a very high level, the main limitations are There is no support for non-Pipeline projects. Pending JENKINS-52165 , an implementation needs to turn on a log streaming implementation for sh -like steps which does not otherwise get much testing. Pending API changes to Jenkins core (incl. Stapler) and matching changes in Blue Ocean, in-Jenkins log display for running builds is inefficient. (Uses a byte offset cursor rather than an implementation-defined cursor that could be implemented efficiently.)

            People

              Unassigned Unassigned
              oleg_nenashev Oleg Nenashev
              Votes:
              15 Vote for this issue
              Watchers:
              42 Start watching this issue

              Dates

                Created:
                Updated: