/sematext-plugin

A Jenkins plugin used to forward metrics to an account at Sematext.

Primary LanguageJavaApache License 2.0Apache-2.0

Jenkins Sematext Plugin

A Jenkins plugin for monitoring Jenkins with Sematext.

Jenkins Sematext Dashboard

Note: The Jenkins CI plugin page for this plugin references this documentation.

Setup

Sematext App Creation

To be able to see your Jenkins metrics you just need to create Sematext Account and Sematext Jenkins App if you didn't do this already.

Sematext Agent Installation

To be able to see your Infrastructure and Jenkins JVM metrics simply install the Sematext Agent. It's open-sourced on Github and you can customize the Jenkins integration to collect data you want and then build custom dashboards using that data.

Plugin Installation

This plugin requires Java 8 or newer.

This plugin can be installed from the Update Center (found at Manage Jenkins -> Manage Plugins) in your Jenkins installation:

  1. Select the Available tab, search for Sematext, and select the checkbox next to Sematext Plugin.
  2. Install the plugin by using one of the two install buttons at the bottom of the screen.
  3. To verify the plugin is installed, search for Sematext Plugin on the Installed tab.

Continue below for configuration.

Plugin Configuration

To configure your Sematext Plugin, navigate to the Manage Jenkins -> Configure System page in your Jenkins installation. Once there, scroll down to find the Sematext Plugin section:

Jenkins Sematext Plugin UI

Select Region to house your data

  1. Select the radio button with Sematext Region which you will use to house your data. Which Region you specify here depends on the Region in which you created the Sematext Jenkins App - US or EU.
  2. (advanced) Paste your Receiver URL in the Sematext Jenkins App Receiver URL. You can find the Receiver URL in the integration instructions for your Jenkins App in Sematext. Test your Receiver URL by using the Test URL button.
  3. Paste your Monitoring App Token, also found in the integration instructions for your Jenkins App in Sematext, in the Sematext Jenkins App Token textbox on the Jenkins configuration screen.
  4. Test your Sematext Jenkins App Token by using the Test App Token button on the Jenkins configuration screen directly below the App Token textbox.
  5. Save your configuration.

Data collected

This plugin collects the following Jenkins metrics. More metrics are collected by the Sematext Agent. See Jenkins integration docs for the full list of Jenkins metrics:

Metrics

Metric Name Description Tags
jenkins.runs.success The count of success job runs. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.runs.unstable The count of unstable job runs. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.runs.failure The count of failure job runs. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.runs.not_built The count of not build job runs. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.runs.aborted The count of aborted job runs. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs The count of jobs. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.scheduled The count at which jobs are scheduled. If a job is already in the queue and an identical request for scheduling the job is received then Jenkins will coalesce the two requests. This metric gives a reasonably pure measure of the load requirements of the Jenkins master as it is unaffected by the number of executors available to the system. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.queuing The count of queued jobs. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.blocked The count at which jobs in the build queue enter the blocked state. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.buildable The count at which jobs in the build queue enter the buildable state. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.waiting The count at which jobs enter the quiet period. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.execution.time The amount of time jobs spend in execution state. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.queuing.time The total time jobs spend in the build queue. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.blocked.time The amount of time jobs in the build queue enter spend in blocked state. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.buildable.time The amount of time jobs in the build queue enter spend in buildable state. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.waiting.time The total amount of time that jobs spend in their quiet period. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name
jenkins.jobs.total.time The time jobs spend from entering the build queue to completing building. os.host, jenkins.job.name,jenkins.repo.name, jenkins.branch.name

Issue Tracking

GitHub's built-in issue tracking system is used to track all issues relating to this plugin: jenkinsci/sematext-plugin/issues.

Changes

See the CHANGELOG.md.

How to contribute code

First of all and most importantly, thank you for sharing.

Checkout the contributing guidelines before you submit an issue or a pull request.