You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Trigger: Cost of the redis component exceeds USD 2 in 5 minutes
418
-
- Trait instance name: `redis-budget-alert`
416
+
417
+
:::tip
418
+
To configure a **budget-based** alert (and have the **FinOps Agent** generate an AI cost analysis report when it fires), see [Configure Budget Alert and Perform Cost Analysis using FinOps Agent](./configure-budget-alert-and-cost-analysis.mdx).
419
+
:::
419
420
420
421
Attach the alert-rule traits to existing components by appending them to spec.traits if the field already exists,
#### Notification Channels Are Configured Per Environment
@@ -605,7 +566,6 @@ This step creates `ReleaseBinding`s that:
605
566
-`frontend` component: overrides `PRODUCT_CATALOG_SERVICE_ADDR` to an invalid endpoint
606
567
-`recommendation` component: reduces CPU requests/limits to make high CPU easier to hit
607
568
-`cart` component: reduces memory requests/limits to make high memory easier to hit
608
-
-`redis` component: inflates CPU and memory requests/limits so the projected cost crosses the budget threshold in a short period of time
609
569
- Configure alert behavior for the `development` environment via `traitEnvironmentConfigs`:
610
570
- Enable/disable alert rules
611
571
- Select notification channels
@@ -693,42 +653,11 @@ spec:
693
653
memory: "150Mi"
694
654
# Note: traitEnvironmentConfigs is omitted here.
695
655
# Defaults: alert enabled, incident creation disabled, no AI RCA, uses environment's default notification channel
696
-
697
-
---
698
-
# ReleaseBinding for redis component with oversized resource requests/limits to trigger a budget alert
699
-
apiVersion: openchoreo.dev/v1alpha1
700
-
kind: ReleaseBinding
701
-
metadata:
702
-
name: redis-development
703
-
namespace: default
704
-
spec:
705
-
owner:
706
-
projectName: gcp-microservice-demo
707
-
componentName: redis
708
-
environment: development
709
-
componentTypeEnvironmentConfigs:
710
-
resources:
711
-
requests:
712
-
cpu: "500m"
713
-
memory: "400Mi"
714
-
limits:
715
-
cpu: "1000m"
716
-
memory: "1000Mi"
717
-
traitEnvironmentConfigs:
718
-
redis-budget-alert:
719
-
enabled: true
720
-
actions:
721
-
notifications:
722
-
channels:
723
-
- "webhook-notification-channel-development"
724
-
incident:
725
-
enabled: true
726
-
triggerAiCostAnalysis: true
727
656
EOF
728
657
```
729
658
730
659
:::note
731
-
`actions.incident.triggerAiRca: true`and`actions.incident.triggerAiCostAnalysis: true` both require `actions.incident.enabled: true`. `triggerAiCostAnalysis` is only valid for alerts with `source.type: budget`.
@@ -772,14 +701,6 @@ Also you can acknowledge and resolve incidents via the Backstage portal when the
772
701
773
702
If you have properly configured the [SRE Agent](../ai/sre-agent.mdx), you can verify AI root cause analysis by checking the RCA reports in the Backstage portal when an incident is created.
774
703
775
-
### Step 9: Verify Budget Alert and AI Cost Analysis
776
-
777
-
Within a few minutes of applying the redis `ReleaseBinding`, the `redis-budget-alert` should fire because the inflated CPU/memory requests push the cost above the threshold.
778
-
779
-
- Confirm alert delivery to the configured webhook notification channel.
780
-
- Confirm that an incident was created for the budget alert
781
-
- If the FinOps Agent is configured, an **AI cost analysis** report is generated for the incident — view it in the Backstage portal alongside the incident. The cost analysis report provides a cost optimization recommendation and lets you apply the recommendation automatically.
782
-
783
704
## Summary
784
705
785
706
You attached OpenChoreo **observability alert rules** to existing components (as `observability-alert-rule` traits), configured **email** and **webhook** notification channels per environment, and enabled **incident creation** (plus AI root cause analysis) via `ReleaseBinding``traitEnvironmentConfigs`.
@@ -789,6 +710,7 @@ Then you triggered the alerts using controlled misconfigurations, and verified a
789
710
## Next Steps
790
711
791
712
- Configure and tune the [SRE Agent](../ai/sre-agent.mdx) for your observability/AI requirements.
713
+
- Follow [Configure Budget Alert and Perform Cost Analysis using FinOps Agent](./configure-budget-alert-and-cost-analysis.mdx) to set up budget alerts and AI cost analysis.
792
714
- Explore how to view and manage alerts/incidents via the Observer API (Backstage portal and OpenChoreo MCP server).
793
715
- Customize webhook formatting using `payloadTemplate` for downstream systems (for example, Slack-compatible payloads).
794
716
- Refer to [Observability Alerting](../platform-engineer-guide/observability-alerting.mdx) for how alerting architecture works in OpenChoreo.
0 commit comments