Docs » Configure application receivers » Configure application receivers for hosts and servers » Jenkins

Jenkins 🔗

Description 🔗

The Splunk Distribution of OpenTelemetry Collector provides this integration as the Jenkins monitor with the SignalFx Smart Agent receiver. The integration collects metrics from Jenkins instances by hitting the following endpoints:

  • Job metrics with the ../api/json endpoint

  • Codahale or Dropwizard JVM metrics with the metrics/<MetricsKey>/.. endpoint

To see the monitor source, view the signalfx-agent project on GitHub.

Installation 🔗

This monitor is available in the SignalFx Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector.

Follow these steps to deploy the integration:

  1. Download the Metrics Plugin in Jenkins. For more information, see Metrics on the Jenkins website.

  2. Deploy the Splunk Distribution of OpenTelemetry Collector to your host or container platform.

  3. Configure the monitor, as described in the next section.

Configuration 🔗

The Splunk Distribution of OpenTelemetry Collector allows embedding a Smart Agent monitor configuration in an associated Smart Agent Receiver instance.

Note: Providing a Jenkins monitor entry in your Smart Agent or Collector configuration is required for its use. Use the appropriate form for your agent type.

Smart Agent 🔗

To activate this monitor in the Smart Agent, add the following to your agent configuration:

monitors:  # All monitor config goes under this key
 - type: collectd/jenkins
   ...  # Additional config

See Smart Agent example configuration for an autogenerated example of a YAML configuration file, with default values where applicable.

Splunk Distribution of OpenTelemetry Collector 🔗

To activate this monitor in the Splunk Distribution of OpenTelemetry Collector, add the following to your agent configuration:

receivers:
  smartagent/jenkins:
    type: collectd/jenkins
    ...  # Additional config

To complete the monitor activation, you must also include the smartagent/jenkins receiver item in a metrics pipeline. To do this, add the receiver item to the service > pipelines > metrics > receivers section of your configuration file.

See configuration examples for specific use cases that show how the collector can integrate and complement existing environments.

Configuration settings 🔗

The following table shows the configuration options for this monitor:

Option Required Type Description
pythonBinary no string Path to a python binary that should be used to execute the Python code. If not set, a built-in runtime will be used. Can include arguments to the binary as well.
host yes string
port yes integer
path no string
metricsKey yes string Key required for collecting metrics. The access key located at Manage Jenkins > Configure System > Metrics > ADD. If empty, click Generate.
enhancedMetrics no bool Whether to enable enhanced metrics (default: false)
includeMetrics no list of strings Used to enable individual enhanced metrics when enhancedMetrics is set to false
username no string User with security access to Jenkins
apiToken no string API Token of the user
useHTTPS no bool Whether to enable HTTPS. (default: false)
sslKeyFile no string Path to the keyfile
sslCertificate no string Path to the certificate
sslCACerts no string Path to the ca file
skipVerify no bool Skip SSL certificate validation (default: false)

Sample YAML configurations 🔗

Sample basic YAML configuration:

monitors:
- type: collectd/jenkins
  host: 127.0.0.1
  port: 8080
  metricsKey: reallylongmetricskey

Sample YAML configuration with specific enhanced metrics included:

monitors:
- type: collectd/jenkins
  host: 127.0.0.1
  port: 8080
  metricsKey: reallylongmetricskey
  includeMetrics:
  - "vm.daemon.count"
  - "vm.terminated.count"

Sample YAML configuration with all enhanced metrics included:

monitors:
- type: collectd/jenkins
  host: 127.0.0.1
  port: 8080
  metricsKey: reallylongmetricskey
  enhancedMetrics: true

Metrics 🔗

These metrics are available for this integration.