Создание визуализаций
GROUP BY: вы задаёте метрики для агрегации по выбранным измерениям.
Например, можно построить график количества ошибок (count()), сгруппированных по имени сервиса.
В примерах ниже используется удалённый набор данных, доступный на sql.clickhouse.com, который описан в руководстве “Remote Demo Dataset”. Вы также можете повторить эти примеры на play-clickstack.clickhouse.com.
Перейдите в Chart Explorer
ВыберитеChart Explorer в левом меню.Создайте визуализацию
В примере ниже мы строим график средней длительности запросов по времени с группировкой по имени сервиса. Для этого нужно указать метрику, столбец (это может быть SQL-выражение) и поле группировки.Выберите тип визуализацииLine/Bar в верхнем меню, затем набор данных Traces (или Demo Traces, если вы используете play-clickstack.clickhouse.com). Заполните следующие значения:- Метрика:
Average - Столбец:
Duration/1000 - Where:
<empty> - Group By:
ServiceName - Alias:
Average Time
WHERE, либо с помощью синтаксиса Lucene, а также задавать временной диапазон, за который они должны отображаться. Также поддерживается несколько серий.Например, можно отфильтровать данные по сервису frontend, добавив фильтр ServiceName:\"frontend\". Нажмите Add Series, чтобы добавить вторую серию для количества событий по времени с псевдонимом Count.Визуализации можно создавать из любого источника данных — метрик, трассировок или журналов. ClickStack обрабатывает всё это как события в широком формате. Любой числовой столбец можно отображать на графике во времени, а строковые, числовые столбцы и столбцы с датами можно использовать для группировки.Такой унифицированный подход позволяет создавать панели мониторинга для разных типов телеметрии, используя единую гибкую модель.
Создание панелей мониторинга
Перейдите в раздел Dashboards
ВыберитеDashboards в левом меню. Затем нажмите New Dashboard, чтобы создать временную или сохранённую панель мониторинга.Создайте визуализацию — среднее время запроса по сервисам
ВыберитеAdd New Tile, чтобы открыть панель создания визуализации.В верхнем меню выберите тип визуализации Line/Bar, затем набор данных Traces (или Demo Traces, если вы используете play-clickstack.clickhouse.com). Заполните следующие поля, чтобы создать диаграмму со средней длительностью запросов во времени для каждого сервиса:- Название диаграммы:
Average duration by service - Метрика:
Average - Столбец:
Duration/1000 - Where:
<empty> - Группировать по:
ServiceName - Псевдоним:
Average Time
Save.Измените размер визуализации так, чтобы она занимала всю ширину панели мониторинга.Создайте визуализацию — события по времени по сервисам
ВыберитеAdd New Tile, чтобы открыть панель создания визуализации.Выберите в верхнем меню тип визуализации Line/Bar, затем набор данных Logs (или Demo Logs, если используете play-clickstack.clickhouse.com). Заполните следующие поля, чтобы создать график, показывающий количество событий по времени для каждого имени сервиса:- Название графика:
Event count by service - Метрика:
Count of Events - Where:
<empty> - Group By:
ServiceName - Alias:
Count of events
Save.Измените размер визуализации так, чтобы она занимала всю ширину панели мониторинга.Добавьте плитку тепловой карты для длительности span
Плитки тепловой карты показывают количество событий, попадающих в каждый бакет(time, value), в виде цветной сетки. Используйте тепловую карту, когда нужно видеть форму распределения во времени, а не только среднее значение или один процентиль. Тепловая карта задержки позволяет выявить бимодальные паттерны длительности, кластеры «медленного хвоста» или резкие расширения, которые линейный график просто усреднил бы.Чтобы добавить плитку тепловой карты:- Выберите
Add New Tile. - В верхнем меню выберите тип визуализации
Heatmap. В раскрывающемся списке источников данных показываются только источники, чей тип источника —Traces. Источники журналов, метрик и сеансов скрыты, поскольку для тепловых карт нужен столбец длительности span, который есть только у источников трассировок. - Выберите любой из ваших источников трассировок по имени. Само имя произвольно — значение имеет только тип.
- Value:
Duration Expressionисточника, приведённое к текущей единице отображения (например,(Duration)/1e6, чтобы преобразовать длительность span каждого события из наносекунд в миллисекунды) - Count:
count()
- Задайте имя графика и используйте
Where, чтобы ограничить тепловую карту конкретным сервисом или набором операций, за производительностью которых вы хотите наблюдать. - Настройте временной диапазон в соответствии с нужным периодом. Более широкие диапазоны позволяют увидеть сдвиги распределения и бимодальные паттерны задержки, которые короткие окна могут скрывать.
Run, чтобы предварительно просмотреть график, затем — Save.Сохранённая плитка отображается на панели мониторинга как тепловая карта. Наведите указатель на любую ячейку, чтобы увидеть границы бакета и количество событий.Переход к Event Deltas
Нажмите любую ячейку на готовой плитке тепловой карты, чтобы открыть действие View in Event Deltas.При выборе этого действия открывается представление Event Deltas, куда переносятся источник данных плитки, условиеWhere и временной диапазон. Там вы сможете интерактивно исследовать то же распределение, разбить его по attribute, чтобы понять, чем медленные spans отличаются от быстрых, и изучить отдельные spans, стоящие за любой ячейкой, не пересобирая запрос вручную.Фильтрация на панели мониторинга
Фильтры Lucene или SQL, а также временной диапазон, можно задавать на уровне панели мониторинга — они автоматически применяются ко всем визуализациям.Для примера примените к панели мониторинга фильтр LuceneServiceName:"frontend" и установите временной диапазон Последние 3 часа. Обратите внимание: теперь визуализации показывают данные только сервиса frontend.Панель мониторинга сохраняется автоматически. Чтобы задать ей имя, выберите заголовок, измените его и нажмите Save Name.Панели мониторинга — редактирование визуализаций
Панели мониторинга — список и поиск
Панели мониторинга — теги
- Организация: Теги отображаются на левой боковой панели, где панели мониторинга и сохранённые поиски сгруппированы по назначенным им тегам
- Несколько тегов: Для более удобной категоризации одному элементу можно назначить один или несколько тегов
- Автосоздание: Если вы назначите тег, которого ещё не существует, он будет создан автоматически
- Простое управление: Вы можете в любой момент добавлять или удалять теги, чтобы менять структуру организации
Пользовательские фильтры
Откройте диалоговое окно Edit Filters
Откройте сохраненную панель мониторинга и выберите Edit Filters на панели инструментов.Добавьте новый фильтр
Нажмите Add new filter. Настройте фильтр: укажите Name, выберите Data source и введите Filter expression — SQL-столбец или выражение, уникальные значения которого будут заполнять выпадающий список. Затем нажмите Save filter.Например, чтобы добавить фильтр по сервису для данных трассировки, используйтеServiceName в качестве выражения фильтра и источник данных Traces. Поле “Dropdown values filter” необязательно и позволяет ограничить набор значений, отображаемых в выпадающем списке.Модальное окно Filters показывает все настроенные фильтры для панели мониторинга. Здесь можно изменять или удалять существующие фильтры, а также добавлять новые.Используйте фильтр
Закройте модальное окно Filters. Новый выпадающий фильтр появится под строкой поиска. Нажмите на него, чтобы увидеть доступные значения, затем выберите одно из них, чтобы отфильтровать все визуализации на панели мониторинга.(Необязательно) Сохраните значения фильтра по умолчанию
Чтобы сохранить выбранное значение фильтра как значение по умолчанию для панели мониторинга, выберите Save Query & Filters as Default в меню панели мониторинга. После этого панель мониторинга всегда будет открываться с примененными выбранными фильтрами. Чтобы сбросить настройки, выберите Remove Default Query & Filters в том же меню.Пользовательские выпадающие фильтры доступны в сохраненных панелях мониторинга. Пример использования такого подхода см. в панели мониторинга Kubernetes, где есть встроенные выпадающие фильтры для пода, развертывания, имени узла, пространства имен и кластера.
Переход к поиску
- Показать все события — выполняет переход на страницу Search, где отображаются все события за выбранный период времени.
- Фильтровать по группе — выполняет переход на страницу Search с фильтром по определённой серии.
Предустановки
Панель мониторинга ClickHouse
Требуемый доступ к системным таблицамЭта панель мониторинга обращается к системным таблицам 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_logGRANT SHOW COLUMNS, SELECT(active, database, partition, rows, table) ON system.partsGRANT 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_logGRANT SHOW COLUMNS, SELECT(event_date, event_time, hostname, metric, value) ON system.transposed_metric_log