Compare commits
No commits in common. "main" and "v0.4" have entirely different histories.
2679
grafana.json
2679
grafana.json
File diff suppressed because it is too large
Load Diff
14
metrics.py
14
metrics.py
|
@ -5,15 +5,14 @@ from os import getenv
|
|||
from time import sleep
|
||||
from prometheus_client.core import GaugeMetricFamily, REGISTRY, CounterMetricFamily
|
||||
from prometheus_client import start_http_server
|
||||
from loguru import logger
|
||||
|
||||
|
||||
class TasmotaCollector(object):
|
||||
def __init__(self):
|
||||
self.ip = getenv('DEVICE_IP')
|
||||
logger.info("Env variable from DEVICE_NAME used is: " + self.ip)
|
||||
self.device_name = getenv("DEVICE_NAME").lower()
|
||||
logger.info("Env variable from DEVICE_NAME used is: " + self.device_name)
|
||||
if not self.ip:
|
||||
self.ip = "192.168.4.1"
|
||||
self.user = getenv('USER')
|
||||
self.password = getenv('PASSWORD')
|
||||
|
||||
|
@ -22,7 +21,7 @@ class TasmotaCollector(object):
|
|||
response = self.fetch()
|
||||
|
||||
for key in response:
|
||||
metric_name = "tasmota_" + key.lower().replace(" ", "_")
|
||||
metric_name = self.device_name + "_" + key.lower().replace(" ", "_")
|
||||
metric = response[key].split()[0]
|
||||
unit = None
|
||||
if len(response[key].split()) > 1:
|
||||
|
@ -38,7 +37,7 @@ class TasmotaCollector(object):
|
|||
def fetch(self):
|
||||
|
||||
url = 'http://' + self.ip + '/?m=1'
|
||||
logger.info("Getting Metrics from: " + url)
|
||||
|
||||
session = requests.Session()
|
||||
|
||||
if self.user and self.password:
|
||||
|
@ -71,9 +70,12 @@ signal.signal(signal.SIGINT, signal_handler)
|
|||
if __name__ == '__main__':
|
||||
|
||||
port = getenv('EXPORTER_PORT')
|
||||
logger.info("Starting HTTP server on port: " + port)
|
||||
if not port:
|
||||
port = 8000
|
||||
|
||||
start_http_server(int(port))
|
||||
REGISTRY.register(TasmotaCollector())
|
||||
|
||||
while(True):
|
||||
sleep(1)
|
||||
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
prometheus_client
|
||||
requests
|
||||
loguru
|
||||
requests
|
Loading…
Reference in New Issue