Add resorucequota related monitoring alerts#1057
Open
w13915984028 wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Resource Quotas documentation to explain how to observe ResourceQuota monitoring/alerts when the rancher-monitoring addon is enabled.
Changes:
- Adds a new section describing pre-configured ResourceQuota-related Prometheus alert rules.
- Adds step-by-step instructions for viewing ResourceQuota alerts in the Harvester UI / Prometheus.
- Adds an example
kubectloutput snippet and a screenshot reference for alert status.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
w13915984028
force-pushed
the
quota-alert
branch
2 times, most recently
from
June 3, 2026 19:28
f78f361 to
6d82ae0
Compare
|
Signed-off-by: Jian Wang <[email protected]>
jillian-maroket
requested changes
Jul 17, 2026
Comment on lines
+146
to
+148
| Monitoring resource usage is critical to cluster stability, as high `ResourceQuota` consumption can cause VM startup failures or prevent successful VM migrations. Real-time visibility and proactive notifications ensure you can address capacity constraints before they impact your workloads. | ||
|
|
||
| When the [rancher-monitoring](../advanced/addons.md) addon is enabled, it creates the `PrometheusRule` resource `rancher-monitoring-kubernetes-resources` in `cattle-monitoring-system`. This includes the following pre-configured ResourceQuota alert rules. |
Contributor
There was a problem hiding this comment.
Suggested change
| Monitoring resource usage is critical to cluster stability, as high `ResourceQuota` consumption can cause VM startup failures or prevent successful VM migrations. Real-time visibility and proactive notifications ensure you can address capacity constraints before they impact your workloads. | |
| When the [rancher-monitoring](../advanced/addons.md) addon is enabled, it creates the `PrometheusRule` resource `rancher-monitoring-kubernetes-resources` in `cattle-monitoring-system`. This includes the following pre-configured ResourceQuota alert rules. | |
| Resource usage monitoring is critical to cluster stability, as high `ResourceQuota` consumption can prevent virtual machines from starting or migrating. Real-time visibility and proactive notifications enable you to address capacity constraints before they impact active workloads. | |
| When the [rancher-monitoring](../advanced/addons.md) add-on is enabled, it creates a `PrometheusRule` resource named `rancher-monitoring-kubernetes-resources` in the `cattle-monitoring-system` namespace. This includes the following pre-configured `ResourceQuota` alert rules: |
Comment on lines
+150
to
+158
| ### Alert Rule Definitions | ||
|
|
||
| | Alert Name | Condition | Duration | | ||
| | :--- | :--- | :--- | | ||
| | **KubeCPUQuotaOvercommit** | CPU usage > 150% | 5 minutes | | ||
| | **KubeMemoryQuotaOvercommit** | Memory usage > 150% | 5 minutes | | ||
| | **KubeQuotaAlmostFull** | CPU/Memory usage between 90% and 100% | 15 minutes | | ||
| | **KubeQuotaFullyUsed** | CPU/Memory usage = 100% | 15 minutes | | ||
| | **KubeQuotaExceeded** | CPU/Memory usage > 100% | 15 minutes | |
Contributor
There was a problem hiding this comment.
Suggested change
| ### Alert Rule Definitions | |
| | Alert Name | Condition | Duration | | |
| | :--- | :--- | :--- | | |
| | **KubeCPUQuotaOvercommit** | CPU usage > 150% | 5 minutes | | |
| | **KubeMemoryQuotaOvercommit** | Memory usage > 150% | 5 minutes | | |
| | **KubeQuotaAlmostFull** | CPU/Memory usage between 90% and 100% | 15 minutes | | |
| | **KubeQuotaFullyUsed** | CPU/Memory usage = 100% | 15 minutes | | |
| | **KubeQuotaExceeded** | CPU/Memory usage > 100% | 15 minutes | | |
| | Alert Name | Condition | Duration | | |
| | :--- | :--- | :--- | | |
| | **KubeCPUQuotaOvercommit** | CPU usage > 150% | 5 minutes | | |
| | **KubeMemoryQuotaOvercommit** | Memory usage > 150% | 5 minutes | | |
| | **KubeQuotaAlmostFull** | CPU or memory usage is between 90% and 100% | 15 minutes | | |
| | **KubeQuotaFullyUsed** | CPU or memory usage = 100% | 15 minutes | | |
| | **KubeQuotaExceeded** | CPU or memory usage > 100% | 15 minutes | |
Comment on lines
+162
to
+174
| To inspect your current resource usage, use the `kubectl get resourcequota -A` command. This helps correlate your manual observations with the alert triggers. | ||
|
|
||
| **Example Output:** | ||
|
|
||
| For a `ResourceQuota` named `default-kflsw` in the `quota-test` namespace: | ||
|
|
||
| ```sh | ||
| NAMESPACE NAME REQUEST LIMIT | ||
| quota-test default-kflsw limits.cpu: 2015m/3, limits.memory: 4797464313/5000Mi | ||
| ... | ||
| ``` | ||
|
|
||
| In this instance, the memory usage 4797464313(4575Mi) is approximately 91.5% of the 5000Mi limit, which triggers the **KubeQuotaAlmostFull** alert once the 15-minute duration threshold is surpassed. |
Contributor
There was a problem hiding this comment.
Suggested change
| To inspect your current resource usage, use the `kubectl get resourcequota -A` command. This helps correlate your manual observations with the alert triggers. | |
| **Example Output:** | |
| For a `ResourceQuota` named `default-kflsw` in the `quota-test` namespace: | |
| ```sh | |
| NAMESPACE NAME REQUEST LIMIT | |
| quota-test default-kflsw limits.cpu: 2015m/3, limits.memory: 4797464313/5000Mi | |
| ... | |
| ``` | |
| In this instance, the memory usage 4797464313(4575Mi) is approximately 91.5% of the 5000Mi limit, which triggers the **KubeQuotaAlmostFull** alert once the 15-minute duration threshold is surpassed. | |
| You can run the command `kubectl get resourcequota -A` to check your current resource usage. Use the output to correlate your observations with the alert triggers. | |
| **Example:** | |
| A `ResourceQuota` object named `default-kflsw` was created in the `quota-test` namespace. | |
| ```sh | |
| NAMESPACE NAME REQUEST LIMIT | |
| quota-test default-kflsw limits.cpu: 2015m/3, limits.memory: 4797464313/5000Mi | |
| ... | |
| ``` | |
| In this example, the memory usage value `4797464313` (equivalent to 4575Mi) is approximately 91.5% of the 5000Mi limit. This triggers the **KubeQuotaAlmostFull** alert once the 15-minute threshold is reached. |
Comment on lines
+176
to
+184
| ### Observing Alerts in Harvester | ||
|
|
||
| Once threshold conditions are met and the duration has elapsed, alerts transition to the "Firing" state. Use the following steps to navigate to your monitoring dashboard: | ||
|
|
||
| 1. **Access Addons:** Go to the **Advanced** section of the Harvester dashboard and select **Addons**. | ||
| 2. **Open Monitoring:** Click on the **rancher-monitoring** addon. | ||
| 3. **Launch Prometheus:** Switch to the **Prometheus** tab and click the **Prometheus Graph** link. | ||
| 4. **Filter Alerts:** Within the Prometheus interface, click the **Alerts** tab. | ||
| 5. **Locate Rules:** Search for `kubernetes-resources` to view the status of your ResourceQuota alerts. |
Contributor
There was a problem hiding this comment.
Suggested change
| ### Observing Alerts in Harvester | |
| Once threshold conditions are met and the duration has elapsed, alerts transition to the "Firing" state. Use the following steps to navigate to your monitoring dashboard: | |
| 1. **Access Addons:** Go to the **Advanced** section of the Harvester dashboard and select **Addons**. | |
| 2. **Open Monitoring:** Click on the **rancher-monitoring** addon. | |
| 3. **Launch Prometheus:** Switch to the **Prometheus** tab and click the **Prometheus Graph** link. | |
| 4. **Filter Alerts:** Within the Prometheus interface, click the **Alerts** tab. | |
| 5. **Locate Rules:** Search for `kubernetes-resources` to view the status of your ResourceQuota alerts. | |
| ### Viewing Alert Details | |
| Once threshold conditions are met and the duration has elapsed, alerts transition to the _Firing_ state. | |
| To view alert details, perform the following steps: | |
| 1. On the Harvester UI, go to **Advanced > Add-ons**. | |
| 1. Click **rancher-monitoring**. | |
| 1. Go to the **Prometheus** tab and click **Prometheus Graph**. | |
| 1. On the Prometheus UI, go to **Alerts**. | |
| 1. Search for `kubernetes-resources` to view the status of your ResourceQuota alerts. |
Comment on lines
+186
to
+194
| *Figure: Alert status for the `ResourceQuota` `default-kflsw`.* | ||
|
|
||
|  | ||
|
|
||
| To integrate external notifications, refer to [Configure AlertmanagerConfig](../monitoring/harvester-monitoring.md#configure-alertmanagerconfig-from-webui) to forward alerts to a central monitoring or notification server. | ||
|
|
||
| For more information on managing alerts, see [View and Manage Alerts](../monitoring/harvester-monitoring.md#view-and-manage-alerts). | ||
|
|
||
| For troubleshooting guidance, refer to the [Prometheus Operator Runbooks](https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubequotaalmostfull/). |
Contributor
There was a problem hiding this comment.
Suggested change
| *Figure: Alert status for the `ResourceQuota` `default-kflsw`.* | |
|  | |
| To integrate external notifications, refer to [Configure AlertmanagerConfig](../monitoring/harvester-monitoring.md#configure-alertmanagerconfig-from-webui) to forward alerts to a central monitoring or notification server. | |
| For more information on managing alerts, see [View and Manage Alerts](../monitoring/harvester-monitoring.md#view-and-manage-alerts). | |
| For troubleshooting guidance, refer to the [Prometheus Operator Runbooks](https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubequotaalmostfull/). | |
| The following image shows the alert status for the `ResourceQuota` object named `default-kflsw`. | |
|  | |
| :::tip | |
| You can forward alerts to a central monitoring server by configuring an [`AlertmanagerConfig`](../monitoring/harvester-monitoring.md#configure-alertmanagerconfig-from-webui) resource. | |
| ::: | |
| For more information, see [View and Manage Alerts](../monitoring/harvester-monitoring.md#view-and-manage-alerts) in the **Monitoring** section of this document and [KubeQuotaAlmostFull](https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubequotaalmostfull/) in the `kube-prometheus` runbooks documentation. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem:
How to observe the monitoring and alerts upon resourcequota.
Solution:
Explain why and how to observe resourcequota related alerts.
Related Issue(s):
harvester/harvester#10093
harvester/harvester#10267
#981
Test plan:
Additional documentation or context
A simple webhook server to receive the alerts from Harvester cluster, it got below alert, with key information: