6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GrafanaとPrometheusでJenkins監視

Last updated at Posted at 2019-08-03

やったこと

Mac OS環境でdocker-composeを使用してJenkins, Prometheus, Grafanaを起動しました。
Jenkins Pluginをインストールし、 Jenkinsのメトリクス監視を可視化しました。

稼働環境

  • Mac OS Mojave
  • Docker version 19.03.1
  • docker-compose version 1.24.1

docker-composeを使用した起動

Prometheusで、Jenkinsのメトリクス監視を追加します。

prometheus.yml
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']
  
  ### 追加 ##
  - job_name: ‘jenkins’
    metrics_path: /prometheus/
    static_configs:
    - targets: ['docker.for.mac.localhost:8080']

Jenkins, Prometheus, Grafanaを起動するためのymlファイルを作成します。

docker-compose.yml
version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    restart: always
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./jenkins/jenkins_home:/var/jenkins_home
  prometheus:
    image: prom/prometheus:v2.11.1
    container_name: prometheus
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - 9090:9090
  grafana:
    image: grafana/grafana:6.2.5
    container_name: grafana
    ports:
      - 3000:3000

docker-compose up -d --buildで起動します。


$ docker-compose up -d --build
Creating network "default" with the default driver
Creating prometheus ... done
Creating jenkins    ... done
Creating grafana    ... done

Install Jenkins Plugin

JenkinsのURLを開き、初期設定を行います。設定方法は省略します。
「Jenkinsの構成」 -> 「プラグインの管理」 でプラグインマネージャーを開きます。
検索欄でprometheusを入力し、Prometheus metrics pluginをインストールします。
インストール後は再起動してください。

JenkinsとPrometheus連携

Jenkinsの再起動が完了ましたら、PrometheusのURLを開きます。
上部バーの「Status」 -> 「Targets」を開き、Jenkinsがupとなっていることが確認できます。
スクリーンショット 2019-08-04 1.26.15.png

PrometheusとGrafanaの連携は、調べれば出てきますので省略します。

Grafanaでの可視化

Grafana Labsで公開されているdashboardのtemplateをインポートします。
今回はa Jenkins performance and health overview for jenkinsci/prometheus-pluginをインポートします。
dashboardのIDを控えます。

GrafanaのURLにアクセスし、「Home」 -> 「Import dashboard」を開きます。
控えたIDを入力し、インポートします。
表示されるようになりました。

スクリーンショット 2019-08-04 1.33.00.png

参考情報

備考

prometheus公式サイトでは、jenkinsが提供するexporterを使用したメトリクス監視も紹介されています。リポジトリは以下です。
https://github.com/lovoo/jenkins_exporter

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?