Jenkins and Zabbix 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 plugin sends metrics to Zabbix via traps, allowing for efficient monitoring of systems and applications. It supports automated configuration and data sending based on dynamic metrics collected by Telegraf.
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.
Zabbix
The Telegraf Zabbix plugin is designed to send metrics to Zabbix, an open-source monitoring solution, using the trap protocol. It supports various versions from 3.0 to 6.0, ensuring compatibility with recent updates. The plugin facilitates easy integration with the Zabbix ecosystem, allowing users to send collected metrics and monitor system performance seamlessly. Key functionalities include the ability to define the address and port of the Zabbix server, options for prefixing keys, determining the type of data sent (active vs. trapper), and features for low-level discovery (LLD) enabling dynamic item creation based on the metrics observed. Configuration options also allow for autoregistration and resending intervals for LLD data, ensuring that the metrics are up-to-date and relevant. Additionally, the trap format used for sending metrics is structured to facilitate efficient data transfer and processing in Zabbix.
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
Zabbix
[[outputs.zabbix]]
## Address and (optional) port of the Zabbix server
address = "zabbix.example.com:10051"
## Send metrics as type "Zabbix agent (active)"
# agent_active = false
## Add prefix to all keys sent to Zabbix.
# key_prefix = "telegraf."
## Name of the tag that contains the host name. Used to set the host in Zabbix.
## If the tag is not found, use the hostname of the system running Telegraf.
# host_tag = "host"
## Skip measurement prefix to all keys sent to Zabbix.
# skip_measurement_prefix = false
## This field will be sent as HostMetadata to Zabbix Server to autoregister the host.
## To enable this feature, this option must be set to a value other than "".
# autoregister = ""
## Interval to resend auto-registration data to Zabbix.
## Only applies if autoregister feature is enabled.
## This value is a lower limit, the actual resend should be triggered by the next flush interval.
# autoregister_resend_interval = "30m"
## Interval to send LLD data to Zabbix.
## This value is a lower limit, the actual resend should be triggered by the next flush interval.
# lld_send_interval = "10m"
## Interval to delete stored LLD known data and start capturing it again.
## This value is a lower limit, the actual resend should be triggered by the next flush interval.
# lld_clear_interval = "1h"
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.
Zabbix
-
Dynamic Monitoring of Containerized Applications: Integration of the Zabbix plugin can be leveraged to monitor Docker containers dynamically. As containers are created and removed, the plugin can automatically update Zabbix with the appropriate metrics, ensuring that monitoring stays current without manual configuration. This enhances visibility into resource usage and performance metrics for microservices orchestrated with Kubernetes or Docker Swarm.
-
Real-Time Performance Monitoring with Auto-registration: By enabling the autoregister feature, the plugin can automatically register hosts in Zabbix based on the metrics received. This scenario provides a streamlined approach to add new hosts to monitoring without manual setup, which is particularly useful in environments where hosts may frequently spin up and down, such as serverless architectures or cloud-based deployments.
-
Leveraging Low-level Discovery for Flexible Metric Capture: Using low-level discovery, this plugin allows Zabbix to adaptively create items for metrics that are not predefined. In a scenario involving multiple network devices reporting different performance metrics, the plugin can dynamically inform Zabbix about new metrics as they appear, thus ensuring comprehensive monitoring capabilities that evolve with the monitored systems.
-
Centralized Monitoring of Distributed Systems: The Zabbix plugin can be utilized in a centralized monitoring setup for distributed systems where multiple Telegraf instances are running across different geographical locations. By sending all metrics to a central Zabbix server, organizations can achieve a holistic view of their infrastructure’s performance and make informed operational decisions.
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