Skip to main content
Version: 2.7.0

Alerting

Overview

Aperture provides a versatile solution for defining complex alert criteria using circuit-based policies. These policies enable intricate signal processing on one or more metrics, aiding in the precise detection of alert conditions.

Policies are evaluated periodically and query metrics from Prometheus using PromQL, which are subsequently processed in a circuit to derive intermediate signals. A Decider component can be used to check if a specific signal surpasses a predetermined threshold and alert on it.

The alert events are forwarded to a Prometheus Alert Manager endpoint. Operators can then consume notifications from these alerts through their preferred channels, ensuring prompt response to any potential issues.

flowchart LR classDef Controller fill:#F8773D,stroke:#000000,stroke-width:2px; classDef Service fill:#56AE89,stroke:#000000,stroke-width:1px; classDef Agent fill:#56AE89,stroke:#000000,stroke-width:2px; Agent -- "Write" --> Prometheus Prometheus <-- "Read" --> Controller subgraph "Controller" Signal("Signal Processing") end Controller -- "Alerting" --> AlertManager class Controller Controller class Agent Agent class Prometheus Service class AlertManager Service

The diagram depicts agents collecting metrics into Prometheus (the metrics can be collected by any other mechanism). These metrics are queried by the controller, processed in the circuit-based policies to compute Alert events which are relayed to the Alert Manager.

Example Scenario

Examples of complex alerting scenarios include:

  1. Auto-learning the alerting threshold based on past trends.
  2. Threshold based alert conditions combining multiple metrics.