The logstash plugin can forward logs to for both pipeline and freestyle to elastic search and others. But it doesn't support to read the logs from there to display in Jenkins, what it forwards is rather heavy weight and for pipeline jobs not the complete output is transferred (all the output from the pipeline core not coming from a step itself is missing, like the first lines with what caused the build and the final line with the result)
There is an implementation for what you want to do at https://github.com/SAP/elasticsearch-logs-plugin (inspired by the cloudwatch logs plugin) This plugin was mainly implemented to forward the logs of a JenkinsFileRunner from inside a short living Kubernetes pod so it is available outside. It is partially generic as it has an extension point (similar to logstash plugin) and we implemented also forwarding to fluentd (that will then forward to Elastic Search, this has proven to be more robust in our scenario). It can also read from ES, but performance is rather bad here. Also some plugins still rely on the log being available in the file system, so we decided to have both though this meant to copy code from the pipeline plugins. It can also forward logs of Freestyle jobs. The plugin also provides eventing for pipeline steps and transfers much less data than the logstash plugin. Am 10.05.2021 um 18:43 schrieb Oleg Nenashev:
Yes, JEP-207 was abandoned after, ehm some reorg at my company. Great to see my former teammates commenting in this thread :D JEP-207 was indeed abandoned, but there were pull requests submitted to the Jenkins core and reference implementations (see the JEP for links). We had some disagreements with Jesse on APIs, especially w.r.t splitting the Log Storage and the Log Browser extensions (I needed it for Logstash/ELK where there might be multiple browsing implementations). But overall the API work was ready for merge with @Beta annotations IMHO. Same goes to External Log Storage API plugin. Note that JEP-207 was designed not only for AbstractProject-alike jobs, but it also added foundations for external Task Logs which is also a good use-case for centralized log systems. The work could be definitely finished. As Jesse said, the most complicated part would be ensuring JEP-207 and JEP-210 interoperability without performance loss. Also there would be a major merge conflict if we recover the old PR I'd guess. If somebody is interested, I am interested to participate as much as my time allows. Spoiler alert: not so much On Monday, May 10, 2021 at 5:36:34 PM UTC+2 Jesse Glick wrote: On Mon, May 10, 2021 at 11:11 AM kuisathaverat <kuisat...@gmail.com> wrote: it [is] only for pipelines so I have taken a look at JEP-207: External Build Logging support in the Jenkins Core <https://github.com/jenkinsci/jep/blob/master/jep/207/README.adoc> but it seems abandoned Yes. Something like that could be resurrected if there is a need, with https://javadoc.jenkins.io/plugin/workflow-api/org/jenkinsci/plugins/workflow/log/package-summary.html <https://javadoc.jenkins.io/plugin/workflow-api/org/jenkinsci/plugins/workflow/log/package-summary.html> reworked to use the core API (there are still some Pipeline-specific aspects such as step delineation). I am personally less interested in supporting non-Pipeline builds as in addressing the key architectural limitation of current JEP-210 implementations, which is that Stapler and thus core classes involved in log handling use `long` as a cursor rather than an opaque token, making it impossible to offer high-performance log rendering inside Jenkins (“classic”, Blue Ocean, etc.) particularly for running builds. what isthe best approach to implement a distributed log system for FreeStyle jobs (and others), a ConsoleLogFilter? Several longstanding plugins are able to /mirror/ (non-Pipeline) log output to external systems. Without something like JEP-207 you cannot have the external system be the source of truth: Jenkins will continue streaming the log to a local file, and reading it from there. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscr...@googlegroups.com <mailto:jenkinsci-dev+unsubscr...@googlegroups.com>. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/453bf8e6-30b9-43ce-90c2-b4f4dc7d7f78n%40googlegroups.com <https://groups.google.com/d/msgid/jenkinsci-dev/453bf8e6-30b9-43ce-90c2-b4f4dc7d7f78n%40googlegroups.com?utm_medium=email&utm_source=footer>.
-- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/0303e567-2f47-bbc5-d750-8abe27bd0e1b%40gmx.de.