Администрирование OpenReplay
CLI полезен для управления базовыми аспектами вашего экземпляра OpenReplay, такими как перезапуск или переустановка сервиса, доступ к журналам компонента или просто проверка состояния ваших бэкенд-сервисов.
Запустите CLI с опцией -h:
openreplay -h
И посмотрите список всех доступных опций:
___ ____ _
/ _ \ _ __ ___ _ __ | _ \ ___ _ __ | | __ _ _ _
| | | | '_ \ / _ \ '_ \| |_) / _ \ '_ \| |/ _` | | | |
| |_| | |_) | __/ | | | _ < __/ |_) | | (_| | |_| |
\___/| .__/ \___|_| |_|_| \_\___| .__/|_|\__,_|\__, |
|_| |_| |___/
[INFO]
Usage: openreplay [ -h | --help ]
[ -s | --status ]
[ -i | --install DOMAIN_NAME ]
[ -u | --upgrade ]
[ -U | --deprecated-upgrade /path/to/old_vars.yaml]
[ -r | --restart ]
[ -R | --Reload ]
[ -c | --cleanup N (in days) ]
[ -e | --edit ]
[ -p | --install-packages ]
[ -l | --logs SERVICE ]
Services: alerts assets assist chalice
db ender frontend heuristics
http integrations nginx-controller
peers sink sourcemapreader storage
Бэкенд OpenReplay опирается на следующие компоненты/сервисы:
| Сервис | Описание |
|---|---|
| http | Принимает события и записи сессий |
| sink | Читает данные из потокового конвейера (Redis или Kafka для версии enterprise) и вставляет их во временное хранилище (NFS) |
| storage | Перемещает временные файлы записей сессий в сервис объектного хранилища |
| assets | Для кэширования ресурсов (CSS, шрифтов и иконок) для корректного отображения записей |
| db | Читает и записывает в различные базы данных (Postgres + ClickHouse для версии enterprise) |
| ender | Завершает пользовательские сессии, если они неактивны или отключены |
| chalice | API для обслуживания фронтенда |
| alerts | Отправляет уведомления (email, slack, в приложении, webhook), когда установленный пользователем порог достигнут по любой из метрик производительности |
| integrations | Отправляет и извлекает данные из поддерживаемых сторонних API (Sentry, Elastic, GitHub, Jira и т. д.) |
Полезные команды
Section titled Полезные команды- Проверить состояние работоспособности OpenReplay
openreplay -s
- Проверить журналы сервисов
openreplay -l <service name>
Увеличение мощности сервиса
Section titled Увеличение мощности сервисаМожно увеличить мощность любого сервиса, переопределив значения распределения cpu/памяти по умолчанию. Последние определяются в процессе настройки на основе мощности вашего экземпляра и должны удовлетворять потребностям большинства установок.
Если у вас большой объём и мощная машина, просто запустите файл openreplay -e и переопределите ресурсы сервиса. В приведённом ниже примере мы делаем это для воркера http. Но это можно сделать для любого сервиса (т. е. sink, storage, postgresql, redis и т. д.), раскомментировав и обновив блок ниже. Если вам нужно сделать это для более чем одного сервиса, просто скопируйте и переименуйте/обновите тот же блок (следите за дублированием).
http:
resources:
limits:
cpu: 4096m
memory: 8192Mi
requests:
cpu: 1024m
memory: 2056Mi
Наконец, переустановите сервис, чтобы новые лимиты вступили в силу (ваши данные не будут потеряны):
openreplay -R
Обновление PostgreSQL
Section titled Обновление PostgreSQLНиже приведены инструкции по обновлению PostgreSQL до версии 1.16 или более поздней:
-
Создайте дамп БД в постоянном томе:
Если вы используете стандартную установку, выполните следующую команду, чтобы создать дамп базы данных:
Примечание: Вы можете ожидать, что данные сожмутся в соотношении 3:1 (например: если у вас 15G данных postgres, в дампе будет 5G). Поэтому убедитесь, что у вас достаточно места на диске.
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'PGPASSWORD=$POSTGRES_PASSWORD PGUSER=postgres pg_dumpall -v > /bitnami/postgresql/dumpall.sql' -
Удалите существующий каталог данных:
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'rm -rf /bitnami/postgresql/data' -
Масштабируйте StatefulSet PostgreSQL до нуля, чтобы остановить текущие поды:
kubectl scale sts postgresql --replicas=0 -n db -
Обновите образ PostgreSQL до версии 16.3.0 или более поздней:
kubectl set image statefulset/postgresql postgresql=bitnamilegacy/postgresql:16.3.0-debian-12-r9 -n db -
Масштабируйте StatefulSet обратно до единицы, чтобы запустить обновлённый под:
kubectl scale sts postgresql --replicas=1 -n db -
Убедитесь, что под запущен и операция масштабирования завершена:
kubectl get pod -n db -l app.kubernetes.io/name=postgresql -
Восстановите базу данных из дампа:
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'PGPASSWORD=$POSTGRES_PASSWORD PGUSER=postgres psql -f /bitnami/postgresql/dumpall.sql' -
После завершения обновления вы можете удалить файл дампа из пода PostgreSQL:
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'rm /bitnami/postgresql/dumpall.sql'
Удаление OpenReplay
Section titled Удаление OpenReplayВыполните приведённые ниже команды, чтобы удалить OpenReplay:
sudo k3s-uninstall.sh
Вся конфигурация хранится в /var/lib/openreplay/.
sudo rm -rf /var/lib/openreplay