google-cloud-platform - 如何在 GCP 中为未知的自定义指标创建警报策略
问题描述
鉴于 GCP 中的以下警报策略(使用 terraform 创建)
resource "google_monitoring_alert_policy" "latency_alert_policy" {
display_name = "Latency of 95th percentile more than 1 second"
combiner = "OR"
conditions {
display_name = "Latency of 95th percentile more than 1 second"
condition_threshold {
filter = "metric.type=\"custom.googleapis.com/http/server/requests/p95\" resource.type=\"k8s_pod\""
threshold_value = 1000
duration = "60s"
comparison = "COMPARISON_GT"
aggregations {
alignment_period = "60s"
per_series_aligner= "ALIGN_NEXT_OLDER"
cross_series_reducer= "REDUCE_MAX"
group_by_fields = [
"metric.label.\"uri\"",
"metric.label.\"method\"",
"metric.label.\"status\"",
"metadata.user_labels.\"app.kubernetes.io/name\"",
"metadata.user_labels.\"app.kubernetes.io/component\""
]
}
trigger {
count = 1
percent = 0
}
}
}
}
我收到以下此错误(它是 terraform 项目的一部分,也创建了集群):
Error creating AlertPolicy: googleapi: Error 404: The metric referenced by the provided filter is unknown. Check the metric name and labels.
现在,这是一个自定义指标(由带有 Micrometer 的 Spring Boot 应用程序),因此在创建基础架构时该指标不存在。GCP 在为它创建警报之前是否必须知道一个指标?这是否意味着必须在集群上部署 Spring Boot 应用程序并发送指标才能创建此策略?
我是否遗漏了一些东西......(这样不应该在 terraform、基础设施中完成)?
解决方案
推荐阅读
- ruby-on-rails - 在 Ruby 中将时间类增加 30 秒到分钟
- python-3.x - 正则表达式匹配与点组合在一起的字符串
- javascript - 如何消除 javascript 中所有分配的字符,如字符串中的 ""、''、{}
- solr - 使用特殊字符“-”搜索在 Apache Solr 中不起作用
- python - django中的for循环检索所有用户而不是一个和M2M字段数据输出
- angular - 更改选项卡时,Ionic2-Super-Tabs 内容变为空
- python - 在python csv中删除具有多个特定值的行
- javascript - 如何在 React 中在没有全页面刷新的情况下在组件之间路由?
- react-native - 领域中对象数组的数据类型 - 反应本机领域
- javascript - 从 sessionStorage 中检索 Just JWT 令牌