提问人:arpit mandlik 提问时间:7/27/2023 最后编辑:arpit mandlik 更新时间:7/28/2023 访问量:85
GCP监控,保存警报时出现警报策略错误?需要创建警报,当 Pod 的 75% 的限制被突破时将触发警报
GCP Monitoring, alert policy error while saving the alert? Need to create alert which will trigger when 75% of pod's limit is breached
问:
我们一直在利用基于 Prometheus 查询语言 (PromQL) 的特定警报配置的 Grafana。现在,我们正在过渡到 Stackdriver,这是 Google Cloud Platform 的原生监控解决方案,它使用指标查询语言 (MQL) 而不是 PromQL。因此,我们需要将现有的 Grafana 警报查询转换为 MQL。
以下是转换后的 MQL 查询,我认为这是适当的转换:
{
fetch k8s_container::kubernetes.io/container/memory/used_bytes
| filter metric.memory_type == 'non-evictable'
| group_by 5m, [value_used_bytes_mean: mean(value.used_bytes)]
| every 5m
;
fetch k8s_container::kubernetes.io/container/memory/limit_bytes
}
| filter
(resource.cluster_name == 'k8s-cluster'
&& resource.namespace_name == 'test1'
&& resource.pod_name =~ '^api.*' )
| join | div | mul 100
| condition val() > cast_units(75, '%')
虽然转换后的查询在生成警报时起作用,但在尝试在 Stackdriver 中保存警报策略时,我们遇到了一个问题,即错误“错误:无法保存警报策略。请求包含无效参数。
为了解决这个错误,我们需要进一步调查根本原因。该错误可能源于查询中的某些无效字符、不支持的聚合或其他因素。仔细检查查询的语法正确性,检查任何不适当的字符或符号,并确保与 Stackdriver 支持的功能兼容,这一点至关重要
我已经尝试了条件的多种组合,因为问题似乎发生在条件语句中,
condition val() > cast_units(75, '%')
condition val() > 75 '%'
condition val() > 75 'By'
像这样的东西还有很多。
答: 暂无答案
评论