Jenkins and OpenObserve Integration
Powerful performance with an easy integration, powered by Telegraf, the open source data connector built by InfluxData.
5B+
Telegraf downloads
#1
Time series database
Source: DB Engines
1B+
Downloads of InfluxDB
2,800+
Contributors
Table of Contents
Powerful Performance, Limitless Scale
Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.
See Ways to Get Started
Input and output integration overview
The Jenkins plugin collects vital information regarding jobs and nodes from a Jenkins instance through its API, facilitating comprehensive monitoring and analysis.
This configuration pairs Telegraf’s HTTP output with OpenObserve’s native JSON ingestion API, turning any Telegraf agent into a first-class OpenObserve collector.
Integration details
Jenkins
The Jenkins Telegraf plugin allows users to gather metrics from a Jenkins instance without needing to install any additional plugins on Jenkins itself. By utilizing the Jenkins API, the plugin retrieves information about nodes and jobs running in the Jenkins environment. This integration provides a comprehensive overview of the Jenkins infrastructure, including real-time metrics that can be used for monitoring and analysis. Key features include configurable filters for job and node selection, optional TLS security settings, and the ability to manage request timeouts and connection limits effectively. This makes it an essential tool for teams that rely on Jenkins for continuous integration and delivery, ensuring they have the insights they need to maintain optimal performance and reliability.
OpenObserve
OpenObserve is an open source observability platform written in Rust that stores data cost-effectively on object storage or local disk. It exposes REST endpoints such as /api/{org}/ingest/metrics/_json
that accept batched metric documents conforming to a concise JSON schema, making it an attractive drop-in replacement for Loki or Elasticsearch stacks. The Telegraf HTTP output plugin streams metrics to arbitrary HTTP targets; when the "data_format = "json"" serializer is selected, Telegraf batches its metric objects into a payload that matches OpenObserve’s ingestion contract. The plugin supports configurable batch size, custom headers, TLS, and compression, allowing operators to authenticate with Basic or Bearer tokens and to enforce back-pressure without additional collectors. By reusing existing Telegraf agents already collecting system, application, or SNMP data, organizations can funnel rich telemetry into OpenObserve dashboards and SQL-like analytics with minimal overhead, enabling unified observability, long-term retention, and real-time alerting without vendor lock-in.
Configuration
Jenkins
[[inputs.jenkins]]
## The Jenkins URL in the format "schema://host:port"
url = "http://my-jenkins-instance:8080"
# username = "admin"
# password = "admin"
## Set response_timeout
response_timeout = "5s"
## Optional TLS Config
# tls_ca = "/etc/telegraf/ca.pem"
# tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem"
## Use SSL but skip chain & host verification
# insecure_skip_verify = false
## Optional Max Job Build Age filter
## Default 1 hour, ignore builds older than max_build_age
# max_build_age = "1h"
## Optional Sub Job Depth filter
## Jenkins can have unlimited layer of sub jobs
## This config will limit the layers of pulling, default value 0 means
## unlimited pulling until no more sub jobs
# max_subjob_depth = 0
## Optional Sub Job Per Layer
## In workflow-multibranch-plugin, each branch will be created as a sub job.
## This config will limit to call only the lasted branches in each layer,
## empty will use default value 10
# max_subjob_per_layer = 10
## Jobs to include or exclude from gathering
## When using both lists, job_exclude has priority.
## Wildcards are supported: [ "jobA/*", "jobB/subjob1/*"]
# job_include = [ "*" ]
# job_exclude = [ ]
## Nodes to include or exclude from gathering
## When using both lists, node_exclude has priority.
# node_include = [ "*" ]
# node_exclude = [ ]
## Worker pool for jenkins plugin only
## Empty this field will use default value 5
# max_connections = 5
## When set to true will add node labels as a comma-separated tag. If none,
## are found, then a tag with the value of 'none' is used. Finally, if a
## label contains a comma it is replaced with an underscore.
# node_labels_as_tag = false
OpenObserve
[[outputs.http]]
## OpenObserve JSON metrics ingestion endpoint
url = "https://api.openobserve.ai/api/default/ingest/metrics/_json"
## Use POST to push batches
method = "POST"
## Basic auth header (base64 encoded "username:password")
headers = { Authorization = "Basic dXNlcjpwYXNzd29yZA==" }
## Timeout for HTTP requests
timeout = "10s"
## Override Content-Type to match OpenObserve expectation
content_type = "application/json"
## Force Telegraf to batch and serialize metrics as JSON
data_format = "json"
## JSON serializer specific options
json_timestamp_units = "1ms"
## Uncomment to restrict batch size
# batch_size = 5000
Input and output integration examples
Jenkins
-
Continuous Integration Monitoring: Use the Jenkins plugin to monitor the performance of continuous integration pipelines by collecting metrics on job durations and failure rates. This can help teams identify bottlenecks in the pipeline and improve overall build efficiency.
-
Resource Allocation Analysis: Leverage Jenkins node metrics to assess resource usage across different agents. By understanding how resources are allocated, teams can optimize their Jenkins architecture, potentially reallocating agents or adjusting job configurations for better performance.
-
Job Execution Trends: Analyze historical job performance metrics to identify trends in job execution over time. With this data, teams can proactively address potential issues before they grow, making adjustments to the jobs or their configurations as needed.
-
Alerting for Job Failures: Implement alerts that leverage the Jenkins job metrics to notify team members in case of job failures. This proactive approach can enhance operational awareness and speed up response times to failures, ensuring that critical jobs are monitored effectively.
OpenObserve
-
Edge Device Health Mirror: Deploy Telegraf on thousands of industrial IoT devices to capture temperature, vibration, and power metrics, then use this output to push JSON batches to OpenObserve. Plant operators gain a real-time overview of machine health and can trigger maintenance based on anomalies without relying on heavyweight collectors.
-
Blue-Green Deployment Canary: Attach a lightweight Telegraf sidecar to each Kubernetes release-candidate pod that scrapes /metrics and forwards container stats to a dedicated “canary” stream in OpenObserve. Continuous comparison of error rates between blue and green versions empowers the CI pipeline to auto-roll back poor performers within seconds.
-
Multi-Tenant SaaS Billing Pipeline: Emit per-customer usage counters via Telegraf and tag them with
tenant_id
; the HTTP plugin posts them to OpenObserve where SQL reports aggregate usage into invoices, eliminating separate metering services and simplifying compliance audits. -
Security Threat Scoring: Fuse Suricata events and host resource metrics in Telegraf, deliver them to OpenObserve’s analytics engine, and run stream-processing rules that correlate spikes in suspicious traffic with CPU saturation to produce an actionable threat score and automatically open tickets in a SOAR platform.
Feedback
Thank you for being part of our community! If you have any general feedback or found any bugs on these pages, we welcome and encourage your input. Please submit your feedback in the InfluxDB community Slack.
Powerful Performance, Limitless Scale
Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.
See Ways to Get Started
Related Integrations
Related Integrations
HTTP and InfluxDB Integration
The HTTP plugin collects metrics from one or more HTTP(S) endpoints. It supports various authentication methods and configuration options for data formats.
View IntegrationKafka and InfluxDB Integration
This plugin reads messages from Kafka and allows the creation of metrics based on those messages. It supports various configurations including different Kafka settings and message processing options.
View IntegrationKinesis and InfluxDB Integration
The Kinesis plugin allows for reading metrics from AWS Kinesis streams. It supports multiple input data formats and offers checkpointing features with DynamoDB for reliable message processing.
View Integration