Monitoring

Grafana

Flagger comes with a Grafana dashboard made for canary analysis. Install Grafana with Helm:

helm upgrade -i flagger-grafana flagger/grafana \
--set url=http://prometheus:9090

The dashboard shows the RED and USE metrics for the primary and canary workloads:

Canary Dashboard

Logging

The canary errors and latency spikes have been recorded as Kubernetes events and logged by Flagger in json format:

Event Webhook

Flagger can be configured to send event payloads to a specified webhook:

The environment variable EVENT_WEBHOOK_URL can be used for activating the event-webhook, too. This is handy for using a secret to store a sensible value that could contain api keys for example.

When configured, every action that Flagger takes during a canary deployment will be sent as JSON via an HTTP POST request. The JSON payload has the following schema:

Example:

The event webhook can be overwritten at canary level with:

Metrics

Flagger exposes Prometheus metrics that can be used to determine the canary analysis status and the destination weight values:

Last updated

Was this helpful?