About
The Jenkins OpenTelemetry plugin 2.0.0 and later can send Pipeline build logs over OTLP. Point the plugin at your Sazabi intake URL and the controller and agents send each Pipeline step’s log lines to Sazabi as the build runs, together with the trace the plugin records for every build. NoJenkinsfile changes are needed.
Metrics are not stored by this source. Setup turns off the plugin’s metrics export; use OpenTelemetry Metrics if you want Jenkins metrics.
Prerequisites
- A Jenkins controller you administer, with the OpenTelemetry plugin 2.0.0 or later installed
- Outbound HTTPS to your Sazabi intake host from the controller and from every agent. Agents send the log lines of the steps they run themselves.
- Your Sazabi intake URL, shown above — open the log source and copy the Intake URL from its setup screen (the public key is embedded in the URL)
Set up in the dashboard
Both options set the same plugin settings. The configuration properties do four things:otel.exporter.otlp.protocol=http/protobuf— required. The plugin defaults to gRPC, which Sazabi’s intake does not accept.otel.logs.exporter=otlp— turns on Pipeline build log export.otel.logs.mirror_to_disk=true— keeps each build log on disk too, so the Jenkins console still shows it.otel.metrics.exporter=none— turns off the plugin’s Jenkins health metrics, which this source doesn’t store.
1
Configure the OpenTelemetry plugin
- Jenkins UI
- Configuration as Code (JCasC)
Open Manage Jenkins > System (Configure System on older Jenkins) and scroll to the OpenTelemetry section.
- Paste your intake URL into OTLP Endpoint, with no path.
- Set Authentication to No Authentication. The public key is in the URL’s hostname.
-
Click Advanced and paste this into Configuration properties:
- Click Save.
2
Open the network path from agents
Pipeline steps that run on an agent send their log lines from that agent, not through the controller. Allow outbound HTTPS to your intake host from every agent pool, including ephemeral Kubernetes or cloud agents.3
Hand off the change
If your Jenkins configuration is version-controlled (JCasC YAML, Helm values), commit it on a new branch, push it, and open a pull request. Otherwise apply it directly on the controller.Set up with the CLI
You can also register the Jenkins log source with the Sazabi CLI (installed and authenticated — see CLI reference). Registering the source mints the same intake URL the dashboard shows above (the public key is embedded in its hostname):sazabi log-sources get <log-source-id> at any time to reprint the endpoint, or sazabi log-sources list to see every log source in the project.
Verify
Run any Pipeline job, ideally one with a step on an agent. Open the Intake page in the Sazabi dashboard and confirm records from the Jenkins source appear within a minute or two.Troubleshooting
Traces arrive but no build logs — The plugin is older than 2.0.0,otel.logs.exporter=otlp is missing, or the job is a Freestyle or Matrix job.
Steps on the controller log, steps on agents don’t — The agents can’t reach your intake host. Open outbound HTTPS from the agent network.
Nothing arrives — Check the Jenkins log for export errors. The protocol must be http/protobuf, and the endpoint must be the full intake URL starting with https://, with no path. The Noteworthy active configuration properties row under Advanced shows the settings the plugin actually applied.
The Jenkins console shows no log for new builds — Add otel.logs.mirror_to_disk=true to the configuration properties.
Further reading
Intake
See per-source ingestion volume and health.
Log sources
Browse the full log source catalog.