- Управляемый ClickStack
- ClickStack с открытым исходным кодом
В этом руководстве предполагается, что вы выполнили руководство по началу работы с Управляемым ClickStack и сохранили учётные данные для подключения.Этот файл содержит примеры журналов, метрик и трассировок из нашего публичного демо-приложения OpenTelemetry — простого интернет-магазина на микросервисах. Скопируйте этот файл в любой каталог по вашему выбору.Это имитирует отправку данных из источников логов, трасс и метрик OTLP в OTel collector. В рабочей среде такими источниками могут быть клиентские библиотеки для разных языков или даже другие OTel collector.Вернувшись к представлению
Выберите сервис
На главной странице ClickHouse Cloud выберите сервис с Управляемым ClickStack.Перейдите в интерфейс ClickStack (HyperDX)
ВыберитеClickStack в левом меню, чтобы перейти в интерфейс ClickStack, где вы будете автоматически авторизованы.Скачайте пример данных
Чтобы заполнить интерфейс примером данных, скачайте следующий файл:Пример данныхЗагрузка тестовых данных
Чтобы загрузить эти данные, достаточно отправить их в HTTP-конечную точку развернутого OTel collector OpenTelemetry.Выполните следующую команду, чтобы отправить данные в OTel collector:Search, вы должны увидеть, что данные начали загружаться (если данные не отображаются, установите временной диапазон Last 1 hour):Загрузка данных займет несколько минут. Дождитесь ее завершения, прежде чем переходить к следующим шагам.Изучение сеансов
Предположим, нам поступают сообщения о том, что у пользователей возникают проблемы с оплатой товаров. Мы можем просмотреть их действия с помощью функции воспроизведения сеанса в HyperDX.ВыберитеClient Sessions в левом меню.В этом представлении отображаются фронтенд-сеансы для нашего интернет-магазина. Сеансы остаются Anonymous, пока пользователи не переходят к оформлению заказа и не пытаются завершить покупку.Обратите внимание, что некоторые сеансы с адресами электронной почты связаны с ошибкой, что может подтверждать сообщения о неудачных транзакциях.Выберите трейс со сбоем и связанным с ним адресом электронной почты. В следующем представлении можно воспроизвести сеанс пользователя и разобраться в его проблеме. Нажмите play, чтобы просмотреть сеанс.На записи видно, как пользователь перемещается по сайту и добавляет товары в корзину. При желании можно перейти к более позднему моменту сеанса, где он пытается завершить оплату.Пользователь не смог оформить заказ, при этом явной ошибки не видно. Прокрутите левую панель вниз — в ней показаны сетевые события и события консоли из браузера пользователя. Вы заметите, что при вызове /api/checkout возникла ошибка 500.Выберите эту ошибку 500. Ни Overview, ни Column Values не указывают на источник проблемы, кроме того, что ошибка является неожиданной и приводит к Internal Error.Explore: трассировки
Перейдите на вкладкуTrace, чтобы увидеть полную распределённую трассировку.Прокрутите трассировку вниз, чтобы увидеть источник ошибки — спан сервиса checkout. Выберите спан сервиса Payment.Выберите вкладку Column Values и прокрутите вниз. Видно, что проблема связана с переполнением кэша.Прокрутив вверх и вернувшись к трассировке, мы видим, что журналы коррелируются со спаном благодаря ранее заданной конфигурации. Они дают дополнительный контекст.Мы установили, что в платёжном сервисе переполняется кэш, из-за чего платежи не могут завершиться.Просмотр журналов в Explore
Чтобы узнать больше, можно вернуться кSearch:Выберите Logs в списке источников и примените фильтр по сервису payment.Мы видим, что, хотя проблема возникла недавно, количество затронутых платежей велико. Кроме того, похоже, что проблемы вызывает кэш, связанный с платежами Visa.Метрики графика
Хотя в код явно внесли ошибку, мы можем использовать метрики, чтобы подтвердить размер кэша. Перейдите в представлениеChart Explorer.Выберите Metrics в качестве источника данных. В конструкторе графиков постройте Maximum для visa_validation_cache.size (Gauge) и нажмите кнопку play. До достижения максимального размера кэш явно увеличивался, после чего начали появляться ошибки.