mqtt_statsd
As the name implies this a script to publish MQTT metrics into statsd. It was originally designed to handle metrics from the $SYS/ topics in the mosquitto broker, but the framework is generic enough that any MQTT topic can be used.
Installation
mqtt_statsd is available via pypi, so all you need to do is run:
pip install -U mqtt_statsd
to get mqtt_statsd on your system. If you need to use a development version of mqtt_statsd you can clone the repo and install it locally with:
git clone https://github.com/mtreinish/mqtt_statsd.git && pip install -e mqtt_statsd
which will install mqtt_statsd in your python environment in editable mode for local development.
Configuring mqtt_statsd
Before you run mqtt_statsd you have to create a yaml configuration file to tell mqtt_statsd how to connect to both the MQTT broker, and statsd. As well as which MQTT topics to subscribe to and how to populate statsd with the data it gets from that MQTT topic. For example:
statsd:
hostname: localhost
# port is optional, the default is shown
port: 8125
# prefix is optional, the default is shown
prefix: mosquitto.stats
mqtt:
hostname: localhost
# port is optional, the default is shown
port: 1883
# keepalive is optional, the default is shown
keepalive: 60
# username is optional, there is no default
username: foo
# password is optional, there is no default. If username isn't set this
# is ignored
password: PASS
# qos is optional, the default is shown
qos: 0
# websocket is optional, it defaults to False
websocket: True
topics:
# You can specify as many topics as you want, and mqtt_statsd will
# listen to all of them
- $SYS/broker/messages/publish/sent:
statsd_topic: publish_messages_sent
# statsd_type is optional, the default is shown. Valid options are
# gague, counter, and timer
statsd_type: gauge
- $SYS/broker/clients/connected:
statsd_topic: connected_clients
Running mqtt_statsd
Aftering installing and configuring mqtt_statsd running it is incredibly straightforward. Just call mqtt_statsd and it takes 1 mandatory argument, the path to the yaml config file. For example:
mqtt_statsd my_config_file.yaml
Metadata
Release files for mqtt-statsd 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mqtt_statsd-0.0.1.tar.gz | 16.1 kB | Without provenance | Details |
Release files / mqtt_statsd-0.0.1.tar.gz
| Download URL | mqtt_statsd-0.0.1.tar.gz |
|---|---|
| Size | 16.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31bc30912f7d0cd4e19fbc1b840ba55a3a4fa8fb7b1ff1bfaaff800f59f3e517
|
|
BLAKE2b-256 checksum How to use checksums |
cb5f310e171a057a07d45ca8c00891cdd7eaf74c068651a98e6700d1cf236507
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for mqtt-statsd 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.