2021-08-24 11:36:35 +02:00

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"
}
}
}