From 64e134c6015e66ba2f12a511a87eedd0ca4e7bff Mon Sep 17 00:00:00 2001 From: Gilles De Mey Date: Wed, 19 Jun 2024 16:28:46 +0200 Subject: [PATCH] Alerting: Do not check evaluation interval for external rulers (#89354) --- .../unified/components/rules/EditRuleGroupModal.tsx | 3 ++- .../unified/components/rules/RuleConfigStatus.tsx | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/public/app/features/alerting/unified/components/rules/EditRuleGroupModal.tsx b/public/app/features/alerting/unified/components/rules/EditRuleGroupModal.tsx index 662c582d1cd..70f2e4cc730 100644 --- a/public/app/features/alerting/unified/components/rules/EditRuleGroupModal.tsx +++ b/public/app/features/alerting/unified/components/rules/EditRuleGroupModal.tsx @@ -338,7 +338,8 @@ export function EditCloudGroupModal(props: ModalProps): React.ReactElement { - {checkEvaluationIntervalGlobalLimit(watch('groupInterval')).exceedsLimit && ( + {/* if we're dealing with a Grafana-managed group, check if the evaluation interval is valid / permitted */} + {isGrafanaManagedGroup && checkEvaluationIntervalGlobalLimit(watch('groupInterval')).exceedsLimit && ( )} diff --git a/public/app/features/alerting/unified/components/rules/RuleConfigStatus.tsx b/public/app/features/alerting/unified/components/rules/RuleConfigStatus.tsx index 9cd82bc4187..99ee72c4b85 100644 --- a/public/app/features/alerting/unified/components/rules/RuleConfigStatus.tsx +++ b/public/app/features/alerting/unified/components/rules/RuleConfigStatus.tsx @@ -7,6 +7,7 @@ import { Icon, Tooltip, useStyles2 } from '@grafana/ui/src'; import { CombinedRule } from '../../../../../types/unified-alerting'; import { checkEvaluationIntervalGlobalLimit } from '../../utils/config'; +import { isGrafanaRulerRule } from '../../utils/rules'; interface RuleConfigStatusProps { rule: CombinedRule; @@ -14,11 +15,11 @@ interface RuleConfigStatusProps { export function RuleConfigStatus({ rule }: RuleConfigStatusProps) { const styles = useStyles2(getStyles); + const isGrafanaManagedRule = isGrafanaRulerRule(rule.rulerRule); - const { exceedsLimit } = useMemo( - () => checkEvaluationIntervalGlobalLimit(rule.group.interval), - [rule.group.interval] - ); + const exceedsLimit = useMemo(() => { + return isGrafanaManagedRule ? checkEvaluationIntervalGlobalLimit(rule.group.interval).exceedsLimit : false; + }, [rule.group.interval, isGrafanaManagedRule]); if (!exceedsLimit) { return null;