Datadog-Microsoft Azure Integration

Azure監視機能の設定

Microsoft Azureは、PaaSのとIaaS(VM)の両方のサービスをサポートしています。現状Datadogの監視は、IaaSのサービスを主たる監視対象として調整されています。しかし、この監視をワーカープロセスやwebサーバまで広げることが出来ます。

Azureの監視を設定するには、Azure integrations に移動し、インストラクションタイルに表示される指示に従って下さい。

Diagnosticsを有効にする。

Datadog Agentをインストールせずに監視するには、Azureのdiagnostics機能を有効にします。現状、この機能はWindowsベースのVMについてのみ対応しています。有効にするには、Azureのポータルに移動し、次のインストラクションに従って操作をします。

azure diag manual

VMを指定した後の手順:

  1. “CPU percentage today”(現状のCPUのパーセンテージ)が表示されているパネルをクリックします。
  2. “Diagnostics”をクリックします。
  3. Statusスイッチを”ON”にします。
  4. “OK”をクリックして設定を保存します。

Datadogの監視が正しく動作するためには、”Basic metrics”, “network and web metrics”, “.Net metrics”を有効にする必要があります。更に、”logs collection”のチェックマークを外すことでストレージのスペースを節約することもできます。

Datadog Agentのインストール

Azureポータルからのインストール

Datadogは、Azure Extension Managerに対応しています。これにより、AzureのポータルからDatadog Agentをインストールすることが出来ます。Azure上で起動しているVMがWindowsかLinuxに関わらず、ワンクリックでDatadog Agentをインストールすることが出来ます。ワンクリックでのインストールを実行するには、 Azureのポータルから、運用中のVMを選択するか、新しいVMを起動しDatadog Agentの追加をクリックします。

Azure performance monitoring with One-Click Deployment through Datadog

インストール手順:

  1. 新規または既存の仮想マシンに移動し、Settingsをクリックします。
  2. Extensions-> Add -> Datadog とクリックしていきます。
  3. Createをクリックし、APIキーを入力します。

Datadog APIキーは、Azureのインテグレーションタイル内で見つけることが出来ます。

手作業でのインストール

次の手順に従って、手作業でDatadog Agentをインストールすることも出来ま:

インスタンスの起動時にDatadog Agentをインストールする

以下の内容でinstallDatadogAgent.cmdという名前のファイルを作成します:

set log=datadog-install.log
set api_key=%1

sc query | findstr DatadogAgent
if ERRORLEVEL 1 (
    echo "Datadog Agent service not detected" >> %log%
    echo "Starting the installation" >> %log%
    reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5"| findstr /c:"Install    REG_DWORD    0x1"

    if ERRORLEVEL 1 (
        echo "Installing .NET 3.5" >> %log%
        powershell -Command "Import-Module ServerManager;Add-WindowsFeature -Name 'Net-Framework-Core'"
    ) else (
        echo ".NET 3.5 already installed" >> %log%
    )

    if exist ddagent.msi (
        echo "Already has the installer" >> %log%
    ) else (
        echo "Fetching the Agent Installer" >> %log%
        powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://s3.amazonaws.com/ddagent-windows-stable/ddagent-cli.msi', 'ddagent.msi')"
    )

    echo "Starting the installer" >>%log%
    msiexec.exe /qn /i ddagent.msi APIKEY=%api_key% /L+ %log%
) else (
    echo "Agent already exists, skipping install" >>%log%
)

echo "Finished Install" >>%log%
exit 0

Visual Studioを使用している場合は、このファイルがパッケージに含まれていることを確認してください。 また、このファイルの*Copy to Output Directory*プロパティーを*Copy Always*に設定し、*Build Action*を*Content*にしてください。

ServiceDefinition.csdefファイルの<Startup>セクションに、次の部分を追記することによって、インストールタスクを追加します:

<Task commandLine="installDatadogAgent.cmdi YOUR_API_KEY" executionContext="elevated" />

YOUR_API_KEYの部分は、DatadogのダッシュボードからAPI keyを取得し、置き換えてください。

ここで作成したファイルにより、アプリケーションデプロイで最新バージョンのDatadog Agentがインストールされます。

アプリケーションのデプロイ

ここで、アプリケーションのcloud service packageファイル(*.cspkg)を再パッケージします。 その際、installDatadogAgent.cmdファイルが含まれていることを確認しておいてください。 更に、Visual StudioのPublishボタンを押し、直接Datadog Agentをアップロードすることもできます。

デプロイが終われば、DatadogダッシュボードのIngrastracturesタブから表示されるホストリストに新しいホストが加わっているはずです:

infrastructure view

トラブルシュート

次に一般的に遭遇しやすいトラブルの対処方法を紹介します。

Tenent name(テナント名)がわかりません。

Tenent nameを知るためには、まずAzureのポータル へログインします。その後、スクリーンの左側にあるメニューからSETTINGS(設定)を探し、クリックします。赤枠で囲った部分がTenent name(テナント名)になります。

azure tenent

ログインすることが出来ません。

Azureのインテグレーションをインストールする際にログインすることが出来ない場合は、お気兼ねなくsupport@datadoghq.comにお問い合わせ下さい。お問い合わせの際は、スクリーンショット画像の添付をお願いします。

メトリクスが表示されません。

Agentをインストールしていない場合:

VM上でDiagnostics機能が”ON”になっていることを確認して下さい。このDiagnostics機能は、各VMがCPU, Networkなどのログ情報を取得することを許可します。

Agentをインストールした場合で、Agentからのメトリクスが表示されない場合:

VMが持っている時間が、正しく設定されているか確認して下さい。Datadogに送信されるメトリクス情報に記録されている時間が、現在の時間と大きく離れているとグラフに表示されないことが有ります。