Azure PowerShell에서 Update-AzScheduledQueryRule에서BadRequest 오류가 발생했을 때의 처리

이미 발생한 이벤트
PowerShell 명령에서 Azure의 로그 경고를 유효하고 무효화하려는 경우
Update-AzScheduledQueryRule -Name "alert name" -ResourceGroupName "rgname" -Enabled $true
이런 명령을 실행해야 하지만, 규격이나 오류가 이렇게 실행되면 BadRequest에 오류가 발생할 수 있습니다.
Update-AzScheduledQueryRule: Exception type: Exception, Message: System.Exception: Error in updating Log Alert Rule
 ---> System.AggregateException: One or more errors occurred. (Operation returned an invalid status code 'BadRequest')
 ---> Microsoft.Azure.Management.Monitor.Models.ErrorContractException: Operation returned an invalid status code 'BadRequest'
   at Microsoft.Azure.Management.Monitor.ScheduledQueryRulesOperations.UpdateWithHttpMessagesAsync(String resourceGroupName, String ruleName, LogSearchRuleResourcePatch parameters, Dictionary`2 customHeaders, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at Microsoft.Azure.Commands.Insights.ScheduledQueryRules.UpdateScheduledQueryRuleCommand.ProcessRecordInternal()
   --- End of inner exception stack trace ---
   at Microsoft.Azure.Commands.Insights.ScheduledQueryRules.UpdateScheduledQueryRuleCommand.ProcessRecordInternal()
   at Microsoft.Azure.Commands.Insights.MonitorCmdletBase.ExecuteCmdlet(), Code: Null, Status code:Null, Reason phrase: Null
해결책
경보 규칙의 조회 내용을 확인하면最終アラートクエリ 이렇게 된다.TimeGenerated와AggregatedValue의 글은 GUI가 설정한 내용에 따라 추가된 것이라고 생각합니다.

여기는 함정입니다. 하지만 로그 조회에 이 Aggregated Value 부분을 정확하게 기록하지 않으면 Azure PowerShell의 명령이 틀릴 것 같습니다. (이중으로 변하는 것은 불편합니다.)

마지막 조회는 다음과 같다.Aggregated Value를 낭비하는 곳은 이중으로 변해 아름답지 않다.

하지만 이 설정을 하고 실행하면 잘 활동할 수 있을 거예요.
Update-AzScheduledQueryRule -Name testlogalertrule -ResourceGroupName AVDTESTRG -Enabled $true
WARNING: 12:53:28 AM - The namespace for all the model classes will change from Microsoft.Azure.Management.Monitor.Management.Models to Microsoft.Azure.Management.Monitor.Models in future releases.
WARNING: 12:53:28 AM - The namespace for output classes will be uniform for all classes in future releases to make it independent of modifications in the model classes.

CreatedWithApiVersion    :
IsLegacyLogAnalyticsRule :
Description              :
DisplayName              :
AutoMitigate             :
Enabled                  : true
LastUpdatedTime          : 1/27/2022 12:53:37 AM
ProvisioningState        : Succeeded
Source                   : Microsoft.Azure.Management.Monitor.Models.Source
Schedule                 : Microsoft.Azure.Management.Monitor.Models.Schedule
Action                   : Microsoft.Azure.Management.Monitor.Models.AlertingAction
Id                       : /subscriptions/e8d922e3-90d9-4ca9-b817-b9c8f7b08eb3/resourceGroups/AVDTESTRG/providers/microsoft.insights/scheduledqueryrules/tes
                           tlogalertrule
Name                     : testlogalertrule
Type                     : microsoft.insights/scheduledqueryrules
Location                 : japaneast
Tags                     : {}
Kind                     :
Etag                     :



해결 방법 2
az CLI 를 사용합니다.이 방법으로 해결한 사람도 있는 것 같아요.

좋은 웹페이지 즐겨찾기