Tutti i componenti di OpenStack (tranne Swift, al momento) nelle varie regione dovrebbero mandare i propri log su un sistema centralizzato, per aiutare il debug in caso di anomalie.
Al momento i log vengono inviati da rsyslog (il sistema di log attuale su cui si basa OpenStack) verso cloud03.roma2.infn.it cryptati tramite TLS.
I passi per poter inviare i dati al server centrale sono i seguenti :
- Và installato il pacchetto rsyslog-gnutls
- Nel file /etc/rsyslog.conf vanno aggiunte le righe (prima di "$IncludeConfig /etc/rsyslog.d/*.conf" e l'ordine ha importanza)
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /usr/lib/ssl/rsyslog/ca.pem $DefaultNetstreamDriverCertFile /usr/lib/ssl/rsyslog/cert.pem $DefaultNetstreamDriverKeyFile /usr/lib/ssl/rsyslog/key.pem
$ActionSendStreamDriverAuthMode x509/name $ActionSendStreamDriverMode 1 # run driver in TLS-only mode $ActionSendStreamDriverPermittedPeer cloud03.roma2.infn.it
La cartella /usr/lib/ssl/rsyslog deve essere dell'utente syslog, i permessi di key.pem devono essere 400, l'owner dei file ca.pem, cert.pem, key.pem deve essere syslog
chown syslog:adm /usr/lib/ssl/rsyslog
chmod 400 /usr/lib/ssl/rsyslog/key.pem
chown syslog:adm /usr/lib/ssl/rsyslog/ca.pem chown syslog:adm /usr/lib/ssl/rsyslog/cert.pem chown syslog:adm /usr/lib/ssl/rsyslog/key.pem
Al momento i file ca, cert e key vanno richiesti a federico.zani@roma2.infn.it specificando l'host name della macchina che deve inviare i log
- Và creato il file /etc/rsyslog.d/60-openstack.conf contenente la riga
local0.*;local1.*;local2.*;local3.*;local4.*;local5.*;local6.*;local7.* @@cloud03.roma2.infn.it:10514
- In ogni file di configurazione dei servizi OpenStack, aggiungere le seguenti due linee
set log_facility = LOG_LOCAL<facility_id> use_syslog=yes
Swift logga gia` di default sul syslog, percio` use_syslog=yes puo` essere tralasciato
Il facility id varia a seconda del servizio, e và impostato in base alla tabella in fondo alla pagina
- Riavviare il servizio rsyslog ed i servizi OpenStack che devono inviare i log centralizzati
I log possono essere esaminati all'indirizzo https://cloud03.roma2.infn.it/logs/ (autenticazione tramite certificato personale INFN)
TODO :
- Migliorare il sistema di analisi via web dei log (search, tail, ecc…)
- Basarsi su CA non self-signed (Terena ?)
- Usare un log server dedicato
- Backend dei log su swift ?
Facilities ID :
Nova : 0 Neutron : 1 Glance : 2 Cinder : 3 Swift : 4 Horizon : 5