在GCP(使用terraform创建)中提供以下警报策略
\1
我收到以下错误消息(这是也创建集群的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
}
}
}
}
现在,这是一个自定义指标(通过带有Micrometer的Spring Boot应用程序),因此在创建基础结构时该指标不存在。 GCP是否必须为指标创建警报之前就知道该指标?这是否意味着必须在群集上部署Spring Boot应用程序并发送指标才能创建此策略?
我是否缺少某些东西...(例如在地形,基础设施中不应这样做)?
答案 0 :(得分:1)
一个有趣的问题,出现404错误的原因是因为找不到资源,描述符似乎已经存在先决条件。我将首先创建metric descriptor,您可以使用this作为参考,然后继续创建警报策略。
这是您可以避免的一种巧妙方法。如果可行,请发表评论,并分享它。
答案 1 :(得分:0)
作为参考(可以根据terraform doc从警报策略中参考):
@IBOutlet var testButton: UIButton!
override func viewDidLoad() {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
}
@IBAction func testButtonAction(_ sender: Any) {
print("INSIDE testButtonAction")
self.testButton.isSelected = !self.testButton.isSelected
if self.testButton.isSelected {
self.testButton.setImage(UIImage(named: "icn_checked")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
} else {
self.testButton.setImage(UIImage(named: "icn_checkbox_")?.imageWithColor(color: CMStyle.darkBlueColor), for: .normal)
}
}