Azure Log Analytics - Update/Add SavedSearch 查询的 FunctioAlias

Azure Log Analytics - Update/Add FunctioAlias to the SavedSearch query

我已经准备好用于创建 Log Analytics“保存的搜索”的 powershell 脚本。我正在使用这个 cmd-let --> New-AzOperationalInsightsComputerGroup。脚本工作正常,但问题是使用该命令我无法提供 FunctionAlias 名称,我希望有可能提供 属性。我在 MS 网站上找到了这个 cmd-let --> Set-AzOperationalInsightsSavedSearch,我可以找到我们可以使用这个命令 let 更新 SavedSearches 的信息。我已经对此进行了测试,但它没有按预期工作,我遇到了一个错误,如下所示。我想 add/update FunctionAlias 属性。 我的命令:

$var = "testalias"
Set-AzOperationalInsightsSavedSearch `
-ResourceGroupName "RGname" `
-WorkspaceName "LogAnalyticsName" `
-SavedSearchId "ID123456" `
-DisplayName "SavedSearcjName"
-FunctionAlias $var

错误信息:

Set-AzOperationalInsightsSavedSearch : A parameter cannot be found that matches parameter name 'FunctionAlias'.
At line:6 char:1
+ -FunctionAlias $var
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-AzOperationalInsightsSavedSearch], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.Azure.Commands.OperationalInsights.SetAzureOperationalInsightsSavedSearchCommand

我认为您应该使用 New-AzOperationalInsightsSavedSearch 使用所需参数创建新的已保存搜索。

New-AzOperationalInsightsSavedSearch
   [-ResourceGroupName] <String>
   [-WorkspaceName] <String>
   [-SavedSearchId] <String>
   [-DisplayName] <String>
   [[-Version] <Int64>]
   [[-FunctionAlias] <String>]

使用此命令您还可以为 -FunctionAlias 提供值。有关详细信息,请阅读 here

您可以使用命令Get-AzOperationalInsightsSavedSearch查看创建的已保存搜索。你可以看看here.

您正在使用的命令New-AzOperationalInsightsComputerGroup用于创建计算机组。阅读详情 here.

为确保部署不会意外覆盖已保存的搜索,应在“savedSearches”资源中添加一个 eTag 属性 以覆盖并保持已保存搜索的幂等性。我对您的 PowerShell 命令做了一些更改,如下所示。

$var = "testalias"
Set-AzOperationalInsightsSavedSearch `
-ResourceGroupName "RGname" `
-WorkspaceName "LogAnalyticsName" `
-SavedSearchId "ID123456" `
-DisplayName "SavedSearchName"
-FunctionAlias $var -Etag *

我知道这是一个迟来的答案,但我今天一直在努力解决这个问题。

解决方案,如果你想将其创建为 'computer group' 是添加 'tag' 参数:-Tag @{"Group" = "Computer"}

我发现 'New-AzOperationalInsightsComputerGroup' 有问题,因为它不会将保存的搜索创建为函数。

因此,您的代码如下所示:

$var = "testalias"
Set-AzOperationalInsightsSavedSearch `
-ResourceGroupName "RGname" `
-WorkspaceName "LogAnalyticsName" `
-SavedSearchId "ID123456" `
-DisplayName "SavedSearcjName" `
-FunctionAlias $var `
-Etag "*" `
-Tag @{"Group" = "Computer"}