Skip to content

feat(Workflows Observability): add workflow cpu and memory saturation Alerts - #1752

Merged
hazdl merged 3 commits into
mainfrom
hz/workflows-observability-alerts
Oct 21, 2026
Merged

hazdl merged 3 commits into
mainfrom
hz/workflows-observability-alerts

Conversation

@hazdl

@hazdl hazdl commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Analysis Platform AP-1370

Add four Prometheus alert rules to monitor CPU and memory usage for containers in the workflows namespace.
The alerts detect when container resource usage approaches configured limits, providing early warning of resource pressure and critical alerts when usage becomes very high.

Proposed alert thresholds
These thresholds are sensible starting points and should be reviewed against actual workload behaviour. They are not confirmed project requirements.

Alert Threshold Duration Severity
Workflow CPU high Above 80% of CPU limit 10 minutes Warning
Workflow CPU critical Above 95% of CPU limit 5 minutes Critical
Workflow memory high Above 80% of memory limit 10 minutes Warning
Workflow memory critical Above 95% of memory limit 5 minutes Critical

Implementation
Add the four alert rules to alert-rules/alert-rules.tpl.yaml.

  • Use Prometheus container CPU usage metrics and Kubernetes container resource limits to calculate CPU saturation.
  • Use container memory working-set metrics and Kubernetes container resource limits to calculate memory saturation.
  • Group usage and limits by namespace, pod and container so each alert identifies the affected workload.
  • Restrict the rules to the workflows namespace and containers with configured resource limits.
  • Retain the existing Helm templating and ConfigMap generation mechanism so the rules can be managed through the monitoring chart and deployed by Argo CD.

Validation
Helm lint: Passed.
Helm template rendering: Passed.
Alert rule presence: All four rules found in rendered manifests.
Threshold verification: Confirmed the configured percentages, durations and severities.
Deployment verification: Report separately after checking the live ConfigMap and Prometheus rule loading.

Notes:
The rendered rules have been validated locally; their presence in the live Prometheus configuration should be verified after the changes are merged and reconciled by Argo CD.

Comment thread charts/monitoring/alert-rules/alert-rules.tpl.yaml Outdated
Comment thread charts/monitoring/alert-rules/alert-rules.tpl.yaml Outdated
@JamesDoingStuff
JamesDoingStuff dismissed their stale review October 20, 2026 09:45

Will re-review once focus of alerts is decided

@hazdl
hazdl requested a review from JamesDoingStuff October 20, 2026 11:17

@JamesDoingStuff JamesDoingStuff left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll reiterate that I think the alert info and group should be edited to remove the overloaded word 'workflow', but otherwise I think this is good

@hazdl
hazdl force-pushed the hz/workflows-observability-alerts branch from ce5bb80 to 8d4d48b Compare October 20, 2026 16:04
@hazdl

hazdl commented Oct 20, 2026

Copy link
Copy Markdown
Contributor Author

Removed the 'workflow' , I just exclude visit namespaces.

@hazdl
hazdl requested a review from JamesDoingStuff October 21, 2026 07:24
@hazdl

hazdl commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

Updated the alert group name to reflect core service resource saturation.

@hazdl
hazdl merged commit d66fe24 into main Oct 21, 2026
113 of 114 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants