Administration, monitoring & backups

How to maintain Toucan

Upgrade the Toucan app

Toucan Toco release every week a new version of the Toucan Toco backend and frontend. The packages are automatically available on get-package.toucantoco.com when they are ready.

To upgrade Toucan Toco’s backend, simply re-run the Ansible playbooks. Ansible will handle any new configurations by itself and only execute what is needed.

The usual workflow to update the Toucan Toco backend is as following:

  • Download the latest version of the backend
  • Re-use your installation configuration file (cf: laputa/shipping/group_vars/production)
  • Review the installation documentation carefully, this will ensure you do not miss new configuration parameters
  • Relaunch the installation command make fulldeploy stage=production
  • That’s all

Please note, there will be a tiny downtime during the restart of the Toucan Toco backend.

To upgrade the Toucan Toco frontend, you only need to change the docroot content with the latest version of the frontend.

In the Half On-Premise mode (ie: all the backend is installed on your infrastructure, internally to your information system by your operations team and the frontend is hosted on the Toucan Toco cloud managed by Toucan Toco), the Toucan Toco application is updated at a given frequency negociated between you and the Toucan Toco team, please contact onpremise-support@toucantoco.com to upgrade.

About Toucan Toco versions

Please note each brick of the Toucan Toco stack (backend and frontend) has its own version.

To be compatible, the main version should be the same, for example:

  • Backend in v26.0.2 and Frontend in v26.0.7 are compatible, as they are both v26
  • Backend in v25.2.10 and Frontend in v25.1.5 are compatible, as they are both v25
  • Backend in v25.2.11 and Frontend in v26.0.7 are not compatible, as one is v25 and the other is v26

Monitoring

When you are in an On-Premise mode, we recommend you to monitor the following parts:

System

Be sure the system is ok by monitoring:

  • free disk space on all partitions
  • load average of the server
  • disk IO
  • CPU,memory and SWAP usage
  • RAID state
  • hardware health

Of course, thresholds directly depend of your own monitoring policy.

Services

Nginx

You should monitor:

  • nginx process is up and running
  • port 80 and 443 are available and opened

(of course if you choosed another web service, the monitoring approach - like Apache or Lighttpd - is still the same)

Supervisor

You should monitor:

  • supervisor process is up and running
  • The Toucan Toco app launched and managed by supervisor is in a running state (cf: supervisorctl status api-toucan)
  • check the number of launched processes is consistent with the supervisor configuration

Mongo

You should monitor that:

  • the mongo process is up and running
  • the mongo port (usually 27017) is available and opened from the node where the Toucan Toco app is installed
  • a basic user auth could be completed

Redis

You should monitor that:

  • the redis process is up and running
  • the redis port (usually 6379) is available and opened from the node where the Toucan Toco app is installed

Toucan Toco App

You should monitor:

  • https://toucantocoapp.yourdomain.com/ returns a 200 HTTP status
  • https://toucantocoapp.yourdomain.com/status returns a 200 HTTP status

Logs

All logs should be monitored (via ELK stack, Logentries,…) to prevent segfault, OOM killer, unexpected behaviors.

How To Monitor

All we described above, could be monitored by usual Nagios, Zabbix, Shinken, Munin, Collectd plugins.

Backup and restore

You need to backup and export:

  • the content of the mongo database
  • the $setup_dir/shared/storage folder

Choose storage place and retention duration according to your own backup policy.

If one day you need to restore from scratch the Toucan Toco app, you will only need to reinstall the last Toucan Toco package and restore the Mongo databases.