2025-10-20 23:25:02 +00:00
2025-10-20 23:19:58 +00:00
2025-10-20 15:24:11 -06:00
2025-10-20 23:25:02 +00:00

Simple Metrics Generator

Simple Prometheus metrics generator.

Usage

cat metadata | generate_metrics tempurature 50

with your metadata file looking something like

unit="F", computer="computer5"

From here you could then redirect stdout into a file, then host the file with something like Caddy for Prometheus to scrape.

Examples

A simple "down detector". Put this in a crontab (runs every minute):

* * * * * cat /etc/metrics_metadata | generate_metrics cloudflare $(ping -c 1 1.1.1.1 &> /dev/null ; echo $?) > /srv/metrics/cloudflare

Actual down detector I'm using:

#!/bin/bash

# Clear the file
echo "" > /srv/metrics

targets=("1.1.1.1" "192.168.1.1" "oliveratkinson.net")

for i in "${targets[@]}"
do
        export TARGET=$i
        envsubst < /root/metrics_metadata | /root/generate_metrics is_down $(ping -c 1 $TARGET &> /dev/null; echo $?) >> /srv/metrics
done
:80 {
        handle /metrics {
                root * /srv
                file_server
        }
}
Description
No description provided
Readme 28 KiB
Languages
Shell 100%