Monitoring

wis2box has built-in monitoring functions based on Prometheus, Loki and Grafana.

The Grafana endpoint can be visualized at http://localhost/monitoring.

Grafana uses two data sources to display monitoring data:

  • Prometheus: actively ‘scrapes’ data from the configured prometheus-client exporters every X seconds

  • Loki: logging endpoint for the Docker containers that compose the wis2box

Prometheus exporters for wis2box

The exporters for wis2box are based on the Prometheus Python Client

  • mqtt_metric_collector: collects data on messages published, using an mqtt-session subscribed to the wis2box-broker

wis2box also analyzes prometheus metrics from MinIO.

Note

For more information see the list of supported MinIO metrics

The default retention period for Prometheus metrics is 10 days. This value can be modified in the Prometheus startup flag --storage.tsdb.retention.time in docker-compose.monitoring.yml.

Loki logging

The logs of the following Docker containers are sent to Loki:

  • mosquitto

  • mqp-publisher

  • wis2box

  • wis2box-api

  • wis2box-auth

  • wis2box-ui

The default retention period for Loki logs is 10 days. This value can be modified in the Loki configuration at loki/loki-config.yml.

Monitoring topics