Поисковый запрос должен содержать «AggregatedValue» и «bin (TimeGenerated, [roundTo])» для типа предупреждения «Показатель».

Я хочу создать оповещение по следующему сценарию:

if (incoming_messages of event hub != outgoing_messages of event hub)
then I should get alerted

Для этого я создал запрос в аналитике журналов, где столбец «Сравнение» показывает разницу входящих и исходящих сообщений концентратора событий.

Но когда я использую приведенный ниже запрос в качестве показателя измерения для создания предупреждений ... Он дает следующую ошибку

Поисковый запрос должен содержать «AggregatedValue» и «bin (TimeGenerated, [roundTo])» для типа предупреждения «Показатель».

Может кто-нибудь, пожалуйста, скажите мне, как исправить эту ошибку или есть ли другой способ установить оповещение для вышеуказанного сценария?

Вот запрос

let Incoming_Messages = AzureMetrics
| where ResourceProvider =="MICROSOFT.EVENTHUB"
| where _ResourceId contains "ResourceID-Hidden"
| where TimeGenerated > ago(1h)
| where MetricName contains "IncomingMessages"
| count | extend CommonCol="Dummy"
| project CommonCol, TotalIncomingMessages = Count;
let Outgoing_Messages = AzureMetrics
| where ResourceProvider =="MICROSOFT.EVENTHUB"
| where _ResourceId contains "ResourceID-Hidden"
| where TimeGenerated > ago(1h)
| where MetricName contains "OutgoingMessages"
| count | extend CommonCol="Dummy"
| project CommonCol, TotalOutgoingMessages = Count;
Incoming_Messages
| join Outgoing_Messages on CommonCol
| extend Comparison = TotalIncomingMessages - TotalOutgoingMessages
| project TotalOutgoingMessages, TotalIncomingMessages, Comparison

Снимок экрана с ошибкой:

Снимок экрана с ошибкой


person sandeep kumar    schedule 14.02.2021    source источник


Ответы (1)


Кажется, в вашем случае было бы разумнее использовать «Количество результатов». Поскольку вы хотите знать, соответствуют ли какие-либо строки критериям.

Попробуйте выполнить этот запрос с "Количество результатов" (порог> 0):

let Incoming_Messages = AzureMetrics
| where ResourceProvider =="MICROSOFT.EVENTHUB"
| where _ResourceId contains "ResourceID-Hidden"
| where TimeGenerated > ago(1h)
| where MetricName contains "IncomingMessages"
| count | extend CommonCol="Dummy"
| project CommonCol, TotalIncomingMessages = Count;
let Outgoing_Messages = AzureMetrics
| where ResourceProvider =="MICROSOFT.EVENTHUB"
| where _ResourceId contains "ResourceID-Hidden"
| where TimeGenerated > ago(1h)
| where MetricName contains "OutgoingMessages"
| count | extend CommonCol="Dummy"
| project CommonCol, TotalOutgoingMessages = Count;
Incoming_Messages
| join Outgoing_Messages on CommonCol
| extend Comparison = TotalIncomingMessages - TotalOutgoingMessages
| project TotalOutgoingMessages, TotalIncomingMessages, Comparison
| where Comparison != 0
person Yaniv Lavi    schedule 15.02.2021
comment
Спасибо Янив ..... Очень помогло и отлично сработало - person sandeep kumar; 15.02.2021
comment
@sandeepkumar, раз уж ответ помог, примите ответ Янива :) - person Slavik N; 18.02.2021