如何使用 bicep savingSearches 将 KQL 函数部署到 ApplicationInsights

问题描述 投票:0回答:1

使用 Bicep,我可以使用

将 KQL 查询和函数部署到 Log Analytics 工作区
resource azLogAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2021-06-01'
existing = {
  name: 'my-la'
}

resource kqlHealthQuery1 'Microsoft.OperationalInsights/workspaces/savedSearches@2020-08-01' = {
  name: 'myHealthFunction'
  parent: azLogAnalyticsWorkspace
  properties: {
    category: 'Health'
    displayName: 'My First Function'
    functionAlias: 'MyFirstFunction'
    query: loadTextContent('./Sample.kql')
    tags: [{name: 'type', value: 'health' }]
  }
}

此功能显示在“功能”选项卡上的“工作区功能”下。

现在我想使用这些 KQL 函数来查询 Application Insights 表,例如跟踪和异常。但是,当我打开 Log Analytics 并将范围更改为我的 Application Insights 实例时,我不再看到这些函数。我只看到一个文件夹“组件功能”,其中只有一个我从 UI 手动保存的功能。

如何使用 Bicep 部署 KQL 函数,使其显示在 Application Insights 的“组件函数”中?

azure azure-application-insights azure-log-analytics azure-bicep
1个回答
0
投票

由于 Bicep 的问题,我决定尝试使用 Terraform。使用如下代码,可以按预期工作。

terraform {
  required_providers {
    azurerm = {
      source = "hashicorp/azurerm"
      version = "~>2.0"
    }
  }
}

# Azurerm Provider configuration
provider "azurerm" {
  features {}
}


resource "azurerm_resource_group" "parent_group" {
  name = "my-poc"
  location = "westeurope"
}

resource "azurerm_application_insights" "myAi" {
  name = "mypoc-ai"
  location = "westeurope"
  application_type = "web"
  resource_group_name = azurerm_resource_group.parent_group.name
  lifecycle {
    ignore_changes = [
      tags,
      sampling_percentage,
      workspace_id,
      timeouts
    ]
  }
}

resource "azurerm_application_insights_analytics_item" "myAiFunc" {
  application_insights_id = azurerm_application_insights.myAi.id
  type = "function"   # must be query, function, folder or recent
  name = "item"
  scope = "shared"
  function_alias = "Foo"
  content = "This is an example"
}

只需将其保存到 main.tf 并运行

terraform import azurerm_resource_group.parent_group <id of resource group>
terraform import azurerm_application_insights.myAi <id of ApplicationInsights>
terraform init
terraform plan
terraform apply
© www.soinside.com 2019 - 2024. All rights reserved.