Архитектура
Обработка входящих запросов
Коммуникация сервисов
Руководство пользователя
Получение данных из сервисов
Использование Панели управления
Использование инструментов из комплекта
Работа с Theia
Мониторинг Netdata
Работа с Jupyter
Работа с ClickHouse
Основные принципы
Модификация схемы
Подключение к VPN
Справочная информация
HTTP Redirect
Каналы получения данных
WebSocket
Загрузка больших файлов
JSON-RPC 2.0 RST
API сервисов
Director API
Front API
RockMe Framework (TypeScript)
Переменные окружения
Маппинг путей
Сетевая инфраструктура
Схема хранилища ClickHouse
Создание сервисов
Python + Band Framework
Организация сервиса
Коммуникация с другими сервисами
Работа с ClickHouse
Другие возможности
TypeScript + Rockme Framework
Организация сервиса
Туториалы
Получение данных из других сервисов
Сбор сырых данных Google Analytics
Создание динамического Calltracking
Построение истории отдельного пользователя
Классические модели атрибуции
Вероятностное прохождение воронки
Атрибуция по индексу активности
Воронки
Реализация Cookie-Sync
Сегментация пользователей
X
Выберите раздел

What's new

Coming

  • Web-SDK

    • Request limit up to 100kb
    • trackActivity new params
  • Heavyload

    • Completely re-written
    • Support files up to 500mb
  • Band framework

    • Support for http streaming responses
    • Response wrappers: pixel, redirect, error, data
  • Bootstrap

    • Custom configuraton support
  • Director

    • Tail logs from docker and assess it by websocker (ebaloger functionality)
  • Dashboard

    • Logs commands: auto-follow, pause
    • Swithed to director source

2 jan 2019

  • Services

  • Grafana

    • New demo dashboard
  • Band

    • Fixed bug with reconnection after connection drop
    • New service template using cookiecutter. More at https://github.com/rockstat/band-skeleton-py
    • Band-framework config param redis_params renamed to rpc_params
    • Custom timeout on handler registration. @expose.handler(timeout=18000) for 18 sec
    • Wildcard handlers registration. Use name='*' to receive all requests.
  • Front

    • Incoming uid format checking
    • Flag which turns on internal request representation for responses
    • Experimental implementation of websocket server with rpc-style purpose
    • Transport data in WebSocket messages
    • Handlers info RPC method handlers. Try it curl http://host:10000/call/front/handlers
  • CHWriter

    • Migrations support with custom user folder
    • New record to table map algo
  • WebSDK

    • Improved uid checking.
    • New SDK method request.
    • Promise-based calls to server.
    • Improve WS support.
    • Fixed internal session absence.
    • Better SPA support: clean internal counters (avtivity, etc..) on page event.
    • Activity tracking option zeroEvents enables sending all events event if no activity happen.
    • Implemented pixelSync. Use pixelSync to configure criteria. Possible values: false/object, details at corresponding page
  • Docs

    • Getting started splitted to guides
    • Handling active item element in nested cetegories
  • Other

    • Initial R support in Jupyter
    • Log dashboard statistic requests
  • Theia

    • Cmd+Shift+P -> Tasks: Run -> Genrate bans service
    • Initialize script support (bootstrap.sh)

19 oct 2018

  • WebSDK

    • Track all clicks mode. New event element_click. (not yet documented in struct doc and automatic events)
    • Updated snippet! Plz update your installation. snippet code
  • Band & co

    • Band Set services updated to latest Band API.
    • Director switched to new SimpleCH library.
    • Fixed Director services startup bug.
    • Band FW fixed rpc server incompatible version.
  • Other

    • Catch logs from SSL request service and display in dashboard logs page.
    • new Theia container with workspace search, preferences and hotkeys GUI, many other things and improvements.
    • new Jupyter(anaconda) container with py3.7 and latest ipython + ipykernell with async support.
    • Public directory for storing external usable files accessible in Theia.
    • Ability to manage CHWriter and Front custom configuration using Theia.
    • new SimpleCH library with sync and async API.

