Azure Application Insights - Как создать оповещение на основе сравнения показателей? - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь создать оповещение на основе сравнения нескольких показателей для длительных вычислений.

При конкуренции партии (которая варьируется по длине) я отправляю 2 пользовательских метри c: DocsParsedTotal и DocsParsedSuccessful (оба значения являются целыми числами).

Я вижу эти метрики с помощью следующего запроса:

customMetrics 
| where timestamp >= ago(60m) 
| where name == "DocsParsedTotal" or name == "DocsParsedSuccessful"

Можно ли расширить метрики с помощью суммы (DocsParsedSuccessful) / суммы (DocsParsedTotal) и создать на ее основе оповещение?

Я также могу выдать метри c для отношения (для партии), но так как мои партии различаются по длине avg (), это не будет точным.

1 Ответ

1 голос
/ 02 марта 2020

Было бы лучше, если бы вы могли прикрепить скриншот результата запроса в Application Insights -> logs согласно коду в вашем посте, как скриншот в шаге 1 моего ответа.

А вот пример, которому вы можете следовать, но источник данных может отличаться от вашего.

1. Источник данных в моем тесте :

enter image description here

2. Затем вы можете использовать запрос ниже :

customMetrics 
| where timestamp >= ago(1d) 
| where name == "DocsParsedTotal" or name == "DocsParsedSuccessful"
| summarize a2=sumif(value,name=="DocsParsedTotal"),a1=sumif(value,name == "DocsParsedSuccessful")
| extend s1 = iff(a1/a2>2,"alert","not alert")
| where s1 =="alert"

Примечание запроса:

для этой строки кода extend s1 = iff(a1/a2>2,"alert","not alert"), если a1/a2>2 (вы можете установить любое значение вместо 2 в соответствии с вашими потребностями), равное true, то при использовании where s1 =="alert" всегда должен возвращаться 1 результат. В противном случае возвращается 0 результат.

3. Далее нажмите «Новое правило оповещения» :

enter image description here

4. Затем на странице «Создать правило» выполните действия, указанные на снимке экрана ниже :

enter image description here

Пожалуйста, дайте мне знать, если у вас все еще есть проблемы.

...