Giter Site home page Giter Site logo

artiommocrenco / meshtastic-prometheus-exporter Goto Github PK

View Code? Open in Web Editor NEW
10.0 1.0 0.0 166 KB

Monitor your meshtastic network with Meshtastic Prometheus exporter

License: GNU Affero General Public License v3.0

Dockerfile 0.65% Python 99.35%
grafana mesh-networks meshtastic monitoring off-grid prometheus prometheus-exporter ham-radio hamradio lora

meshtastic-prometheus-exporter's Introduction

meshtastic-prometheus-exporter

meshtasticexporter

Supported metrics

See SUPPORTED_METRICS.md for a list of supported metrics

Usage

  1. find an MQTT server you want to use or use the public Meshtastic MQTT server (mqtt.meshtastic.org)
  2. for your meshtastic node (you should be using firmware version 2.3.7.30fbcab), configure and enable MQTT module for uplink
  3. download (preferably) latest release, uncompress it and navigate to the directory with the docker-compose.yml file
  4. edit the docker-compose.yml file and specify connection details to the MQTT server there too
  5. in your terminal, run docker-compose up --build --force-recreate (for this, you need docker installed)
  6. in your web browser, navigate to http://localhost:3000/dashboards and authenticate using default Grafana credentials (username admin, password admin)

Within a few minutes, data should begin populating on the dashboards. At first, you are likely to see most packets as if they come from "unknown" sources. Wait several hours to allow Redis to be populated with node information (nodes rarely send information about themselves, usually every 3 hours). After the wait, all data should be visible on the dashboards.

This has been tested with:

Known limitations

  • All nodes serving as MQTT uplinks SHOULD have firmware version specified above
  • Running two exporters for the same meshtastic network that write to the same Prometheus is not supported
  • While mostly reporting useful information, Grafana dashboards do contain mistakes in some of the visualizations
  • Using TLS for MQTT on meshtastic side may be problematic for performance and reliability (third-party issue)
  • Exception handling & code quality need improvement
  • Inefficient usage of main thread (does not use asyncio)

Contributing

Please feel free to contribute

meshtastic-prometheus-exporter's People

Contributors

artiommocrenco avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

meshtastic-prometheus-exporter's Issues

Add GhA workflow

Trunk based development (without automated tests for now)

Based on tags

Complete versioning scheme: <meshtastic_version>-<exporter version>

<exporter_version> is MAJOR.MINOR

  • Code style test
  • Build & Tag docker image
  • Push docker image
  • Generate changelog
  • Create Github release

How to install probe

I am a new meshtastic fan.
Looking for a way to monitor nodes, i found your project.

Can it be used on a computer through USB serial connection to "Heltec v3" ?
Does it need MQTT server relay ?

Could you give detail on how you use it ?

Neighbor Info Support

Visualizing neighbor info would be helpful to improve the performance of a network

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.