Azure CLI で Log Analytics に仮想マシンを自動登録する方法

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

こんにちは、サイオステクノロジーの山田です。

今回は Azure CLI で OMS Agent の自動インストールと Log Analytics に仮想マシンを自動登録する方法をご紹介します。OMS Agent は Azure のモニタリングサービス Log Analytics を利用するために必要なエージェントです。

公式HPでも以下のような記事があり、登録する方法が記載されています。

Linux 用の Log Analytics 仮想マシン拡張機能

上記記事では拡張機能スキーマのJSONファイルで「workspaceId」と「workspaceKey」を置換する必要があるとの記載があります。しかしながら、「workspaceId」は Azure CLI で取得可能ですが、現状「workspaceKey」は取得できないため、WEBポータル上で確認し、手動で置換する必要があります。また、「workspaceKey」は秘匿情報ですので、あまり原文を記入したくないところですね。

これでは完全自動で仮想マシンを Log Analytics に登録することはできないなと思い、調査したところ以下のように拡張機能スキーマを設定することで、「workspaceKey」を手動で置換する必要がないことを確認しました。

拡張機能スキーマ

どうしても、以下のようにインデント削除されてしまうので、参考ファイルを添付します。

{
  "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workspaceResourceId": { "type": "string" },
    "virtualMachines": {
        "type": "array"
    }
  },
  "resources": [
    {
      "copy": {
        "name": "VMMonitoringExtensionsCopy",
        "count": "[length(parameters('virtualMachines'))]"
      },
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "apiVersion": "2015-06-15",
      "location": "[resourceGroup().location]",
      "name": "[concat(parameters('virtualMachines')[copyIndex()], '/Microsoft.EnterpriseCloud.Monitoring')]",
      "properties": {
        "publisher": "Microsoft.EnterpriseCloud.Monitoring",
        "type": "OmsAgentForLinux",
        "typeHandlerVersion": "1.7",
        "autoUpgradeMinorVersion": true,
        "settings": {
          "workspaceId": "[reference(parameters('workspaceResourceId'), '2015-11-01-preview').customerId]"
        },
        "protectedSettings": {
          "workspaceKey": "[listKeys(parameters('workspaceResourceId'), '2015-11-01-preview').primarySharedKey]"
        }
      }
    }
  ]
}

Azure CLI コマンド

以下コマンドを実行する前にワークスペースを作成してください。

■ ワークスペースID取得(参考)

# az resource show --resource-group [myResourceGroup] \
  --resource-type "Microsoft.OperationalInsights/workspaces" \
  --name [workspaceName] | jq '.id'

jqコマンドは JSONファイルを操作する上で非常に便利なツールですので、導入することをオススメします。

■ OMS Agent の自動インストールと Log Analytics 登録

# az group deployment create --resource-group [myResourceGroup]  \
  --template-file [上記JSONファイルパス] \
  --parameters workspaceResourceId=[workspaceId(上記参考)] \
  --parameters virtualMachines='["VM名","VM名"]'

上記をコマンドを実行することで、現状問題なく登録できることを確認しております。
ただし、非公式の情報ですので、通知なく利用できなくなる可能性があることをご注意ください。

アバター画像
About 山田康裕 27 Articles
20代前半からLinux系OSSや認証基盤を中心とした提案/設計/構築を担当。特に仕事を選ばない、何でも屋さん。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる