BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по ClickHouse » Энциклопедия ClickHouse » ClickHouse: Логи запросов и их анализ (clickhouse log queries)

ClickHouse: Логи запросов и их анализ (clickhouse log queries)

 

Краткое введение

Логи запросов в ClickHouse являются критическим источником информации для аналитиков, инженеров по данным и руководителей data-направлений. Они позволяют оценивать производительность отдельно взятых запросов, видеть аномалии в пиковые периоды, проводить аудит использования ресурсов, выявлять злоупотребления и неэффективности, а также формировать обоснованные решения по оптимизации архитектуры и процессов обработки данных. В рамках курса по ClickHouse тема clickhouse log queries занимает центральное место: без систематического сбора, нормализации и анализа логов невозможно вести мониторинг качества данных, управлять стоимостью вычислений и обеспечивать соответствие требованиям регуляторов и кибербезопасности. Глава объединяет теорию, практику и практические кейсы, включая интеграции с популярными инструментами мониторинга и российскими продуктами.

Введение
Логи запросов - это не просто строки в таблице system.query_log. Это детализированное отражение поведения аналитических нагрузок: какие запросы пришли на кластер, как они выполнились, сколько ресурсов потребовали и какие результаты вернули. Правильный подход к логированию требует баланса между полнотой данных и нагрузкой на систему. Задачи главы:

  • определить теоретические основы логирования запросов в ClickHouse;
  • описать архитектуру сбора и анализа логов на уровне локального узла и централизованного хранилища;
  • предложить методики обработки, агрегации и визуализации логов;
  • рассмотреть организационные аспекты, регуляторные требования и лучшие практики безопасной работы с логами;
  • привести реальные примеры и ссылки на open-source и российские продукты.

     

Теоретические основы и терминология

  • Логи запросов в ClickHouse: системная таблица system.query_log, в которую попадают записи о выполненных запросах, их времени старта и завершения, объёме обработанных данных, используемых ресурсах и тексте запроса.
  • Периоды логирования: в зависимости от настройки можно регистрировать все запросы, только медленные или запросы определённого типа.
  • Метрики исполнения: продолжительность выполнения, количество считанных/записанных строк, объем считанных байт, использование памяти, количество обработанных точек данных, задержки в цепочке репликации и пр.
  • Нормализация запросов: сохранение нормализованной формы (normalized_query) для корреляции похожих запросов и повышения сопоставимости данных.
  • Безопасность и приватность: в логах могут попадать чувствительные параметры (PII). Необходимо применять маскирование и строгие политики доступа.
  • Архитектура логирования: локальный сбор на каждом узле, централизованный консолидирующий канал, хранение и последующий анализ.

Таблица: типовые поля system.query_log (пример, точный набор зависит от версии ClickHouse)

Поле Описание
event_time Время события лога
query_start_time Время старта выполнения запроса
query_duration_ms Длительность выполнения в миллисекундах
read_rows Число считанных строк
read_bytes Объём считанных байт
written_rows Число возвращённых строк
memory_usage Потребление памяти во время выполнения
query Текст запроса
normalized_query Нормализованный текст запроса
user Имя пользователя
address IP-адрес клиента/узла, инициировавшего запрос
query_id Идентификатор запроса
type Тип запроса (QUERY, INITIAL_QUERY, SELECT, INSERT и т.д.)
finite_duration Признак завершения в рамках бюджета времени (если применимо)

 

Методологии и подходы

  • Полнота против производительности: целевые настройки должны обеспечить достаточную полноту логов без чрезмерной нагрузки на производительность узлов. Рекомендуется начать с полного логирования для разработки и phased rollout на продуктивных кластерах.
  • Централизация и единая модель данных: сбор логов в едином формате облегчает последующий анализ, корреляцию с метриками исполнения и аудит.
  • Инженерия данных для логов: создание схемы хранения логов, агрегации и предобработки, которая поддерживает нисходящую совместимость версий ClickHouse.
  • Принципы безопасного хранения и доступа: шифрование на уровне хранения, разграничение доступа по ролям, аудит доступа к log-данным.
  • Инструменты анализа: использование OLAP-слоев и инструментов визуализации для быстрого обнаружения проблем и трендов.

Архитектура и технологическая реализация

 

