【问题标题】:Is it possible to get the OMS Log Analytics workpace name from the Workspace ID是否可以从工作区 ID 获取 OMS Log Analytics 工作区名称
【发布时间】:2020-08-19 21:06:07
【问题描述】:

我有一个现有的 OMS Log Analytics 工作区。工作区 ID 是一个指南。由于现有项目,这是我唯一能够使用的东西。使用此指南,我需要掌握工作区名称 arm 模板中的示例“myWorkspace”。我可以将 guid 作为参数传递给 arm 模板。如果我查看 Json 和 ResourceId 映射到以 /subscription/xx-xxx-xxx-xxx/......../myWorkspace 开头的工作区名称,则 Guid 实际上是一个 customerId 属性。

我需要从 guid (customerId) 中获取此工作区名称 (ResourceId)。请让我知道我是否可以这样做?真的很难让这个工作......

【问题讨论】:

  • 你想通过编程来获取工作区名称吗,比如使用c#?
  • 不只使用ARM模板@Ivan Yang
  • @chugh97 - 您能否更好地解释您的场景,说明您为什么要根据工作空间 ID 在 ARM 模板中获取工作空间名称?在调用 ARM 模板之前,是什么限制了您通过 powershell 或其他方式根据 workspaceID 获取工作空间名称?据了解,REST API 没有使用工作区 ID docs.microsoft.com/en-us/rest/api/loganalytics/workspaces/get 获取的参数,它只有工作区名称

标签: azure azure-resource-manager azure-log-analytics azure-template azure-oms


【解决方案1】:

您可以很容易地从 ARG(Azure 资源图)中获取它,但我不知道在 ARM 模板本身中查找它。您可能必须在模板之外查找 id 并将其作为参数传递?

https://docs.microsoft.com/en-us/azure/governance/resource-graph/concepts/explore-resources

Resources 
| where type =~ "microsoft.operationalinsights/workspaces"
| where properties.customerId == "00000000-0000-0000-0000-00000000000"
| project id, name

【讨论】:

    【解决方案2】:

    我不确定您想要实现什么,但我已经多次使用带有 azure ARM 的 Log Analytics 工作区。一个示例是如何检索工作区密钥和工作区 ID 以将 vm 与工作区连接。

    见下面的代码:

      {
            "type": "Microsoft.Compute/virtualMachines/extensions",
            "name": "[concat(parameters('vmName'), '/OMSExtension')]",
            "apiVersion": "2018-06-01",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[concat('Microsoft.Compute/virtualMachines/', parameters('vmName') )]"
            ],
            "properties": {
                "publisher": "Microsoft.EnterpriseCloud.Monitoring",
                "type": "OmsAgentForLinux",
                "typeHandlerVersion": "1.7",
                "autoUpgradeMinorVersion": true,
                "settings": {
                    "workspaceId": "[reference(resourceId(parameters('logAnalyticsRG'), 'Microsoft.OperationalInsights/workspaces/', parameters('logAnalyticsName')), '2015-03-20').customerId]"
                },
                "protectedSettings": {
                    "workspaceKey": "[listKeys(resourceId(parameters('logAnalyticsRG'), 'Microsoft.OperationalInsights/workspaces/', parameters('logAnalyticsName')), '2015-03-20').primarySharedKey]"
                }
            }
        }
    

    一切都取决于您的场景,但这是检索工作区 ID 和密钥的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      相关资源
      最近更新 更多