Skip to content

Operational Tasks: Backup/Restore/Monitoring

Monitoring

For Botium Box releases later than 2.8.2, there is a Prometheus metrics endpoint available in Botium Box, which will show Node.JS internal metrics (CPU usage, Memory usage, …) and Botium Box metrics (availability of backend services, number and duration of requests, …). The endpoint is available at

http(s)://my-botium-box-server/metrics

It is enabled by setting the environment variables (see Botium Box Configuration):

  • BOTIUMBOX_METRICS_ENABLE_BOX

  • BOTIUMBOX_METRICS_ENABLE_NODEJS

We recommend to additionally monitor the HTTP(S) endpoint of Botium Box Server for overall availability.

Backup / Restore

  • All Botium Box settings are persisted in a Prisma database (mysql by default). You can use a tool like phpMyAdmin (see above - Accessing the database) or a command line tool like mysqldump to backup and restore the whole database.

  • Scheduling MySQL database backups can be done in different ways:

  • Scheduling data storage backups can also be done in different ways:

    • by using Cloud Volumes with enabled backup service (i.e. AWS Backup)

    • by setting up a scheduler using

      • Kubernetes Cronjobs

      • or a Docker container running a cronjob task in it

      • or a custom backup script written by your own

    • Use this repository to create a backup script / cronjob docker image to store folders / volumes in AWS S3 (or any S3 compatible storage, like Minio or Wasabi) for instance.

Logging

To enable detailed application logging, Botium Box uses the "debug" conventions (https://github.com/visionmedia/debug
In short: set the environment variable "DEBUG" to "botium*" to enable logging for all botium-related sections.