Я считаю , что это очень полезный инструмент , он позволяет следить за состоянием ваших пайплайнов, job-ов и мониторить переменные окружения, можно отслеживать статусы, продолжительность, и на самом деле там есть очень много интересных настроек
Примеры дашбордов из Grafana
Pipelines
Jobs
Environments / Deployments
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 и т.д.