nextcloud-aws/roles/common/templates/rpi_exporter.py

26 lines
790 B
Python

#!/usr/bin/env python
import time
from prometheus_client.core import GaugeMetricFamily, REGISTRY, CounterMetricFamily
from prometheus_client import start_http_server
from gpiozero import CPUTemperature
class CustomCollector(object):
def __init__(self):
pass
def collect(self):
val = CPUTemperature()
t = GaugeMetricFamily("rpi_cpu_temperature", "CPU Temperature", labels=['instance'])
t.add_metric(['C'], val.temperature)
yield t
f = GaugeMetricFamily("rpi_cpu_temperature_f", "CPU Temperature", labels=['instance'])
f.add_metric(['F'], val.temperature * (9.0/5.0) + 32)
yield t
if __name__ == '__main__':
start_http_server(7998)
REGISTRY.register(CustomCollector())
while True:
time.sleep(1)