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
Languages
Shell
100%