I am trying to monitor an instance group and have a regex based filter. The Query looks like this
fetch instance_group
| metric 'compute.googleapis.com/instance_group/size'
| filter (resource.instance_group_name =~ 'nat-ecmp-[1|2]')
| group_by 1m, [value_size_mean: mean(value.size)]
| every 1m
Now i am trying to do the same in terraform.
This is what I have come up till now
condition_threshold {
filter = <<-EOF
resource.type=\"instance_group\"
metric.type=\"compute.googleapis.com/instance_group/size\"
resource.label."instance_group_name"=~"nat-ecmp-[1|2]"
EOF
duration = "300s"
comparison = "COMPARISON_LT"
threshold_value = "1"
But this yields the error
Error creating AlertPolicy: googleapi: Error 400: Field alert_policy.conditions[0].condition_threshold.filter had an invalid value of "resource.type="instance_group"
metric.type="compute.googleapis.com/instance_group/size"
resource.label."instance_group_name"=~"nat-ecmp-[1|2]"
": Could not parse filter "resource.type=\"instance_group\"\nmetric.type=\"compute.googleapis.com/instance_group/size\"\nresource.label.\"instance_group_name\"=~\"nat-ecmp-[1|2]\"\n"; syntax error at line 3, column 37, token '=~'
I have also tried this
condition_threshold {
filter = <<-EOF
resource.type=\"instance_group\"
metric.type=\"compute.googleapis.com/instance_group/size\"
resource.label.\"instance_group_name\"=~\"nat-ecmp-[1|2]\"
EOF
duration = "300s"
comparison = "COMPARISON_LT"
But I get the same result. What have I missed here ?