В начале года компания VMware выпустила решение Aria Operations for Applications, предназначенное для облачных провайдеров, которое позволяет их клиентам наблюдать за инфраструктурой контейнеризованных приложений на платформе Tanzu. Ранее этот продукт назывался Tanzu Observability.
Решение позиционируется как платформа cloud-native observability, доступная для партнеров через портал Cloud Partner Navigator (CPN), которые участвуют в программе VMware Managed Service Providers (MSP). Aria Operations for Applications дает партнерам инструменты для команд DevOps, SecOps и SRE в части получения данных телеметрии, которые помогают планированию стратегии управления приложениями, API, базами данных, очередями сообщений для публичных, частных и гибридных облаков.
Сегодня мы поговорим о функциональности Query Analyzer, которая появилась в последней версии продукта. Она позволяет анализировать запросы и подзапросы в ситуациях, когда в результате запроса на графике не отображаются данные с пометкой No Data:
Query Analyzer позволяет найти проблему в ваших запросах и понять причину отсутствующих данных, начать процедуру решения проблем, а также получить статистики производительности запросов и подзапросов.
Если вы используете переменные в ваших запросах, Query Analyzer заменяет переменные их актуальными на данный момент значениями. Например, если вы хотите проанализировать max(${latency}), где переменная latency равна ts(requests.latency, source="app-1*" or source="app2*", env="dev"), то в Query Analyzer вы увидите такой запрос:
max(ts(requests.latency, source="app-1*" or source="app2*", env="dev"))
Итак, как проанализировать запрос:
Нажимаем на имя графика, который показывает No Data для открытия режима правки.
Если у вас несколько запросов, то найдите тот, который хотите проанализировать.
Нажмите на иконку рядом с запросом и выберите пункт Query Analyzer, после чего он откроется.
Сам анализатор выглядит так:
Нажимаем кнопку Analyze, чтобы найти проблемный запрос. В результате подзапрос, который вызывает проблему, будет подсвечен:
Здесь можно увидеть информацию о найденных проблемах:
У ситуации No Data может быть несколько причин, например:
Опечатка в запросе
В Aria Operations for Applications действительно нет данных для этого запроса
Запрос содержит один или несколько подзапросов, результат которых не содержит данных
Также на скриншоте выше вы видите, что Query Analyzer показывает статистики производительности на уровне подзапросов, содержащие 3 параметра:
Cardinality - число уникальных снятий данных в рамках временного интервала запроса (unique time series).
Points Scanned - число датапоинтов, которое использовалось для вывода графика на экран.
Duration - время между началом исполнения запроса и получением результата.
Если запрос содержит более одного подзапроса, который содержит No Data, то когда вы анализируете запрос, то первый подзапрос с пустыми данными будет отображен в разделе Detected Issues. Остальные подзапросы с No Data будут подчеркнуты пунктиром - их также можно развернуть для просмотра обнаруженных проблем.
Более подробно о функционале Query Analyze можно почитать в документации.