Skip to main content
The alert engine (monitedge) exposes a set of Prometheus metrics locally, covering three failures that silently stop monitoring: the connection to the center is down, rule sync has stalled, and rules keep failing to evaluate. Scrape them into your own time series database and you can tell, outside the console, whether this engine is still doing its job. These metrics are not shown in the console and have no menu entry. You can only read them from the engine’s /metrics.

How to scrape

/metrics shares the engine’s http.listen port, 0.0.0.0:6868 by default, and needs no authentication. Point your own Prometheus or VictoriaMetrics at it:
Flashduty does not scrape these metrics for you. The Alert Engine Status page in the console shows the instance list, heartbeat, and version, but none of these metrics; they exist only in your own time series database.
Don’t let the engine you are monitoring evaluate alerts on its own metrics. When the engine process exits, its lease is not ACTIVE (for example because heartbeats to the center stopped), rules running on that engine neither evaluate nor deliver events. Use the center-side engine disconnection alert to catch an engine going down; the metric alerts below belong on your own Prometheus/Alertmanager, or on another engine cluster.

Connection to the center

An engine started with -alerter.webSocketDisable never opens a WebSocket connection, so monit_edge_websocket_connected stays 0 and connects_total never grows. Don’t use monit_edge_websocket_connected to judge connection health on such an instance; the lease metrics are not affected by this flag.

Rule sync

The engine syncs rules from the center every 10 seconds by default.

Rule evaluation

The error_type of a failed round comes from a fixed set, so you can group alerts on it directly:
When monit_edge_alert_rule_failing_duration_seconds climbs, check the scope with monit_edge_alert_rule_scopes{state="failing"}. Many scopes failing on one datasource usually means that datasource is unavailable; only one or two failing means the query or threshold of that rule is the problem. Per-rule execution state and error summary are in the console under Runtime Details; see Rule runtime details.

Query concurrency and build

The table below gives rules you can copy as-is, as a metric plus a sustained condition. With more than one instance, keep instance or your own instance label so the same series name on different instances doesn’t overwrite itself.
Entity tree alerts use a different metric family (monit_edge_entity_alert_*) for entity discovery, condition queries, and entity event delivery. This page covers ordinary alert rules only.