Pull to refresh

Gitlab-Ci-Pipelines-Exporter

Reading time2 min
Views8.1K
Original author: Maxime VISONNEAU

Я считаю , что это очень полезный инструмент , он позволяет следить за состоянием ваших пайплайнов, job-ов и мониторить переменные окружения, можно отслеживать статусы, продолжительность, и на самом деле там есть очень много интересных настроек

Примеры дашбордов из Grafana

Pipelines

 grafana.com dashboard #10620
grafana.com dashboard #10620

Jobs

grafana.com dashboard #13328
grafana.com dashboard #13328

Environments / Deployments

grafana.com dashboard #13329
grafana.com dashboard #13329

github.com/IvanRezv/GitlabCI-exporter - ссылка на мой репозиторий с конфигом для быстрого старта сервиса.

Архитектура сервисов описана в docker-compose файле, необходимые конфигурационные файлы для работы сервисов, находятся рядом с compose файлом и прикидываются волюмами в сервисы. Соответственно для Prometheus есть конфиг файл, в котором описана ссылка на сервис, с которого необходимо брать метрики. А для Grafana вложены дашборды и файл с ссылкой на ресурс который собирает метрики.

---
version: '3.9'

x-base:
  &base
  networks:
    - default
  restart: always

services:
  gitlab-ci-pipelines-exporter:
    << : *base
    image: docker.io/mvisonneau/gitlab-ci-pipelines-exporter:v0.5.2
    ports:
      - 8080:8080
    environment:
      GCPE_CONFIG: /etc/gitlab-ci-pipelines-exporter.yml
      GCPE_INTERNAL_MONITORING_LISTENER_ADDRESS: tcp://127.0.0.1:8082
    volumes:
      - ./gitlab-ci-pipelines-exporter.yml:/etc/gitlab-ci-pipelines-exporter.yml

  prometheus:
    image: docker.io/prom/prometheus:v2.28.1
    << : *base
    container_name: prometheus
    ports:
      - 9090:9090
    links:
      - gitlab-ci-pipelines-exporter
    volumes:
      - ./prometheus/config.yml:/etc/prometheus/prometheus.yml

  grafana:
    image: docker.io/grafana/grafana:8.0.5
    << : *base
    container_name: grafana
    ports:
      - 3000:3000
    environment:
      GF_INSTALL_PLUGINS: grafana-polystat-panel,yesoreyeram-boomtable-panel
    links:
      - prometheus
    volumes:
      - ./grafana/dashboards.yml:/etc/grafana/provisioning/dashboards/default.yml
      - ./grafana/datasources.yml:/etc/grafana/provisioning/datasources/default.yml
      - ./grafana/dashboards:/var/lib/grafana/dashboards


networks:
  default:
    driver: bridge

Так же прикладываю ссылку на видео , где описал инструкцию по поднятию сервиса.

Использование

Grafana - адрес машины\URL:3000

Prometheus - адрес машины\URL:9090

Пароль и логин по умолчанию для grafana - admin. После первой авторизации будет предложено сменить его.

Синтаксис для изменения конфигурации сбора метрик(файла gitlab-ci-pipelinex-exporter.yml) - Syntax.

В официальном источнике так же есть инструкции по развертыванию сервиса с помощью helm, scoop, deb packages и т.д.

Tags:
Hubs:
Total votes 7: ↑7 and ↓0+7
Comments5

Articles