# Metric monitor
The integration called metric-monitor is a Lynx component that can be installed and configured to monitor devices and functions for old data. The main usage of this is to tell if the device has become unresponsive. This is done by configuring a time interval where the function or device should have sent at least one message.
# Configuration
Configuration of the metric monitor is done using meta-data on either functions or devices.
Note: Only the MQTT topic in topic_read
will be monitored.
# Format
Key: metric_monitor.max_silent_time
The metric-monitor reads this value as a duration of time as specified by
golang:s standard duration parser (opens new window). This means that the biggest time unit
that can be specified is in h
(hour).
# On a Function
When set on a function only that function is monitored. The event is still triggered as expected for that function and the resulting meta is applied to the function.
# On a Device
When set on the device the metric-monitor wil monitor all functions connected to that device. This mainly used for devices that might not report every value on updates. An example would be a smoke-sensor that would normally update battery every 24h but not the other values.
The resulting meta-data will be set on the device and not the functions.
# Result
The metric monitor uses meta-data to mark functions or devices that have met the threshold configured by the user. It also uses MQTT to create an event when status for an object is updated.
# Meta-data
The metric-monitor will set two meta-data keys on objects that it detects with too old data.
The keys metric_monitor.status
and metric_monitor.status_text
will be set to
the following settings.
Status | Text |
---|---|
0 | OK |
1 | Warning |
2 | Critical |
# Event
An event will be published on MQTT on the
topic <client_id>/evt/metric-monitor/status_updated
when changes to the status
is detected. It is recommended to subscribe to this topic to trigger
notifications or other functionality. The following describes the structure that
the metric-monitor sends in the event MQTT message.
{
"installation_id": 1,
"object_type": "device",
"object_id": 1,
"timestamp": 1644930810
}