Datadog Agentを使ってAzure VMのリソース監視

 

マルチクラウド対応の監視サービス(SaaS)であるDatadogを使って、Azure VMのリソース監視を行ってみました。

Datadogを使って、Azure VMのリソース監視を行う場合は以下の2つの方法があります。

      • DatadogとAzureテナントを接続しAzureのメトリック情報を利用する
      • Azure VMにDatadog Agentをインストールしリソース情報を取得する

今回はAzure VMにDatadogのエージェントインストールする方法で試してみました。(今後プロセス監視やログ監視を行う事を考慮しエージェントを利用した方法を選択しています。)

    • 今回実施した内容
      • Azure VMのCPU使用率監視
      • Azure VMのメモリ使用率監視
      • Azure VMのディスク使用率監視

今回の設定にあたっては、Datadogのドキュメントを参考に実施しています。

https://docs.datadoghq.com/ja/monitors/monitor_types/metric/?tab=threshold

また、Azure VMへのDatadog Agentインストールはこちらで実施しております。

Datadog Agentを使ってAzure VMのリソース取得

----

1.DatadogでAzure VMのCPU使用率を監視する

Datadogで監視設定を行うメニューはMonitorsになります。

今回は新規設定になりますので、下記の通りNew Monitorを選択します。

CPU使用率等のリソース監視はメトリック監視になりますので、メトリックを選択します。

監視設定画面が表示されますので設定項目を順番に設定していきます。

    • 監視設定で行う設定項目
      • Choose the detection method:検出方法(例;しきい値監視)
      • Define the metric監視条件(例;CPU使用率)
      • Set alert conditions:しきい値(例;90%以上でAlert)
      • Say what’s happening:通知方法(例;Mail通知)

最初に検出方法をChoose the detection methodで設定します。

しきい値監視の場合は、Threshold Alertを選択します。

次に監視条件(メトリクス)をDefine the metricで設定します。

Datadog Agent経由で取得されるOSのリソース情報はsystemになるようです。

    • CPU使用率
      • Metric:system.cpu.user
      • avg by:host

avg byでhostを指定する事で、host単位の値で検知可能です。設定しないと平均値となります。host1 100% host2 10%の場合55%となります。

Multi Alert /hostの指定も同様の意味で指定されます。

次にしきい値をSet alert conditionsで設定します。今回はCPU使用率が90%(Alert)と80%(Warn)のしきい値でアラートを発生させる設定します。

      • 条件1:adove(より上)
      • 条件2:on average(平均値)
      • 条件3:5minntes
      • Alert Threshold :90
      • Warning Threshold:80

なお、データ取得が出来てない場合に通知する場合は、Do not notifyをNotifyに変更します。

次に通知方法をSay what’s happeningで通知方法を設定します。今回はメール通知を利用します。

is alertで発生時、is recoveryで復旧時の定義をします。サンプルではHost名やCPU使用率を表示するようにしています。inculedの部分はチェックを外してます。

 

設定が完了したら、Datadogでテストメール送信を行い確認します。

テストメール送信を行うと下記メールが届きメール送信内容の確認出来ます。

2.DatadogでAzure VMのメモリ使用率(空き容量)を監視する

Azure VMのメモリ使用率監視を設定します。

CPU使用率と同様の設定方法になりますが、監視条件(メトリクス)をDefine the metricで設定する方法が若干異なります。

メモリついてはサイズで取得される為、メモリ使用率については計算が必要になります。

    • メモリの空き容量を計算し算出します。(a+b+c)
      • a(system.mem.cached)
      • b(system.mem.buffered)
      • c(system.mem.free)
    • 全体のメモリ容量を以下の値で取得されます。
      • d(system.mem.total)
    • メモリ使用率(%)は以下の式で計算されます。
      • (d-(a+b+c))/d*100

※複数行指定する場合は、Advancedを選択します。Add Query +で行を追加します。

実際に設定するとこのような画面になります。

CPU使用率と同様に、Set alert conditionsでしきい値、Say what’s happeningで通知設定を行えば監視設定完了です。

3.DatadogでAzure VMのディスク使用率(空き容量)を監視する

Azure VMのディスク使用率監視を設定します。監視条件(メトリクス)をDefine the metricを下記の通り設定します。

    • ディスク使用率
      • Metric:system.disk.in_use
      • avg by:host,device_name

avg byでhostとdevice_nameを指定する事でデバイス(ドライブ等)単位でディスク使用率の取得が出来ます。

※CPU使用率と同様に%設定したかったので*100しています。

CPU使用率と同様に、Set alert conditionsでしきい値、Say what’s happeningで通知設定を行えば監視設定完了です。