Terraformによる設定管理 (IaC)
監視設定をコード化(Infrastructure as Code)することで、バージョン管理、レビュープロセスの導入、環境間の設定統一が容易になります。
Provider設定
hcl
terraform {
required_providers {
datadog = {
source = "DataDog/datadog"
}
}
}
provider "datadog" {
api_key = var.datadog_api_key
app_key = var.datadog_app_key
}Monitorリソースの定義
hcl
resource "datadog_monitor" "cpu_high" {
name = "High CPU Usage"
type = "metric alert"
query = "avg(last_5m):avg:system.cpu.user{*} > 90"
message = "CPU usage is high on {{host.name}}. Please investigate."
monitor_thresholds {
critical = 90
warning = 80
}
}ベストプラクティス
- Module化: 共通の監視パターン(例: Webサーバーセット)をモジュール化して再利用する。
- Import: 既存の手動作成したリソースを
terraform importで取り込み、コード管理に移行する。