Administración de OpenReplay
La CLI es útil para gestionar aspectos básicos de tu instancia de OpenReplay, cosas como reiniciar o reinstalar un servicio, acceder a los registros de un componente o simplemente comprobar el estado de tus servicios de backend.
Ejecuta la CLI con la opción -h:
openreplay -h
Y consulta la lista de todas las opciones disponibles:
___ ____ _
/ _ \ _ __ ___ _ __ | _ \ ___ _ __ | | __ _ _ _
| | | | '_ \ / _ \ '_ \| |_) / _ \ '_ \| |/ _` | | | |
| |_| | |_) | __/ | | | _ < __/ |_) | | (_| | |_| |
\___/| .__/ \___|_| |_|_| \_\___| .__/|_|\__,_|\__, |
|_| |_| |___/
[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
El backend de OpenReplay se basa en los siguientes componentes/servicios:
| Servicio | Descripción |
|---|---|
| http | Ingiere eventos y grabaciones de sesiones |
| sink | Lee datos del pipeline de streaming (Redis o Kafka para la edición enterprise) e inserta en un almacenamiento temporal (NFS) |
| storage | Mueve los archivos temporales de grabación de sesiones al servicio de almacenamiento de objetos |
| assets | Para almacenar en caché los recursos (CSS, fuentes e íconos) para renderizar correctamente las grabaciones |
| db | Lee y escribe en varias bases de datos (Postgres + ClickHouse para la edición enterprise) |
| ender | Finaliza las sesiones de usuario si están inactivas o desconectadas |
| chalice | API para servir el frontend |
| alerts | Envía notificaciones (correo electrónico, slack, en la aplicación, webhook) cuando se alcanza un umbral establecido por el usuario en cualquiera de las métricas de rendimiento |
| integrations | Envía y extrae datos de las API de terceros compatibles (Sentry, Elastic, GitHub, Jira, etc.) |
Comandos útiles
Section titled Comandos útiles- Comprobar el estado de salud de OpenReplay
openreplay -s
- Comprobar los registros de los servicios
openreplay -l <service name>
Aumentar la capacidad de un servicio
Section titled Aumentar la capacidad de un servicioEs posible aumentar la capacidad de cualquier servicio anulando los valores predeterminados de asignación de cpu/memoria. Estos últimos se determinan durante el proceso de configuración en función de la capacidad de tu instancia y deberían adaptarse a las necesidades de la mayoría de las instalaciones.
Si tienes un alto volumen y una máquina potente, simplemente ejecuta el archivo openreplay -e y anula los recursos del servicio. En el siguiente ejemplo lo hacemos para el worker http. Pero esto se puede hacer para cualquier servicio (es decir, sink, storage, postgresql, redis, etc.) descomentando y actualizando el bloque de abajo. Si tienes que hacerlo para más de un servicio, simplemente copia y renombra/actualiza el mismo bloque (cuidado con las duplicaciones).
http:
resources:
limits:
cpu: 4096m
memory: 8192Mi
requests:
cpu: 1024m
memory: 2056Mi
Finalmente, reinstala el servicio para que los nuevos límites surtan efecto (no perderás tus datos):
openreplay -R
Actualizar PostgreSQL
Section titled Actualizar PostgreSQLA continuación se presentan las instrucciones para actualizar PostgreSQL a la versión 1.16 o posterior:
-
Realiza el volcado de la base de datos en el volumen persistente:
Si estás usando una instalación estándar, ejecuta el siguiente comando para realizar un volcado de la base de datos:
Nota: Puedes esperar que los datos se compriman a una proporción de 3:1 (ejemplo: si tienes 15G de datos de postgres, serán 5G en el volcado). Así que asegúrate de tener suficiente espacio en disco.
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'PGPASSWORD=$POSTGRES_PASSWORD PGUSER=postgres pg_dumpall -v > /bitnami/postgresql/dumpall.sql' -
Elimina el directorio de datos existente:
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'rm -rf /bitnami/postgresql/data' -
Escala el StatefulSet de PostgreSQL a cero para detener los pods actuales:
kubectl scale sts postgresql --replicas=0 -n db -
Actualiza la imagen de PostgreSQL a la versión 16.3.0 o posterior:
kubectl set image statefulset/postgresql postgresql=bitnamilegacy/postgresql:16.3.0-debian-12-r9 -n db -
Escala el StatefulSet de nuevo a uno para iniciar el pod actualizado:
kubectl scale sts postgresql --replicas=1 -n db -
Asegúrate de que el pod esté en ejecución y de que la operación de escalado se haya completado:
kubectl get pod -n db -l app.kubernetes.io/name=postgresql -
Restaura la base de datos a partir del volcado:
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'PGPASSWORD=$POSTGRES_PASSWORD PGUSER=postgres psql -f /bitnami/postgresql/dumpall.sql' -
Una vez completada la actualización, puedes eliminar el archivo de volcado del pod de PostgreSQL:
kubectl -n db exec -it postgresql-0 -- /bin/bash -c 'rm /bitnami/postgresql/dumpall.sql'
Desinstalar OpenReplay
Section titled Desinstalar OpenReplayEjecuta los siguientes comandos para desinstalar OpenReplay:
sudo k3s-uninstall.sh
Toda la configuración almacenada en /var/lib/openreplay/.
sudo rm -rf /var/lib/openreplay