Можно ли программно получить состояние оповещения Azure Monitor?

#azure

#azure

Вопрос:

У меня есть следующий код:

 var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(configuration.AzureClientId, configuration.AzureClientSecret, configuration.AzureTenantId, AzureEnvironment.AzureGlobalCloud);
var azure = Azure.Configure()
                .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
                .Authenticate(credentials)
                .WithSubscription(configuration.AzureSubscriptionId);
var alert = azure.AlertRules.MetricAlerts.GetById("stuff");
var isFiring = alert.???
 

и я хочу узнать, срабатывает ли предупреждение или нет, используя fluent api. Есть ли какой-либо способ сделать это программно, предпочтительно через fluent api, но я также рассмотрел бы другие способы, хотя предпочел бы не запускать powershell через мой код на C #.

Ответ №1:

Состояние оповещения отличается и не зависит от состояния монитора. Состояние оповещения устанавливается пользователем. Состояние монитора устанавливается системой. При срабатывании предупреждения для состояния монитора предупреждения устанавливается значение «запущено». Когда основное условие, вызвавшее срабатывание предупреждения, очищается, для состояния монитора устанавливается значение «разрешено».

Вот Rest API, который вы могли бы получить alertState .