Общая архитектура

  • Источники логов: каждый узел ClickHouse может формировать локальные логи через system.query_log.
  • Ингресс и агрегация: логи отправляются в централизованный накопитель через каналы Kafka, Apache Pulsar, NATS или через файловую систему с последующей обработкой.
  • Хранение: первичное хранение в ClickHouse через объединение логов в системные таблицы (например, отдельная таблица-лог или уже существующий system.query_log) и/или in-memory схемы до стадии долговременного хранилища.
  • Аналитика и визуализация: построение агрегированных таблиц в ClickHouse, загрузка в аналитические дашборды через Grafana или российские решения вроде DataLens, а также интеграция с OpenTelemetry-перехватчиками для трассировки.
  • Архитектура обеспечения доступности: репликация, выбор режима чтения и записи, и резервное копирование логов.

     

Технологическая реализация на примере кластера

  • Локальное логирование на узле:
    • Включение логирования запросов (log_queries) и настройка порогов.
    • Подключение к system.query_log через таблицу-источник.
  • Централизованный сбор:
    • Инструменты: Kafka для потоковой передачи, либо файловая выгрузка в HDFS/S3.
    • Стратегия: гибридный подход - часть логов хранится локально для быстрого анализа, часть отправляется в центральный хранилище.
  • Аналитика и хранение:
    • В ClickHouse создаются свойства-таблицы для агрегаций: ежедневные/пользовательские обзоры, горячие запросы, топ-некоторые запросы.
    • Визуализация: Grafana dashboards или DataLens. Пример ниже.
  • Интеграции:
    • Инструменты мониторинга: Prometheus (для метрик времени выполнения, задержек), OpenTelemetry для трассировок.
    • Интеграции с российскими решениями: Яндекс.Облако Мониторинг, DataLens и локальные средства визуализации.

       

Код и примеры реализации

  1. Включение логирования и базовый пример запроса
  • Включение в сессии (для разработки):

    
    ## SET log_queries = 1;
    SET log_queries_cutoff = 0; -- логировать все запросы, без порога
    SET log_queries_min_type = 'QUERY';
    
  • Пример запроса к логам:

    
    SELECT
      event_time,
      query_start_time,
      query_duration_ms,
      read_rows,
      read_bytes,
      written_rows,
      memory_usage,
      query,
      normalized_query,
      user
    ## FROM system.query_log
    WHERE event_time >= now() - INTERVAL 1 DAY
      AND query LIKE '%SELECT%'
    ORDER BY event_time DESC
    LIMIT 100;
    
  1. Таблица и структура хранения аггрегированных логов
  • Пример создаваемой таблицы-резерва для агрегаций (упрощённый вариант):
    
    CREATE TABLE logs.query_aggregate
    (
      dt Date DEFAULT toDate(event_time),
      user String,
      top_query String,
      total_duration_ms UInt64,
      total_reads UInt64,
      total_writes UInt64,
      count UInt64
    ) ENGINE = MergeTree()
    PARTITION BY dt
    ORDER BY (dt, top_query);
    
  1. Пример простой пайплайна через Kafka (общий подход)
  • Отправка логов в Kafka:
    • Узел ClickHouse может писать в Kafka через внешние интеграции, либо через коннектор Logstash/Fluentd, затем в Kafka.
  • Обработка в рамках Spark/Flink:
    • Пример задания в Flink: читать из Kafka, парсить поля system.query_log, агрегировать по дням и по пользователям, сохранять в ClickHouse.
  1. Архитектурная схема в текстовом виде
  • Узел ClickHouse:
    • system.query_log -> локальная таблица
    • регистрируемые события: все запросы или только медленные
  • Конвейер:
    • источник: Kafka topic "clickhouse-logs"
    • обработчик: Flink job для агрегации и нормализации
    • вывод: ClickHouse для долговременного хранения и индексирования
  • Хранилище и визуализация:
    • ClickHouse tables: raw_logs, daily_aggregates
    • Grafana/DataLens dashboards: топ-запросы, задержки, распределение пользователей
  • Безопасность: шифрование на уровне каналов передачи, IAM-политики на доступ к данным лога

     

Организационные и процессные аспекты

  • Роли и ответственность:
    • Data Engineer: настройка логирования, создание схем агрегации, поддержка пайплайна
    • Data Architect: определение политики retention, структур данных, схем репликации логов
    • IT-директор/CIO: защита данных, соответствие регуляторным требованиям, отраслевые стандарты
  • Политики хранения и доступа:
    • Минимизация хранения PII: маскирование, исключение некоторых столбцов из логов
    • Retention: определение периода хранения в зависимости от регуляторных требований и бизнеса
  • Регуляторные и аудит-аспекты:
    • Логи запросов часто служат источником аудита доступа к данным, мониторинга использования ресурсов и обеспечения соответствия требованиям по безопасности.

       

