Перейти к содержанию

Включение/выключение ClickHouse

Начиная с версии 10.4, в сервисе онлайн-консультирования Webim появилась возможность пользоваться улучшенным модулем Статистики, работающим на СУБД ClickHouse. Ниже приведены инструкции по включению и отключению ClickHouse и модуля Статистики v2.

N.B.

То, как именно обновляются данные в Статистике v2, зависит от способа наполнения ClickHouse. Подробнее: Режимы подсчёта и обновления статистики.

Важно

Параметры analytics_v2_*, описанные ниже, актуальны начиная с версии 10.8. В версиях 10.4–10.7 использовались прежние имена (clickhouse_stats, stats_v2, dashboard_v2 и др.) — см. описание параметров account config.

Ручная установка и настройка ClickHouse

  1. Установите ClickHouse 23.12 на отдельном сервере. Эта версия указана в требованиях к программному обеспечению. Аппаратные рекомендации — в документации ClickHouse.

    Важно

    Не используйте быстрый старт ClickHouse (curl https://clickhouse.com/ | sh) и не ставьте пакеты clickhouse-server / clickhouse-client без номера версии: так устанавливается текущий релиз, а не версия из требований к программному обеспечению. Webim тестирует и поддерживает указанную там линейку.

    Команды ниже — для Debian и Ubuntu (apt). Для RPM-дистрибутивов (RHEL, CentOS и аналоги) используйте официальную инструкцию ClickHouse и фиксируйте версию пакетов из требований, не ставьте их без номера версии.

    На Debian и Ubuntu добавьте официальный репозиторий по инструкции ClickHouse и зафиксируйте версию пакетов:

    sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
    curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
    ARCH=$(dpkg --print-architecture)
    echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=${ARCH}] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
    sudo apt-get update
    apt-cache madison clickhouse-server | grep 23.12
    # подставьте вместо 23.12.X.Y номер сборки линейки 23.12 из вывода команды выше, один и тот же для всех трёх пакетов
    sudo apt-get install clickhouse-server=23.12.X.Y clickhouse-client=23.12.X.Y clickhouse-common-static=23.12.X.Y
    sudo apt-mark hold clickhouse-server clickhouse-client clickhouse-common-static
    sudo systemctl start clickhouse-server
    

    Команда apt-mark hold не даёт apt автоматически обновить ClickHouse до любой другой версии, в том числе более новой сборки той же линейки. Если нужной сборки нет в индексе репозитория, скачайте три пакета в одной и той же версии из архива и установите локальные .deb через apt-get install.

    Если ClickHouse запускается в Docker, указывайте тег сборки требуемой линейки, например clickhouse/clickhouse-server:23.12.X.Y, а не latest. 23.12.X.Y замените на номер сборки из вывода apt-cache madison.

  2. Установите пароль для пользователя default. Для этого откройте файл /etc/clickhouse-server/users.xml, найдите в нём элемент <password>, находящийся по умолчанию в подразделе <default> раздела <users>. Между тегами элемента <password> введите новый пароль:

    <users>
    <default>
    <password>your-password</password>
    
  3. Разрешите пользователю default создавать других пользователей и выдавать им права. Для этого вам необходимо в открытом ранее файле users.xml найти элемент <access_management> и раскомментировать его, приведя к следующему виду:

    <access_management>1</access_management>
    
  4. В файле конфигурации /etc/webim/db.json.d/db.json допишите в объект "dbs" параметры БД ClickHouse:

    "stats_root":
      "default": {
        "type": "clickhouse",
        "host": "<DB IP address>",
        "port": 9000,
        "user": "default",
        "password": "<your-password>"
      }
    },
    "stats": {}
    

    Менеджмент БД со стороны сервера будет происходить через пользователя default. Позднее в ClickHouse будет создана учётная запись для Вашего аккаунта в Webim.

  5. Перейдите в account config. Включите параметр analytics_v2_chat_backend_population, после чего перезагрузите Chat Backend.

  6. При необходимости включите параметр analytics_v2_chat_backend_realtime_population и задайте analytics_v2_chat_backend_realtime_population_period (в секундах), чтобы настроить период обновления realtime-данных.

  7. После перезагрузки активируйте нужные вам опции account config для отображения в меню разделов ClickHouse-статистики:

    • analytics_v2_stats: модуль Статистики на ClickHouse

    • analytics_v2_dashboard: Панель управления на ClickHouse

    • analytics_v2_builder: Конструктор отчётов на ClickHouse

    Ссылки на новую версию статистики заменят аналогичные ссылки на предыдущую версию.

Отключение ClickHouse

Для отключения ClickHouse достаточно проделать следующие шаги:

  1. Удостоверьтесь, что опции account config, отвечающие за ClickHouse-статистику, выключены (analytics_v2_stats, analytics_v2_dashboard, analytics_v2_builder, analytics_v2_chat_backend_population и analytics_v2_chat_backend_realtime_population).

    Параметр analytics_v2_chat_backend_realtime_population_period отдельно отключать не нужно: это числовая настройка периода, а не переключатель.

  2. В файле конфигурации /etc/webim/db.json.d/db.json удалите объекты "stats_root" и "stats".

  3. Перезагрузите Chat Backend.

После этого вы можете отключить сервер ClickHouse:

sudo systemctl stop clickhouse-server