# EQN - EarthQuakeNetwork
Gestione progetti EarthQuakeNetwork, www.earthquakenetwork.it
Applicazione di rilevamento terremoti e segnalazione, Android based, sviluppata da Francesco Finazzi e gestita (per infrastruttura server) su cluster steamware in OVH
Di seguito indicato come EQN per brevità
## Struttura Logica
A livello logico c'è un applicazione android ed un sistema di server centrali ceh effettuano la vera elaborazione
## Servers
Ci sono 3 livelli di server:
`
---> LB01.eqn -- ---> FE01 --
Internet (RED) --|--> LB02.eqn --|--> GREEN --|--> FE02 --|--> DB
---> LB03.eqn -- ---> FE03 --
`
- LB: 3 x Load Balancers (distribuzione carico)
- FE: 3 x Front End (elaborazione codice PHP)
- DB: DB principale (ed unico)
in aggiunta
- RED: server REDIS per persistenza "di breve durata" (redis01)
### LB01/02/03
### FE01/02/03
Sono macchine Ubuntu 14.04 LTS (andranno aggiornate a 18.04 LTS, saltiamo la 16.04)
Per far funzionare Redis si è scelto un wrapper minimale che non ha dipendenze con le librerie installabili sulla 14.04:
- https://github.com/ziogas/PHP-Redis-implementation
- copiato in locale ed inserito script...
### Redis01
Installato server redis. poiché con ubuntu LST era vecchio (vers 3.0) abbiamo aggiornato a ultima release con ppa alternativi:
add-apt-repository ppa:chris-lea/redis-server
apt-get update
apt-get upgrade
### DB
## Comandi utili
Per ispezionare il server Redis a partire da LB01 (dove sono installati i `redis-tools`)
redis-cli -h redis01
## Link Utili
Verifica carico LB:
- http://lb01.earthquakenetwork.it/nginx_status
- http://lb02.earthquakenetwork.it/nginx_status
- http://lb03.earthquakenetwork.it/nginx_status
## Update Vari
### 2017.09.22
Analisi access log:
_ 22.09.2017 6:25:05
_ 22.09.2017 10:25:23
_ 1'646'359 righe in 4h circa
_ circa 115/sec per ogni LB (350 in 3 LB)
ELIMINATO CONF ACCESS LOG:
#### LB01/LB02/LB03
**nginx.conf**: eliminato logging (parte saliente)
...
##
# Logging Settings
##
# 2017-09-22 SAM: tolgo log access x performance
access_log off;
access_log /var/log/nginx/access.log upstreamlog;
error_log /var/log/nginx/error.log;
...
**sites-enabled/default**: eliminato logging (parte saliente)
...
location /srv {
#location /mysql {
if ($request_uri ~* "([^/]*$)" ) {
set $last_uri $1;
}
access_log off;
#return 301 http://srv.earthquakenetwork.it/$last_uri;
return http://srv.earthquakenetwork.it/$last_uri;
}
location /htiles {
#location /mysql {
if ($request_uri ~* "([^/]*$)" ) {
set $last_uri $1;
}
access_log off;
#return 301 http://srv.earthquakenetwork.it/$last_uri;
return http://htil.earthquakenetwork.it/$last_uri;
}
location /nginx_status {
stub_status on;
access_log off;
allow 79.7.213.2;
deny all;
}
...
####FE01/FE02/FE03
**nginx.conf**: eliminato logging (parte saliente)
...
##
# Logging Settings
##
# 2017-09-22 SAM: tolgo log access x performance
access_log off;
access_log /var/log/nginx/access.log upstreamlog;
error_log /var/log/nginx/error.log;
...
**sites-enabled/default**: eliminato logging (parte saliente)
...
location / {
access_log off;
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ =404;
}
...