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:
The event webhook can be overwritten at canary level with:
analysis:webhooks: - name:"send to Slack"type:eventurl:http://event-recevier.notifications/slack
Metrics
Flagger exposes Prometheus metrics that can be used to determine the canary analysis status and the destination weight values:
# Flagger version and mesh provider gaugeflagger_info{version="0.10.0",mesh_provider="istio"}1# Canaries total gaugeflagger_canary_total{namespace="test"}1# Canary promotion last known status gauge# 0 - running, 1 - successful, 2 - failedflagger_canary_status{name="podinfo"namespace="test"}1# Canary traffic weight gaugeflagger_canary_weight{workload="podinfo-primary"namespace="test"}95flagger_canary_weight{workload="podinfo"namespace="test"}5# Seconds spent performing canary analysis histogramflagger_canary_duration_seconds_bucket{name="podinfo",namespace="test",le="10"}6flagger_canary_duration_seconds_bucket{name="podinfo",namespace="test",le="+Inf"}6flagger_canary_duration_seconds_sum{name="podinfo",namespace="test"}17.3561329flagger_canary_duration_seconds_count{name="podinfo",namespace="test"}6# Last canary metric analysis result per different metricsflagger_canary_metric_analysis{metric="podinfo-http-successful-rate",name="podinfo",namespace="test"}1flagger_canary_metric_analysis{metric="podinfo-custom-metric",name="podinfo",namespace="test"}0.918223108974359