70 lines
1.7 KiB
HCL
70 lines
1.7 KiB
HCL
# Monitor for the the disk usage.
|
|
resource "datadog_monitor" "disk_usage" {
|
|
name = "Disk usage high"
|
|
query = "avg(last_5m):${var.disk_usage["query"]}{*} by ${var.trigger_by} * 100 > ${var.disk_usage["threshold"]}"
|
|
type = "metric alert"
|
|
notify_no_data = true
|
|
include_tags = true
|
|
|
|
message = <<EOM
|
|
Disk usage high: {{value}}
|
|
${var.datadog_alert_footer}
|
|
EOM
|
|
}
|
|
|
|
# Monitor for the the CPU usage.
|
|
resource "datadog_monitor" "cpu_usage" {
|
|
name = "CPU usage high"
|
|
query = "avg(last_5m):${var.cpu_usage["query"]}{*} by ${var.trigger_by} > ${var.cpu_usage["threshold"]}"
|
|
type = "query alert"
|
|
notify_no_data = true
|
|
include_tags = true
|
|
|
|
message = <<EOM
|
|
CPU usage high: {{value}}
|
|
${var.datadog_alert_footer}
|
|
EOM
|
|
}
|
|
|
|
# Timeboard including graphs of the disk and CPU usage, each graph includes a marker incidicating the metric's monitor alert threshold.
|
|
resource "datadog_timeboard" "host_metrics" {
|
|
title = "Host metrics"
|
|
description = "Host level metrics: CPU, memory, disk, etc."
|
|
read_only = true
|
|
|
|
graph {
|
|
title = "CPU usage"
|
|
viz = "timeseries"
|
|
autoscale = true
|
|
|
|
request {
|
|
q = "${var.cpu_usage["query"]}{*} by ${var.trigger_by}"
|
|
aggregator = "avg"
|
|
type = "line"
|
|
}
|
|
|
|
marker {
|
|
value = "y > ${var.cpu_usage["threshold"]}"
|
|
type = "error dashed"
|
|
}
|
|
}
|
|
|
|
graph {
|
|
title = "Disk usage"
|
|
viz = "timeseries"
|
|
autoscale = true
|
|
|
|
request {
|
|
q = "${var.disk_usage["query"]}{*} by ${var.trigger_by}"
|
|
aggregator = "avg"
|
|
type = "line"
|
|
}
|
|
|
|
marker {
|
|
value = "y > ${var.disk_usage["threshold"]}"
|
|
type = "error dashed"
|
|
}
|
|
}
|
|
}
|
|
|