commit 4e69e2de7225a9acce332a4ef0a108eabfef63ae Author: Simeon Keske Date: Sun Oct 18 16:50:21 2020 +0200 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d17dae --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.venv diff --git a/corona-exporter.py b/corona-exporter.py new file mode 100644 index 0000000..24dd393 --- /dev/null +++ b/corona-exporter.py @@ -0,0 +1,30 @@ +import time +import json + +import requests +import prometheus_client as pc + + +class CoronaExporter: + def __init__(self): + self.cases7_per_100k = pc.Gauge('cases7_per_100k', 'Fälle der letzten 7 Tage/100.000 EW', ['county']) + + def get_metrics(self): + r = requests.get('https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?where=1%3D1&outFields=*&returnGeometry=false&outSR=4326&f=json') + j = json.loads(r.text) + + for lk in j['features']: + name = lk['attributes']['county'] + + self.cases7_per_100k.labels(county=name).set(lk['attributes']['cases7_per_100k']) + + def run(self): + pc.start_wsgi_server(9000) + + while True: + self.get_metrics() + time.sleep(120) + +if __name__ == "__main__": + c = CoronaExporter() + c.run() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..cea8d88 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +requests +prometheus_client