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

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

今回は 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": "http://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名"]'

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

ご覧いただきありがとうございます! この投稿は役に立ちましたか? 役に立った 役に立たなかった

Be the first to comment

コメント投稿

Your email address will not be published.


*