All Projects → caarlos0 → version_exporter

caarlos0 / version_exporter

Licence: MIT license
Monitor the versions of the things you run and care about

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to version exporter

github releases exporter
Exports GitHub release metrics to the Prometheus format
Stars: ✭ 21 (+31.25%)
Mutual labels:  github-api, prometheus-exporter
react-preview
a GitHub App built with probot that generates preview links for react based projects.
Stars: ✭ 14 (-12.5%)
Mutual labels:  github-api
pagerduty-exporter
Prometheus exporter for PagerDuty informations
Stars: ✭ 38 (+137.5%)
Mutual labels:  prometheus-exporter
gitlab-analytics
No description or website provided.
Stars: ✭ 21 (+31.25%)
Mutual labels:  github-api
jmx exporter-cloudera-hadoop
Prometheus jmx_exporter configurations for Cloudera Hadoop
Stars: ✭ 33 (+106.25%)
Mutual labels:  prometheus-exporter
radosgw usage exporter
Prometheus exporter for scraping Ceph RADOSGW usage data.
Stars: ✭ 34 (+112.5%)
Mutual labels:  prometheus-exporter
falco-exporter
Prometheus Metrics Exporter for Falco output events
Stars: ✭ 84 (+425%)
Mutual labels:  prometheus-exporter
gitstar
Github Client built with React Apollo
Stars: ✭ 15 (-6.25%)
Mutual labels:  github-api
node exporter
Exporter for machine metrics
Stars: ✭ 7,897 (+49256.25%)
Mutual labels:  prometheus-exporter
pika exporter
Prometheus expoter for Qihoo360/Pika metrics. Suppots Pika 2.x, 3.x
Stars: ✭ 39 (+143.75%)
Mutual labels:  prometheus-exporter
gethexporter
Monitor your Geth Ethereum Server with Prometheus and Grafana
Stars: ✭ 103 (+543.75%)
Mutual labels:  prometheus-exporter
mq-java-exporter
Exporter for IBM MQ metrics https://prometheus.io/
Stars: ✭ 19 (+18.75%)
Mutual labels:  prometheus-exporter
git-profiler-bot
Telegram bot which fetches GitHub Profiles.
Stars: ✭ 23 (+43.75%)
Mutual labels:  github-api
prometheus-async
Async helpers for prometheus_client.
Stars: ✭ 136 (+750%)
Mutual labels:  prometheus-exporter
dex
Prometheus Docker EXporter
Stars: ✭ 19 (+18.75%)
Mutual labels:  prometheus-exporter
tado-exporter
A Prometheus exporter for tado smart heating solution
Stars: ✭ 32 (+100%)
Mutual labels:  prometheus-exporter
gh-auto-updater
Automatic Updater with GitHub API for WordPress Plugin
Stars: ✭ 42 (+162.5%)
Mutual labels:  github-api
good-first-issues
Find good first issues right from your CLI! 🚀
Stars: ✭ 64 (+300%)
Mutual labels:  github-api
github-rater
📊 Check your GitHub rating, view results and enhance your profile quality.
Stars: ✭ 319 (+1893.75%)
Mutual labels:  github-api
ansible-prometheus
Ansible role for the management of Prometheus software and Prometheus exporters
Stars: ✭ 63 (+293.75%)
Mutual labels:  prometheus-exporter

version_exporter

Exports versions of Github projects as prometheus metrics, with contraint version, from a config file, and latest version, fetched from Github, as labels.

Running

version_exporter --bind ":9333"

Or with docker:

docker run -p 127.0.0.1:9333:9333 -v $PWD/config.yaml:/config.yaml caarlos0/version_exporter

Or with docker-compose:

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

You can personalize the config.yaml file like following:

repositories:
  # repository: semver constraint (check https://github.com/masterminds/semver#working-with-pre-release-versions)
  prometheus/alertmanager: ~v0.14.0
  prometheus/prometheus: ^2.1.0
  caarlos0/version_exporter: 0.0.5

You can reload the config file by sending a SIGHUP to version_exporter process.

On the prometheus settings, add the version_exporter job:

scrape_configs:
  - job_name: version
    static_configs:
      - targets: [ 'version_exporter:9333' ]

Alerting rules example:

groups:
- name: versions
  rules:
  - alert: SoftwareOutOfDate
    expr: version_up_to_date == 0
    for: 1s
    labels:
      severity: warning
    annotations:
      summary: "{{$labels.repository}}: out of date"
      description: "latest version {{ $labels.latest }} is not within constraint {{ $labels.constraint }}"

Building locally

Install the needed tooling and libs:

make setup

Run with:

go run main.go

Run tests with:

make test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].