Мониторинг времени ответа Azure для каждого URL-адреса с диапазоном
Я пытаюсь настроить панель управления, состоящую из нескольких критически важных функций, которые нам нужно сосредоточить для мониторинга производительности на основе SLA.
Пример: URL целевой страницы извлекает записи, которые должны быть быстрее, а соглашение об уровне обслуживания
Зеленый< 1 сек. Янтарный 1 сек. - 2 сек. Красный> 2 сек.
Мы смогли настроить то же самое в SPLUNK на основе журналов плоских файлов. Однако мы не смогли настроить подобное в Azure.
На данный момент я не мог создать панель инструментов для наших требований. Нам подойдет любое графическое представление. На основе этого мониторинга нам может потребоваться отреагировать и улучшить производительность в течение того периода времени, когда он идет медленно.
3 ответа
Приблизительное решение, которое может служить вашей цели
используйте график времени запроса и времени вместе со справочными линиями, которые могут быть вашими пороговыми значениями SLA. Таким образом, вы можете выяснить, в данный момент время ответа ниже или выше порога
// Response time trend // Chart request duration over the last 12 hours requests | where timestamp > ago(12h) | summarize avgRequestDuration=avg(duration) by bin(timestamp, 10m) // use a time grain of 10 minutes | render timechart | extend Green = 200 | extend Amber = 400 | extend red = 800
это будет выглядеть примерно так, как показано ниже
Я думаю, что он намного полезнее, чем ваш предыдущий пользовательский интерфейс, в котором есть что-то вроде счетчика, показывающего вам состояние здоровья в данный момент, но с непрерывным графиком времени вы получите лучшую картину тенденции
Вы можете использовать приведенный ниже запрос Kusto для анализа приложений:
requests
| where timestamp > ago(2h) //set the time range
| where url == "http://localhost:54917/" //set the url here
| summarize avg_time =avg(duration)
| extend my_result = case(
avg_time<=1000,"good", //1000 milliseconds
avg_time<=2000,"normal",//2000 milliseconds
"bad"
)
Заметка:
1. единица avg_time - миллисекунды
2. когда avg_time <=1000 миллисекунд, то на панели инструментов отображается "хорошо"; когда <=2000 миллисекунд, отображается "нормально"; когда>2000 миллисекунд, он показывает "плохо".
Результат запроса (измените его на График):
Затем в дашборде:
Если вы запустите тот же запрос в Azure Workbooks, вы можете использовать средство визуализации « пороговые значения » в сетках или плитках для форматирования ячеек с помощью if / then / else, подобного этому, для цвета для каждого диапазона.
you can then pin that grid/tiles/graph to an azure dashboard. (if the query uses a workbooks time range parameter, it will inherit the dashboard's time range and auto update as well.