From 4e69e2de7225a9acce332a4ef0a108eabfef63ae Mon Sep 17 00:00:00 2001 From: Simeon Keske Date: Sun, 18 Oct 2020 16:50:21 +0200 Subject: [PATCH] initial commit --- .gitignore | 1 + corona-exporter.py | 30 ++++++++++++++++++++++++++++++ requirements.txt | 2 ++ 3 files changed, 33 insertions(+) create mode 100644 .gitignore create mode 100644 corona-exporter.py create mode 100644 requirements.txt 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