Skip to main content

No project description provided

Project description

meshtastic-prometheus-exporter

meshtasticexporter

Meshtastic Prometheus Exporter captures and parses every MeshPacket from your Meshtastic network, exposing detailed metrics about the packets. It supports data collection via MQTT, BLE, Serial, or TCP, and makes these metrics available to Prometheus. It comes with grafana dashboards that help visualize network performance, node status, and telemetry for real-time or historical monitoring.

Supported metrics

See SUPPORTED_METRICS.md for a list of supported metrics

Usage

Use with MQTT

  1. Find an MQTT server you want to use or use the public Meshtastic MQTT server (mqtt.meshtastic.org).
  2. For your Meshtastic node, configure and enable MQTT module for uplink.
  3. Clone the repo, or 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 (for this, you need Docker installed).

Use with BLE

  1. Ensure your Meshtastic device supports Bluetooth Low Energy (BLE) and is powered on.
  2. Clone the repo, or download (preferably) latest release, uncompress it and navigate to the directory with the docker-compose.yml file.
  3. Edit the docker-compose.yml file and set MESHTASTIC_INTERFACE to BLE and specify the BLE address of your device by setting INTERFACE_BLE_ADDR to the address of your device, for example AA:BB:CC:EE:AA:BB
  4. In your terminal, run docker-compose up (for this, you need Docker installed).

Use with Serial

  1. Connect your Meshtastic device to your computer via a serial interface (e.g., USB).
  2. Clone the repo, or download (preferably) latest release, uncompress it and navigate to the directory with the docker-compose.yml file.
  3. Edit the docker-compose.yml file and set MESHTASTIC_INTERFACE to SERIAL and optionally specify the serial device path.
  4. In your terminal, run docker-compose up (for this, you need Docker installed).

Use with TCP

  1. Ensure your Meshtastic device is accessible over a TCP interface.
  2. Clone the repo, or download (preferably) latest release, uncompress it and navigate to the directory with the docker-compose.yml file.
  3. Edit the docker-compose.yml file and set MESHTASTIC_INTERFACE to TCP and specify the TCP address and port of your device.
  4. In your terminal, run docker-compose up (for this, you need Docker installed).

Accessing Grafana

In your web browser, navigate to http://localhost:3000/dashboards and authenticate using default Grafana credentials (username admin, password admin).

Installation using pipx

If you prefer to install the exporter using pipx, you can do so by running the following command:

pipx install meshtastic-prometheus-exporter

You could then run it outside docker, and configure Prometheus to scrape it:

global:
  scrape_interval: 15s
  evaluation_interval: 15s
scrape_configs:
  - job_name: "meshtastic"
    static_configs:
      - targets: ["host.docker.internal:9464"]

Installation using helm

Coming soon.

Known limitations

  • 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

Contributing

Please feel free to contribute

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshtastic_prometheus_exporter-2.1.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meshtastic_prometheus_exporter-2.1-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file meshtastic_prometheus_exporter-2.1.tar.gz.

File metadata

File hashes

Hashes for meshtastic_prometheus_exporter-2.1.tar.gz
Algorithm Hash digest
SHA256 ab5533f22ee83f7cb9d953072cf265a42126aac8f3253c9286de52f41edddfdf
MD5 22ff9cdacf9aa0e9c41e2ffeafd6eb4e
BLAKE2b-256 698ac5e8f7b58f60007352ba75ca154ac0c3964f207cef5de4c5fba005312ce5

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshtastic_prometheus_exporter-2.1.tar.gz:

Publisher: trunk.yml on artiommocrenco/meshtastic-prometheus-exporter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshtastic_prometheus_exporter-2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for meshtastic_prometheus_exporter-2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 30b510e5a98533e6c41269f6b1f1dc3cab1231bd38c5cbf569472502025b5822
MD5 73673b8eafa41d7218a41a0cdffb79e2
BLAKE2b-256 649c2fbd8540a1f6c5780371d3bc656574364b9d71cceaaf39e02ef35d76f08f

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshtastic_prometheus_exporter-2.1-py3-none-any.whl:

Publisher: trunk.yml on artiommocrenco/meshtastic-prometheus-exporter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page