Риски, ограничения и типовые ошибки

  • Проблемы производительности: чрезмерное логирование может повлиять на задержку обработки запросов и потребление ресурсов. Решение: реализовать пороги (log_queries_cutoff), выбирать режимы логирования (fast path vs slow path) и использовать асинхронную агрегацию логов.
  • Масштабируемость: на больших кластерах объём логов может расти экспоненциально. Решение: многослойное хранение, агрегации, архивирование в холодное хранилище (S3, HDFS).
  • Безопасность и конфиденциальность: логи содержат чувствительные данные. Решение: маскирование входных параметров, ограничение доступа к логам, аудит доступа.
  • Неполнота данных: из-за особенностей версии ClickHouse и настроек лога могут отсутствовать некоторые поля; важно документировать версию и особенности конфигураций.
  • Типичные ошибки:
    • Неактивированное логирование на продакшене → пропадание данных для анализа
    • Неправильная настройка retention → переполнение хранилища
    • Игнорирование нормализации запросов → дублирование метрик
    • Неправильная фильтрация PII → нарушение регуляторных требований

Заключение
Логи запросов ClickHouse - это критический инструмент управления эффективностью и безопасностью аналитических нагрузок. Грамотная организация сбора, хранения и анализа логов позволяет не только выявлять и устранять узкие места, но и строить архитектуру данных с учётом реальных сценариев использования. Практическая реализация требует последовательности: от определения требований к логированию до построения централизованной инфраструктуры для анализа и визуализации. Включение российских и open-source инструментов расширяет возможности по мониторингу и соответствует современным подходам к обработке больших объёмов данных в условиях регуляторных ограничений.

 

FAQ (Вопросы и ответы)

  1. зачем вообще логировать запросы в ClickHouse?
  • Логи позволяют видеть реальную стоимость выполнения операций, определять медленные запросы, аудитировать доступ к данным, отслеживать тенденции использования кластера и принимать обоснованные решения по оптимизации и масштабированию. Без логирования трудно объяснить причины задержек и определить точки улучшения.
  1. какие поля в system.query_log наиболее важны для анализа?
  • Наиболее значимые поля: event_time, query_start_time, query_duration_ms, read_rows, read_bytes, written_rows, memory_usage, query, normalized_query, user, address, query_id. Они позволяют оценить производительность, потребление ресурсов и характер запросов.
  1. как минимизировать влияние логирования на производительность?
  • Включайте логирование выборочно (например, log_queries_min_type = 'QUERY' или log_queries_cutoff для медленных запросов), применяйте асинхронную агрегацию логов, используйте централизованный конвейер, хранение «сырых» логов отдельно от аггрегированных метрик, применяйте суррогатные идентификаторы вместо полного текста, там where возможно маскируйте параметры.
  1. как обеспечить безопасность и приватность логов?
  • Разграничение доступа к логам по ролям, маскирование чувствительных полей, хранение логов в зашифрованном виде, аудит доступа к log-данным, соблюдение требований к персональным данным и регуляторных стандартов.
  1. какие архитектурные подходы лучше выбрать для больших кластеров?
  • Гибридная архитектура: локальные журналы на узлах и централизованный консолидатор через Kafka/Pulsar; долговременное хранение и агрегации в ClickHouse; централизованный доступ к логам через визуализацию и аналитические дашборды.
  1. какие российские и open-source инструменты можно использовать?
  • Open-source: Apache Kafka, Apache Flink, Apache Spark, Grafana + Loki, OpenTelemetry, ClickHouse. Российские продукты/платформы: Яндекс.Облако мониторинг, DataLens для визуализации, открытые интеграции с отечественными системами мониторинга и логирования; локальные решения по ingestion и безопасность данных в рамках инфраструктуры предприятия.
  1. как строить пайплайн анализа логов?
  • Шаг 1: включить базовое логирование и проверить корректность сбора. Шаг 2: настроить сбор логов через централизованный конвейер (Kafka/Pulsar). Шаг 3: создать слои хранения: raw_logs и агрегированные таблицы. Шаг 4: внедрить черновые дашборды в Grafana/DataLens. Шаг 5: начать с медленных запросов и топ-исполнителей, далее расширять набор метрик. Шаг 6: обеспечить безопасный доступ и регуляторную совместимость.
  1. как использовать логи для оптимизации запросов?
  • АнализируйтеTop N медленных запросов, ищите повторяющиеся паттерны, оптимизируйте схемы данных: добавляйте индексы, реорганизуйте таблицы MergeTree, используйте денормализацию там, где это уменьшает объем данных. Используйте нормализованные запросы для сопоставления схожих сценариев и применения общих оптимизаций.
  1. какие ошибки часто встречаются на практике?
  • Недостаточное хранение логов, устаревшие версии ClickHouse без совместимых полей, несогласованная политика retention, отсутствие маскирования PII, игнорирование регуляторных требований, слишком агрессивные пороги логирования, что приводит к перегрузке системы мониторинга.
  1. можно ли использовать логи для автоматического оповещения?
  • Да. Интеграции с Prometheus-метриками и алертами на Grafana/DataLens позволяют настроить оповещения на превышение порогов по времени выполнения, объему считанных байт, частоте запросов и другим метрикам. Включение сигнатур медленных запросов и аномалий в течение суток упрощает оперативную реакцию.

     

Реальные примеры и продукты

  • Open-source примеры:
    • ClickHouse: система логирования запросов и возможность агрегаций на уровне системы.
    • Kafka + Flink/Spark: потоковая обработка и агрегация логов.
    • Grafana + Loki: визуализация и поиск по логам.
  • Российские примеры и экосистемы:
    • Яндекс.Облако Мониторинг: интеграция логирования запросов в рамках комплексного мониторинга.
    • DataLens: визуализация и аналитика данных, включая логи и метрики запросов.
    • Локальные решения по ingestion и хранению логов в инфраструктуре предприятий, поддерживаемые партнёрами и интегрированными сервисами.

Примеры open-source и российских продуктов в контексте архитектуры

  • Архитектура 1: локальные логи + централизованный сбор
    • ClickHouse on each node -> system.query_log
    • Kafka topic "clickhouse-logs" -> Flink job -> aggregator table в ClickHouse
    • Grafana dashboards на основе aggregator table
  • Архитектура 2: интеграция с российскими сервисами
    • Яндекс.Облако мониторинг для сбора и визуализации
    • DataLens для детализированных дашбордов и отчетности
    • OpenTelemetry для трассировки и корреляции запросов

       

С практической точки зрения

  • Рекомендации по внедрению:
    • Начинайте с набора ключевых полей и режима логирования, который подходит текущей нагрузке.
    • Постепенно добавляйте агрегации и переходите к централизованному хранению.
    • Периодически пересматривайте retention и политики доступа.
    • Используйте тестовые стенды для моделирования влияния логирования на производительность.
  • Вопросы к проектированию:
    • Какие требования к аудитам и регуляторным нормам применимы к вашей отрасли?
    • Какие запросы являются приоритетными для оптимизации?
    • Какой объём логов ожидается на пиковых нагрузках и как его эффективно архивировать?

       

Источники и дополнительные материалы

  • Open-source: ClickHouse документация по system.query_log, Kafka, Flink, Grafana/Loki.
  • Российские решения: Яндекс.Облако мониторинг, DataLens, локальные форки и интеграции с отечественными системами мониторинга.

     

Заключение по главе

Глубокое понимание и грамотная организация процесса логирования запросов в ClickHouse - фундамент эффективной эксплуатации аналитических систем. Чётко спроектированная архитектура сбора логов, их хранение и анализ позволяют не только реагировать на текущие проблемы, но и прогнозировать нагрузку, планировать масштабирование, оптимизировать затраты и обеспечивать устойчивость данных. В следующей главе мы углубимся в конкретные техники оптимизации запросов на основании логов и рассмотрим примеры реальных кейсов мониторинга кластера ClickHouse в крупных данных.

Важно: в рамках учебной задачи сохраните оригинальное словосочетание "clickhouse log queries" в тексте, чтобы сохранить контекст содержания и обеспечить точное соответствие ключевой теме.

← Предыдущая статья
clickhouse api
Следующая статья →
движок clickhouse

 

Узнать стоимость решенияЗапросить видео презентацию

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ООО «Ай Пи Ти Групп» (IPT Group) — многопрофильный консалтинговый холдинг, специализирующийся на юридическом и финансовом сопровождении бизнеса. IPT Group занимает высокие позиции в профессиональных рейтингах, входит в ТОП-30 лучших юридических компаний России по версии «Право.ru-300», Global Law Experts и др.

  • Компания ООО "Комус" - один из лидеров российского рынка оптовых продаж офисных товаров и техники. Компания поставляет широкий ассортимент продукции - от канцелярских принадлежностей до компьютерной техники и офисной мебели.

  • Нашей компанией был реализован проект автоматизации конвейера данных на базе СПО ETL-инструмента Apache NiFi для клиента ООО «Императорский Монетный Двор» в части актуализации данных, передаваемых из Системы Oracle в Anaplan.

  • В «Пивоваренной компании «Балтика» аналитическая платформа Loginom применяется для моделирования процессов или построения отчетов, в том числе для формирования рекомендаций по корректировке плана промоактивностей.
     
  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.