0

我正在尝试在我的 Azure 订阅中的所有现有 V2 警报中查询 Fired 的 Monitor Condition。我可以使用 Az PS 模块、Azure REST API 或 Azure CLI。理想情况下,我只想利用 Get-AzAlert 并在 AlertId 参数中传递警报 ID。但是,它似乎需要 ID GUID。我找到的用于下拉警报列表的每个命令仅提供完整的 ARM ID,例如“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupId}/providers/microsoft.insights/metricAlerts/{alertName}”。

同样,在 Microsoft.AlertsManagement API 中,有一个命令可用于获取警报,https: //management.azure.com/subscriptions/ {subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}?api-version =2018-05-05,但它还需要 GUID 形式的 alertId。

我可以在 PS 模块(Get-AzAlert 利用 MonitorCondition 参数)或 API(https://management.azure.com/subscriptions/ {subscriptionId}/providers/Microsoft.AlertsManagement/alerts?api- version=2018-05-05),它将为我提供所有警报,其监控条件为 Fired,但是,各个调用的范围仅限于仅返回最近 30 天的事件。我需要能够找到 30 多天前触发的未解决警报。

我需要一种方法来获取警报 GUID 列表,以便我可以将它们传递到调用中以检查警报监视器条件。

4

1 回答 1

0

您不能访问超过 30 天前的警报,这是一个内置限制。无论您使用 REST API、PowerShell 还是 CLI,因为 PowerShell 和 CLI 本质上都是调用 REST API。此外,即使在 Azure 门户中,您也无法访问,您只能指定Time range过去 30 天内的时间。

参考 - https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-overview#alerts-experience

在此处输入图像描述

于 2019-09-19T02:07:25.403 回答