All Projects → inovex → Mqtt_blackbox_exporter

inovex / Mqtt_blackbox_exporter

Licence: apache-2.0
Prometheus Exporter for MQTT monitoring

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Mqtt blackbox exporter

Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (+305.26%)
Mutual labels:  exporter, monitoring, prometheus
Awesome Prometheus Alerts
🚨 Collection of Prometheus alerting rules
Stars: ✭ 3,323 (+5729.82%)
Mutual labels:  exporter, monitoring, prometheus
Hana sql exporter
SAP Hana SQL Exporter for Prometheus
Stars: ✭ 18 (-68.42%)
Mutual labels:  exporter, monitoring, prometheus
Exporterhub.io
A Curated List of Prometheus Exporters
Stars: ✭ 252 (+342.11%)
Mutual labels:  exporter, monitoring, prometheus
Raspberrypi exporter
Prometheus exporter for Raspberry Pi metrics
Stars: ✭ 18 (-68.42%)
Mutual labels:  exporter, prometheus
Unifi exporter
Multiarch images for scraping Prometheus metrics from a Unifi Controller. Kubernetes / prometheus-operator compatible.
Stars: ✭ 54 (-5.26%)
Mutual labels:  monitoring, prometheus
Openstack Exporter
Prometheus openstack exporter written in Golang.
Stars: ✭ 23 (-59.65%)
Mutual labels:  exporter, prometheus
Prometheus Net
.NET library to instrument your code with Prometheus metrics
Stars: ✭ 944 (+1556.14%)
Mutual labels:  monitoring, prometheus
Prometheus Example Queries
Simple place for people to provide examples of queries they've found useful.
Stars: ✭ 765 (+1242.11%)
Mutual labels:  monitoring, prometheus
Postgresql exporter
A Prometheus exporter for some postgresql metrics
Stars: ✭ 26 (-54.39%)
Mutual labels:  monitoring, prometheus
Go Grpc Prometheus
Prometheus monitoring for your gRPC Go servers.
Stars: ✭ 965 (+1592.98%)
Mutual labels:  monitoring, prometheus
Eventstore exporter
EventStoreDB (https://eventstore.com/eventstoredb/) metrics Prometheus exporter.
Stars: ✭ 36 (-36.84%)
Mutual labels:  exporter, prometheus
Django Prometheus
Export Django monitoring metrics for Prometheus.io
Stars: ✭ 823 (+1343.86%)
Mutual labels:  monitoring, prometheus
Druid Exporter
A Golang based exporter captures druid API related metrics and receives druid-emitting HTTP JSON data.
Stars: ✭ 54 (-5.26%)
Mutual labels:  exporter, prometheus
Prometheus
Kubernetes Setup for Prometheus and Grafana
Stars: ✭ 824 (+1345.61%)
Mutual labels:  monitoring, prometheus
Promviz
Visualize the traffic of your clusters in realtime from Prometheus data
Stars: ✭ 884 (+1450.88%)
Mutual labels:  monitoring, prometheus
Zookeeper exporter
Prometheus exporter for monitoring a ZooKeeper ensemble.
Stars: ✭ 32 (-43.86%)
Mutual labels:  monitoring, prometheus
Karma
Alert dashboard for Prometheus Alertmanager
Stars: ✭ 1,007 (+1666.67%)
Mutual labels:  monitoring, prometheus
Homer7 Docker
HOMER 7 Docker Images
Stars: ✭ 47 (-17.54%)
Mutual labels:  monitoring, prometheus
Promgen
Promgen is a configuration file generator for Prometheus
Stars: ✭ 754 (+1222.81%)
Mutual labels:  monitoring, prometheus

MQTT Blackbox Exporter

Build Status Go Report Card Docker Pulls

Tests MQTT messaging roundtrips (publish/subscribe on same topic).

Definition of roundtrip:

  • start subscriber on $topic
  • start publisher on $topic
  • publish $messages on $topic
  • receive $message on $topic

Build

$ mkdir -p ${GOPATH}/src/github.com/inovex/
$ git clone https://github.com/inovex/mqtt_blackbox_exporter.git ${GOPATH}/src/github.com/inovex/mqtt_blackbox_exporter/
$ cd ${GOPATH}/src/github.com/inovex/mqtt_blackbox_exporter/
$ make

This will build the mqtt_blackbox_exporter for all target platforms and write them to the build/ directory.

Binaries are provided on Github, see https://github.com/inovex/mqtt_blackbox_exporter.

Install

Place the binary somewhere in a PATH directory and make it executable (chmod +x mqtt_blackbox_exporter).

Configure

See config.yaml.dist for a configuration example.

Run

Native:

$ ./mqtt_blackbox_exporter -config.file config.yaml

Using Docker:

docker run --rm -it -p 9214:9214 -v ${PWD}/:/data/ inovex/mqtt_blackbox_exporter:<VERSION> -config.file /data/config.yaml
$ curl -s http://127.0.0.1:9214/metrics
...
# HELP probe_mqtt_completed_total Number of completed probes.
# TYPE probe_mqtt_completed_total counter
probe_mqtt_completed_total{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL"} 64

...

# HELP probe_mqtt_duration_seconds Time taken to execute probe.
# TYPE probe_mqtt_duration_seconds histogram
probe_mqtt_duration_seconds_bucket{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL",le="0.005"} 0
probe_mqtt_duration_seconds_bucket{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL",le="0.01"} 0
probe_mqtt_duration_seconds_sum{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL"} 50.09346619300002
probe_mqtt_duration_seconds_count{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL"} 64
...

# HELP probe_mqtt_messages_published_total Number of published messages.
# TYPE probe_mqtt_messages_published_total counter
probe_mqtt_messages_published_total{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL"} 640
...

# HELP probe_mqtt_messages_received_total Number of received messages.
# TYPE probe_mqtt_messages_received_total counter
probe_mqtt_messages_received_total{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL"} 640
...

# HELP probe_mqtt_started_total Number of started probes.
# TYPE probe_mqtt_started_total counter
probe_mqtt_started_total{broker="ssl://mqtt.example.net:8883",name="mqtt broker SSL"} 64
...

Release

The release is done automatically by goreleaser. To release a new version, just set a git tag. Goreleaser run by Github Actions will create the binaries and upload them to the according Github release.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].