2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Azure】Terraformで Azure Monitorを使ってみた

Posted at

はじめに

前回は、Terraformを活用して、Virtual Machineを関連するリソースを構築しました。
今回は、Azureリソースの監視を行うために、VMの監視構成をTerraformで構築していきたいと思います。

【前回の記事】

構成するリソース

やりたい事①:VMのActivitiy Logを検知後、任意のメールアドレスへ通知
・アクティビティログアラートルール
・アクショングループ(メール通知用)

やりたい事②:CPUの使用率を閾値50%以上で監視し、任意のメールアドレスへ通知
・メトリックアラートルール
・アクショングループ(メール通知用)

※メール通知のアクショングループは宛先も同じなので同一のものを紐づけます。

TFファイルを作成

今回はVMやリソースグループは省略して、Azure Monitorの部分だけ記載していきます。

main.tf
#Monitor Create

resource "azurerm_monitor_action_group" "main" {
  name                = local.action_groupname
  resource_group_name = azurerm_resource_group.rg.name
  short_name          = "test01"

  email_receiver {
    name = "test01"
    email_address = local.mail_address
  }
}

resource "azurerm_monitor_metric_alert" "metric_alert_01" {
  name                = local.metricalert_name
  resource_group_name = azurerm_resource_group.rg.name
  scopes              = [azurerm_windows_virtual_machine.vm.id]
  frequency = "PT5M"
  severity = "4"

  criteria {
    metric_namespace = "Microsoft.Compute/virtualMachines"
    metric_name      = "Percentage CPU"
    aggregation      = "Average"
    operator         = "GreaterThan"
    threshold        = 50
  }

  action {
    action_group_id = azurerm_monitor_action_group.main.id
  }
}

resource "azurerm_monitor_activity_log_alert" "main" {
  name                = "example-activitylogalert"
  resource_group_name = azurerm_resource_group.rg.name
  scopes              = [azurerm_resource_group.rg.id]

  criteria {
    resource_id    = azurerm_windows_virtual_machine.vm.id
    category       = "ResourceHealth"
  }

  action {
    action_group_id = azurerm_monitor_action_group.main.id
  }
}
local.tf

  action_groupname = "sample-action-group"
  metricalert_name = "smple-metric"
  mail_address = "任意のメールアドレスを記入"
  

main.tfをterraform applyで実行すると
下記の写真の様にアラートルールとアクショングループが作成されました。

image.png

実際にこんな感じでメールも届きますので、設定は問題なさそうです。

image.png

さいごに

Azure Monitorでは他にもログの収集も行える、Log Analyticsというサービスがあります。
機会があればこのサービスもTerraformで構築する事にチャレンジしてみます。
ここまで見てくれてありがとうございました。
何か意見あればコメントください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?