Запрос на агрегацию Azure Log Analytics

#azure #event-log #azure-log-analytics

#azure #журнал событий #azure-log-analytics

Вопрос:

У меня возникли проблемы с созданием приведенного ниже запроса.

Я пытаюсь получить среднее количество сеансов с четырех компьютеров за интервал времени в один час. Затем я хочу отобразить сумму четырех средних значений за период времени в 24 часа.

Пока у меня есть приведенный ниже запрос с использованием объединения, но я не могу получить правильные результаты.

  // Total Sessions for all four computers
    Perf
    | project Computer, bin(TimeGenerated,1h) 
    | where Computer == "s-az-vdigpu2.company.local" or Computer == "s-az-vdigpu4.company.local" or Computer == "s-az-vdigpu5.company.local" or Computer == "s-az-vdigpu6.company.local"
    | join kind= inner (
        Perf
        | where Computer == "s-az-vdigpu2.company.local" or Computer == "s-az-vdigpu4.company.local" or Computer == "s-az-vdigpu5.company.local" or Computer == "s-az-vdigpu6.company.local"
        | where CounterName  == "Total Sessions"
        | summarize avg(CounterValue) by Computer, bin(TimeGenerated, 1h)
 ) on TimeGenerated
| summarize sum(avg_CounterValue) by TimeGenerated
| render timechart 
  

введите описание изображения здесь

Комментарии:

1. что не так с результатом?

2. Я получаю огромные цифры по количеству сеансов. Результатом, который я ищу, должно быть значение от 0 до 50, поскольку они распределены по нагрузке между четырьмя серверами, а максимальное количество лицензий, которые у нас есть для приложения, равно 50.

3. Таблица, возвращаемая в запросе, к которому я присоединяюсь, дает мне среднее количество сеансов на компьютер за каждый час. Я не уверен, к какому значению мне следует присоединиться, но я не могу получить агрегат, который суммирует средние значения вместе, чтобы работать так, как я хочу. Похоже, что добавляется среднее значение за все время.

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

5. Я добавил снимок экрана.

Ответ №1:

Приведенный ниже код, похоже, работает. Я использовал объединение вместо объединения.

     // Total Sessions for all four computers
Perf
| project Computer, bin(TimeGenerated,1h) 
| where Computer == "s-az-vdigpu2.company.local" or Computer == "s-az-vdigpu4.company.local" or Computer == "s-az-vdigpu5.company.local" or Computer == "s-az-vdigpu6.company.local"
| union (
    Perf
    | where Computer == "s-az-vdigpu2.company.local" or Computer == "s-az-vdigpu4.company.local" or Computer == "s-az-vdigpu5.company.local" or Computer == "s-az-vdigpu6.company.local"
    | where CounterName  == "Total Sessions"
    | summarize avg(CounterValue) by Computer, bin(TimeGenerated, 1h)
    | project-rename avg_CounterValue, interval=TimeGenerated
) 
| summarize sum(avg_CounterValue) by interval
| render timechart 
  

введите описание изображения здесь