alicloud_arms_prometheus_alert_rule
更新时间:
Provides a Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule resource.
For information about Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule and how to use it, see What is Prometheus Alert Rule.
-> NOTE: Available since v1.136.0.
Example Usage
Basic Usage
variable "name" {
default = "tf-example"
}
data "alicloud_zones" "default" {
available_resource_creation = "VSwitch"
}
resource "alicloud_vpc" "default" {
vpc_name = var.name
cidr_block = "10.4.0.0/16"
}
resource "alicloud_vswitch" "default" {
vswitch_name = var.name
cidr_block = "10.4.0.0/24"
vpc_id = alicloud_vpc.default.id
zone_id = data.alicloud_zones.default.zones.0.id
}
data "alicloud_instance_types" "default" {
availability_zone = alicloud_vswitch.default.zone_id
cpu_core_count = 2
memory_size = 4
kubernetes_node_role = "Worker"
instance_type_family = "ecs.sn1ne"
}
resource "alicloud_cs_managed_kubernetes" "default" {
name_prefix = var.name
cluster_spec = "ack.pro.small"
worker_vswitch_ids = [alicloud_vswitch.default.id]
new_nat_gateway = true
pod_cidr = cidrsubnet("10.0.0.0/8", 8, 36)
service_cidr = cidrsubnet("172.16.0.0/16", 4, 7)
slb_internet_enabled = true
}
resource "random_integer" "default" {
min = 10000
max = 99999
}
resource "alicloud_key_pair" "default" {
key_pair_name = "${var.name}-${random_integer.default.result}"
}
resource "alicloud_cs_kubernetes_node_pool" "default" {
name = "desired_size"
cluster_id = alicloud_cs_managed_kubernetes.default.id
vswitch_ids = [alicloud_vswitch.default.id]
instance_types = [data.alicloud_instance_types.default.instance_types.0.id]
system_disk_category = "cloud_efficiency"
system_disk_size = 40
key_name = alicloud_key_pair.default.key_pair_name
desired_size = 2
}
resource "alicloud_arms_prometheus" "default" {
cluster_type = "aliyun-cs"
grafana_instance_id = "free"
cluster_id = alicloud_cs_kubernetes_node_pool.default.cluster_id
}
resource "alicloud_arms_prometheus_alert_rule" "example" {
cluster_id = alicloud_cs_managed_kubernetes.default.id
duration = 1
expression = "node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10"
message = "node available memory is less than 10%"
prometheus_alert_rule_name = var.name
notify_type = "DISPATCH_RULE"
}
Argument Reference
The following arguments are supported:
annotations
- (Optional) The annotations of the alert rule. Seeannotations
below.cluster_id
- (Required, ForceNew) The ID of the cluster.dispatch_rule_id
- (Optional) The ID of the notification policy. This parameter is required when thenotify_type
parameter is set toDISPATCH_RULE
.duration
- (Required, ForceNew) The duration of the alert.expression
- (Required, ForceNew) The alert rule expression that follows the PromQL syntax.labels
- (Optional) The labels of the resource. Seelabels
below.message
- (Required, ForceNew) The message of the alert notification.notify_type
- (Optional) The method of sending the alert notification. Valid values:ALERT_MANAGER
,DISPATCH_RULE
.prometheus_alert_rule_name
- (Required, ForceNew) The name of the resource.type
- (Optional, ForceNew) The type of the alert rule.
labels
The labels supports the following:
name
- (Optional) The name of the label.value
- (Optional) The value of the label.
annotations
The annotations supports the following:
name
- (Optional) The name of the annotation.value
- (Optional) The value of the annotation.
Attributes Reference
The following attributes are exported:
id
- The resource ID of Prometheus Alert Rule. The value formats as<cluster_id>:<prometheus_alert_rule_id>
.prometheus_alert_rule_id
- The first ID of the resource.status
- The status of the resource. Valid values:0
,1
.
Import
Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g.
$ terraform import alicloud_arms_prometheus_alert_rule.example <cluster_id>:<prometheus_alert_rule_id>
文档内容是否对您有帮助?