Перейти к основному содержимому
Перейти к основному содержимому

Визуализации и панели мониторинга с ClickStack

ClickStack поддерживает визуализацию событий с встроенной поддержкой графиков в HyperDX. Эти графики могут быть добавлены на информационные панели для обмена с другими пользователями.

Визуализации могут быть созданы на основе трасс, метрик, журналов или любых пользовательских схем широких событий.

Создание визуализаций

Интерфейс Chart Explorer в HyperDX позволяет пользователям визуализировать метрики, трассы и журналы с течением времени, что облегчает создание быстрых визуализаций для анализа данных. Этот интерфейс также используется при создании информационных панелей. В следующем разделе описан процесс создания визуализации с использованием Chart Explorer.

Каждая визуализация начинается с выбора источника данных, затем метрики, с необязательными выражениями фильтра и полями группировки. Концептуально визуализации в HyperDX соответствуют SQL-запросу GROUP BY под капотом — пользователи определяют метрики для агрегации по выбранным измерениям.

Например, вы можете построить график количества ошибок (count()), сгруппировав по имени сервиса.

В примерах ниже мы используем удаленный набор данных, доступный на sql.clickhouse.com, описанный в руководстве "Удаленный демонстрационный набор данных". Пользователи также могут воспроизвести эти примеры, посетив play-clickstack.clickhouse.com.

Выберите Chart Explorer в левом меню.

Chart Explorer

Создать визуализацию

В приведенном ниже примере мы строим график средней продолжительности запроса с течением времени по имени сервиса. Это требует от пользователя указать метрику, колонку (которая может быть SQL-выражением) и поле агрегации.

Выберите тип визуализации Line/Bar в верхнем меню, затем набор данных Traces (или Demo Traces, если используете play-clickstack.clickhouse.com). Заполните следующие значения:

  • Metric: Average
  • Column: Duration/1000
  • Where: <empty>
  • Group By: ServiceName
  • Alias: Average Time
Simple visualization

Обратите внимание, что пользователи могут фильтровать события, используя либо SQL WHERE клаузу, либо синтаксис Lucene, и устанавливать временной интервал, в течение которого события должны быть визуализированы. Также поддерживаются множественные серии.

Например, отфильтруйте по сервису frontend, добавив фильтр ServiceName:"frontend". Добавьте вторую серию для количества событий с течением времени с псевдонимом Count, нажав Add Series.

Simple visualization 2
примечание

Визуализации могут быть созданы из любого источника данных — метрик, трасс или журналов. ClickStack рассматривает все эти данные как широкие события. Любая числовая колонка может быть визуализирована с течением времени, а строковые, дата или числовые колонки могут использоваться для группировки.

Этот унифицированный подход позволяет пользователям строить информационные панели для всех типов телеметрии, используя последовательную и гибкую модель.

Создание информационных панелей

Информационные панели предоставляют способ группировки связанных визуализаций, позволяя пользователям сравнивать метрики и исследовать шаблоны бок о бок, чтобы выявить потенциальные коренные причины в их системах. Эти панели можно использовать для текущих расследований или сохранять для последующего мониторинга.

Глобальные фильтры могут быть применены на уровне информационной панели, автоматически распространяясь на все визуализации в этой панели. Это позволяет осуществлять согласованное углубление по графикам и упрощает корреляцию событий между сервисами и типами телеметрии.

Ниже мы создаем информационную панель с двумя визуализациями, используя источники данных журналов и трасс. Эти шаги можно воспроизвести на play-clickstack.clickhouse.com или локально, подключившись к набору данных, размещенному на sql.clickhouse.com, как описано в руководстве "Удаленный демонстрационный набор данных".

Выберите Dashboards в левом меню.

Create Dashboard

По умолчанию информационные панели являются временными и предназначены для поддержки текущих расследований.

Если вы используете свой собственный экземпляр HyperDX, вы можете убедиться, что эту панель можно позже сохранить, нажав Create New Saved Dashboard. Эта опция не будет доступна, если вы используете среду только для чтения play-clickstack.clickhouse.com.

Создание визуализации – среднее время запроса по сервису

Выберите Add New Tile, чтобы открыть панель создания визуализации.

Выберите тип визуализации Line/Bar в верхнем меню, затем набор данных Traces (или Demo Traces, если используете play-clickstack.clickhouse.com). Заполните следующие значения, чтобы создать график, показывающий среднюю продолжительность запроса с течением времени по имени сервиса:

  • Chart Name: Average duration by service
  • Metric: Average
  • Column: Duration/1000
  • Where: <empty>
  • Group By: ServiceName
  • Alias: Average Time

