kquinsland / sb820_prometheus_exporter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SB8200 prometheus exporter

Yet another SB8200 prometheus exporter. This implementation does not require a headless browser and exports in prometheus format. It's simple and meant to be deployed in a k8s cluster but can be run locally; all configuration is done via environment variables.

Dashboard

It looks like this:

screenshot of metrics displayed on grafana dashboard

And the dashboard is in dashboards/sb8200.json

Prior work

There's a few other projects that do similar things but they're either old/abandoned, require a headless browser, export in a non-prometheus format or target a different modem.

I don't want to run a headless browser in my k8s cluster and I want to use prometheus so I wrote this.

TODOs

There's quite a few #TODO: ... in the code but they're mostly about polish and making things more robust.

I've got limited time and this is working well for me in my environment so development - other than bug fixes - will be non-existent.

Deployment

This is meant to be run in a k8s cluster with Prometheus Operator.

Example manifest and deployment instructions are in infra/k8s

Development

Standard python / poetry project. To help with dashboard development, there is a docker-compose file that will start a local instance of prometheus, grafana and the exporter.

About


Languages

Language:Python 61.0%Language:HTML 35.0%Language:Dockerfile 4.0%