Gbif Spain Production environment - AtlasOfLivingAustralia/documentation GitHub Wiki
GBIF.ES Production infrastructure
This document tries to document the IT infrastructure of the Spanish Atlas accessible at datos.gbif.es.
Our main infrastructure is hosted in the CSIC-IFCA datacenter.
You can get some similar inventories from https://generator.l-a.site/5332d9ba-97d5-4940-b262-c29c1703968d (press Hamburger top menu > Make a copy > Edit the copy to your needs).
Components
URL | Component |
---|---|
datos.gbif.es | main page |
colecciones.gbif.es | collectory |
registros.gbif.es | biocache-hub |
registros-ws.gbif.es | biocache-service |
biocaches-store-0.gbif.es | biocache-cli, cassandra, jenkins |
biocaches-store-1.gbif.es | cassandra |
index.gbif.es | solr |
espacial.gbif.es | spatial, geoserver, layer-service |
regiones.gbif.es | regions |
listas.gbif.es | species lists |
especies.gbif.es | species |
especies-ws.gbif.es | species service |
logger.gbif.es | logger |
imagenes.gbif.es | images |
auth.gbif.es | Auth CAS service |
demo.gbif.es | demo site |
Instances and components diagram
Branding
Our custom branding is in this github repo.
Backup system
We do the backups using backuppc
software. It's not secure to backup database directories where the databases are running. To avoid this, be use ninjabackup
to backup our mysql
and postgres
databases periodically. Later backupppc
backup the dumps stored by ninjabackup in /var/backups
.
Some storage stats:
Monitoring
All our services are monitorized using icinga externally.
We also use mmonit internally to monitor that the basic services (ssh
, apache2
, tomcat
, mysql
, etc) are running correctly and restart then if not.
We use ELK (Elasticsearch, Logstash/Filebeat & Kibana) for logs agregation, indexing, and analytics. We don't store the logs for more than a week. This is very useful for us to do bugs and error hunting.
We also use netdata
to analyze metrics of resources usage and other data (CPU, RAM, disks, network, monit status, etc). Useful for tunning resources, diagnostic, etc.
We collect js errors in browser clients using sentry. This can be useful also for collect java exceptions & errors but ALA software should be patched for that.
Our servers are updated automatically via the debian package unattended-upgrades
.
All this software is managed via ansible using an internal ansible extras repo (TODO: make this repo more generic and share it with other portals).
Demo & test site
We also maintain a demo test site in https://demo.gbif.es.