Нажмите кнопку play перед тем, как нажать Save.

Create Dashboard Visualization

Измените размер визуализации, чтобы она занимала полную ширину информационной панели.

Dashboard with visuals

Создание визуализации – события с течением времени по сервису

Выберите Add New Tile, чтобы открыть панель создания визуализации.

Выберите тип визуализации Line/Bar в верхнем меню, затем набор данных Logs (или Demo Logs, если используете play-clickstack.clickhouse.com). Заполните следующие значения, чтобы создать график, показывающий количество событий с течением времени по имени сервиса:

  • Chart Name: Event count by service
  • Metric: Count of Events
  • Where: <empty>
  • Group By: ServiceName
  • Alias: Count of events

Нажмите кнопку play перед тем, как нажать Save.

Dashboard Visualization 2

Измените размер визуализации, чтобы она занимала полную ширину информационной панели.

Dashboard with visuals 2

Фильтр информационной панели

Фильтры Lucene или SQL, а также временной диапазон могут быть применены на уровне информационной панели и автоматически распространятся на все визуализации.

Dashboard with filtering

Чтобы продемонстрировать, примените фильтр Lucene ServiceName:"frontend" к информационной панели и измените временное окно, чтобы охватить последние 3 часа. Обратите внимание, что визуализации теперь отображают данные только от сервиса frontend.

Информационная панель будет автоматически сохранена. Чтобы установить имя информационной панели, выберите заголовок и измените его перед нажатием Save Name.

Dashboard save

Информационные панели - редактирование визуализаций

Чтобы удалить, отредактировать или сделать дубликат визуализации, наведите курсор на нее и используйте соответствующие кнопки действий.

Dashboard edit

Информационные панели доступны из левого меню, с встроенным поиском для быстрого нахождения конкретных информационных панелей.

Dashboard search

Предустановки

HyperDX поставляется с готовыми информационными панелями.

Информационная панель ClickHouse

Эта панель предоставляет визуализации для мониторинга ClickHouse. Чтобы перейти к этой панели, выберите ее в левом меню.

ClickHouse dashboard

Эта панель использует вкладки для разделения мониторинга Selects, Inserts и ClickHouse Infrastructure.

Требуется доступ к системным таблицам

Эта панель запрашивает системные таблицы ClickHouse для отображения ключевых метрик. Для этого требуются следующие права:

GRANT SHOW COLUMNS, SELECT(CurrentMetric_MemoryTracking, CurrentMetric_S3Requests, ProfileEvent_OSCPUVirtualTimeMicroseconds, ProfileEvent_OSReadChars, ProfileEvent_OSWriteChars, ProfileEvent_S3GetObject, ProfileEvent_S3ListObjects, ProfileEvent_S3PutObject, ProfileEvent_S3UploadPart, event_time) ON system.metric_log

GRANT SHOW COLUMNS, SELECT(active, database, partition, rows, table) ON system.parts

GRANT SHOW COLUMNS, SELECT(event_date, event_time, memory_usage, normalized_query_hash, query, query_duration_ms, query_kind, read_rows, tables, type, written_bytes, written_rows) ON system.query_log

GRANT SHOW COLUMNS, SELECT(event_date, event_time, hostname, metric, value) ON system.transposed_metric_log

Информационная панель Services

Информационная панель Services отображает все активные в данный момент сервисы на основе данных трасс. Это требует, чтобы пользователи собрали трассы и настроили действующий источник данных Traces.

Имена сервисов автоматически определяются из данных трасс, с рядом заранее подготовленных визуализаций, организованных по трем вкладкам: HTTP Services, Database и Errors.

Визуализации могут фильтроваться с использованием синтаксиса Lucene или SQL, а временное окно можно настраивать для более точного анализа.

ClickHouse services

Информационная панель Kubernetes

Эта панель позволяет пользователям исследовать события Kubernetes, собранные через OpenTelemetry. Она включает в себя расширенные опции фильтрации, позволяя пользователям фильтровать по Pod Kubernetes, Deployment, имени узла, Namespace и кластеру, а также выполнять поиски по свободному тексту.

Данные Kubernetes организованы по трем вкладкам для удобства навигации: Pods, Nodes и Namespaces.

ClickHouse kubernetes