02 oct 2018

  • docs
    • В Архитектура / Жизненный цикл и адресация появилось описание принципов формирования ключей событий.
    • Появилась документация по WebSDK
    • Руководство по внедрению собственного формата событий
  • infrastructure
    • Поддержка произвольных окружений сборки. Для выбора окружения в Ansible передается параметр branch, который будет подставлен к образам.
    • Сборка основных образов в Travis-CI поддерживает dev окружение
    • Образ Anaconda/Jupyter, специальный для Rockstat. В комплект входят все необходимые зависимости
    • Отдельный базовый образ для сервисов на базе RockMe.ts
    • Сборка front и chwriter (на базе rockme-ts) переведена на использование базового образа
    • Сборка базовых образов Band.py и Rockme.ts триггерит пересборку зависимых образов
    • Изменилась локация пользовательских образов контейнеров (my_images в theia). Если ранее Вы создавали свои образы, то нужно перенести их самостоятельно при помощи последовательности действий: NL=/srv/platform/images/user && shopt -s dotglob && mkdir -p $NL && mv /srv/platform/data/images/* $NL. При ошибке mv: cannot stat '/srv/platform/data/images/*': No such file or directory, ничего делать не нужно, это нормально, значит переносить нечего.
    • В Theia пользователь получил фиксированные идентификаторы.UID=765 GID=765, В дальнейшем к этим идентификаторам будут приведены все кастомные конфигурационные файлы и кастомные образы, что позволит управлять конфигурацией системы из theia.
    • Доработан контейнер Anaconda: обновился набор дополнительных библиотек.
    • httpdebug service: управлять где ему запустить можно переменной httpdebug_bind вида 80:8080 или addr:80:8080. Для остановки указать -e http_debug_bind=absent
    • Store_debug service (доступен в director) для отладки данных передаваемых listner-ам
  • Front
    • Учет передаваемого со списком регистраций hash, на базе которого принимается решение перестраивать список регистраций или нет
    • Упразднен компонент http роутинга, переработан компонент http сервера. Работа теперь осуществляется на базе нескольких простых правил
  • WebSDK
    • Обновился список параметров Web-SDK на странице Getting Started.
    • WebSDK переведена на новую версию Babel и WebPack
    • WebSDK собирается и имплементируется в Front при запуске при помощи docker stage. Ранее просто скачивалось в CDN
  • Band
    • Исправлена работа обогатителей данных
    • Обновлен скелет сервиса под ранее обновленный API фреймворка
  • Director
    • Запоминание списка запущеных сервисов и восстановление их состояния при перезагрузке
    • Автостарт сервисов mmgeo, sxgeo, uaparser при первом запуске
    • Исправлена ошибка с недостатком портов, возникающая при запуске сервисов одним за другим
    • Director поддерживает шаблонизацию Dockerfile для подстановки базового образа соответствующего требуемому окружению
  • bootstrap
    • Возможность накатить демонстрационный сайт
    • Возможность отключить ключ удаленного обновления сервера и доступа поддержки
    • Появилась возможность переназначать источники базовых образов платформы, которые использует сборщик, на свои собственные через параметр _images_extra, создав собственный файл private.yml в /srv/platform/bootstrap/group_vars/ (по аналогии с _images в /srv/platform/bootstrap/group_vars/all.yml).
    • Стало возможным переназначать переменные окружения для старта новых контейнеров, которые запускаются при работе сборщика. Переменные окружения можно задать через параметр _containers_env_extra, создав собственный файл private.yml в /srv/platform/bootstrap/group_vars/ (по аналогии с _containers_env в /srv/platform/bootstrap/group_vars/all.yml).
    • Проверка корректности настройки домена при старте playbook
    • Поддержка и возможность выбора верификации SSL при помощи DNS challenge
    • Автопродление SSL сертифифкатов. Для этого запускается специальный сервим AcmeSH Daemon
    • Поддержка параметров конфигурации в инвертате (ранее доступно было только использование локальных переменных)

14 sep 2018

  • infrastructure
    • В Grafana изначально добавлен ClickHouse datasource, а также уже встроен демо-дашбород.
    • На 90% завершен переход на предварительно собранные образы сервисов. Собираются в открытом виде в travis-ci.
  • dashboard
    • Реструктуризация кода Dashboards для дальнейшей разработки интерфейсов управления контейнерами.
    • Ebaloger: новый сервис в составе платформы. Отбирает у докера логи контейнеров, принимает другую часть через сокет, стримит все логи на фронтенд в app. Заточен под обработку большого количества данных.
  • band Новый API band framework: декоратора @dome больше нет, теперь методы сервисов (контейнеров) помечаются таким образом:
    • @expose() - делает метод доступным другим сервисам, но метод не регистрируется в Front,
    • @expose.handler() - регистрирует метод обработчиком в Front,
    • @expose.enricher(keys=['in.gen.track'], props=dict(ip='td.ip')) - регистрация обогатителя в Front - пример обогатителя из сервиса mmgeo,
    • @export.listener() - регистрация слушателя в Front,
    • @worker() - регистрация воркером сервиса,
    • @cleanup() - регистрация чистильщиком севиса, который запускается при остановке сервиса.
  • bootstrap Добавлен новый способ получения SSL-сертификатов. Разработана новая роль для Ansible, которая использует альтернативный клиент acme.sh и умеет получать wildcard сертификаты (*.вашдомен), причем делает это не вмешиваясь в работу сервера, используя DNS-challenge.

06 sep 2018

  • band Изменен синтаксис logger. Никуда не деться, режим совместимости не работает корректно: logger.info('extract result %s', out) должно превратиться в logger.info('extract result', out=out)
  • Многие компоненты платформы переведены на пердварительную сборку образов.

27 aug 2018

  • band
    • Вместо переменной CH_DSN, указывающей на ClickHouse Proxy появилась переменная CHS_DSN, указывающая на ClickHouse Server, и CHP_DSN - ClickHouse Proxy.
    • Родительский образ для сервисов на Band Framework теперь rockstat/band-base-py (вместо rst/band-base-py).
    • Появился промежуточный образ Grafana, при помощи которого можно вносить изменения в ее сборку.

25 aug 2018

  • bootstrap main version switched to master.

15 aug 2018

  • bootstrap clickhouse column channel changed from enum to string. Only events, webhooks, activity tables updated automatically, others need to be updated. Look at clickhouse_migrations/002-...

... a lot of issues