caarlos0 / github_releases_exporter

Exports GitHub release metrics to the Prometheus format

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

github_releases_exporter

Exports GitHub release metrics to the Prometheus format.

Release Software License Build Status Coverage Status Go Doc Go Report Card SayThanks.io Powered By: GoReleaser

Running

./github_releases_exporter

Or with docker:

docker run -p 127.0.0.1:9222:9222 caarlos0/github_releases_exporter

Configuration

You can set it up on docker compose like:

version: '3'
services:
  releases:
    image: caarlos0/github_releases_exporter:v1
    restart: always
    volumes:
    - /path/to/releases.yml:/etc/releases.yml:ro
    command:
    - '--config.file=/etc/releases.yml'
    ports:
    - 127.0.0.1:9222:9222
    env_file:
    - .env

The releases.yml file should look like this:

repositories:
- goreleaser/goreleaser
- caarlos0/github_releases_exporter

On the prometheus settings, add the releases job like this:

- job_name: 'releases'
  static_configs:
  - targets: ['releases:9222']

And you are done!

Configuration Reload

You can reload the configuration at any time by sending a SIGHUP to the process.

Grafana Dashboard

I have a dashvboard like this:

You can get it from the grafana website or just import the dashboard 6328.

Building locally

Install the needed tooling and libs:

make setup

Run with:

go run main.go

Run tests with:

make test

About

Exports GitHub release metrics to the Prometheus format

License:MIT License


Languages

Language:Go 93.3%Language:Makefile 4.9%Language:Dockerfile 1.9%