Справка

Движок отчётов (ClickHouse)

Безоблачный Pyrus

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

Подробнее о назначении и преимуществах пользовательских отчетов

Движок отчётов работает на базе ClickHouse — он входит в поставку Pyrus как отдельный контейнер. Чтобы включить движок, достаточно одной командой указать Pyrus параметры подключения к ClickHouse.

docker compose run --rm pyrus-setup enable-report-engine \
  --clickhouseMode SingleNode \
  --clickhouseUser default \
  --clickhousePassword 'ПАРОЛЬ'

Команду можно запускать повторно — она безопасна и обновляет только те параметры, которые вы передали.

После включения движок начинает переносить в аналитическую базу новые события. А чтобы отчёты учитывали уже накопленную историю, дополнительно выполните разовый запуск индексации:

docker compose run --rm pyrus-setup --notes-to-analytic

Если нужно отключить движок отчётов — данные и настройки подключения сохранятся после отключения:

docker compose run --rm pyrus-setup disable-report-engine

Смена пароля ClickHouse

Порядок одинаков для одиночного сервера и для кластера:

  1. Смените пароль пользователя в ClickHouse — это стандартная операция, подробности в документации: ALTER USER.

  2. Передайте новый пароль Pyrus — используйте ту же команду enable-report-engine. Остальные параметры можно не указывать, они сохранятся:

    docker compose run --rm pyrus-setup enable-report-engine \
      --clickhouseMode ВАШ_РЕЖИМ \
      --clickhouseUser ПОЛЬЗОВАТЕЛЬ \
      --clickhousePassword 'НОВЫЙ_ПАРОЛЬ'
    
  3. Перезапустите сервисы, которые работают с аналитической базой:

    docker compose restart pyrus-web-api pyrus-async-worker
    

Развертывание в Kubernetes (K8s)

После включения движка отчётов может потребоваться перезапуск подов web-api и schedule-to-today.

Встроенный ClickHouse

Установите clickhouse-operator:

helm repo add pyrus-datacenter-k8s https://simplygoodsoftware.github.io/pyrus-datacenter-k8s
helm repo update

helm upgrade --install clickhouse-operator \
  pyrus-datacenter-k8s/clickhouse-operator \
  --namespace clickhouse-operator \
  --create-namespace \
  --wait

В файле values чарта добавьте следующие значения:

Подробнее

reportEngine:
  enabled: true

clickhouse:
  internal: true

  keeper:
    enabled: true

  clickhouse:
    enabled: true

Внешний ClickHouse

В файл values чарта укажите значения:

reportEngine:
  enabled: true

clickhouse:
  internal: false

  clusterName: <cluster name>

  externalUser: <username>
  externalUserPassword: <user password>
  externalHost: <clickhouse host>
  externalPort: <clickhouse port>

Миграция исторических данных

  • Создайте манифест с ПОДСТАНОВКОЙ параметров:
apiVersion: v1
kind: Pod
metadata:
  name: clickhouse-data-migrator
  namespace: pyrus
spec:
  restartPolicy: Never
  containers:
    - name: migrator
      envFrom:
        - configMapRef:
            name: common-variables
      image: simplygoodsoftware/pyrus-setup:<ваша-версия-ДЦ>
      imagePullPolicy: IfNotPresent
      args:
        - --notes-to-analytic
        - -pc
        - "2"
  • Примените манифест:
kubectl apply -f clickhouse-data-migrator.yaml

Была ли эта статья полезной?