Ceph-dash è un'applicazione WSGI basata sul framework Flask per il monitoraggio dei cluster Ceph. Utilizza librados per comunicare con il cluster Ceph. Ceph-dash ha una bella dashboard, è facile da installare ha molte funzionalità, tra cui InfluxDB e supporto Graphite.
In questo tutorial, ti mostrerò come installare Ceph-dash e configurarlo per l'esecuzione su un server Web Apache con supporto SSL e mod_auth. Nel primo tutorial Ceph, abbiamo già installato un 'cluster Ceph', in questo tutorial configureremo ceph-dash sull'host monitor 'mon1 ' di quella configurazione.
Prerequisiti
- Cep Cluster - Esercitazione Ceph I
- Monitoraggio nodo CentOS 7 - mon1
- Privilegi di root
Passaggio 1:installazione delle dipendenze di Ceph-dash
In questo primo passaggio, installeremo le dipendenze necessarie a ceph-dash, incluso il server web apache e mod_ssl.
Connettiti al nodo mon1 dal nodo ceph-admin.
ssh mon1
Installa tutte le dipendenze necessarie con il comando yum.
sudo yum -y install httpd mod_wsgi mod_ssl git
Quindi avvia apache/httpd e aggiungilo per essere avviato all'avvio.
sudo systemctl start httpd
sudo systemctl enable httpd
Passaggio 2:scarica Ceph-dash
Ceph-dash è un'applicazione open source, disponibile dal repository github. Clona il repository nella directory /var/www/.
cd /var/www/html/
git clone https://github.com/Crapworks/ceph-dash.git
Per impostazione predefinita, apache/httpd viene eseguito con il nome utente 'apache', quindi è necessario modificare il proprietario dei file e delle directory ceph-dash nell'utente 'apache'.
sudo chown -R /var/www/html/ceph-dash/
Passaggio 3:configurazione di un host virtuale Apache per Ceph-dash
Ceph-dash fornisce un esempio di una configurazione di host virtuale per apache e Nginx nella directory 'contrib'. Useremo Apache come server web per Ceph-dash, quindi dobbiamo copiare il file di configurazione per Apache nella directory apache/httpd.
cd /var/www/html/ceph-dash/
cp contrib/apache/cephdash /etc/httpd/conf.d/cephdash.conf
Vai alla directory di configurazione dell'host virtuale e modifica il file cephdash.conf.
cd /etc/httpd/conf.d/
vim cephdash.conf
Modifica il valore di 'Nomeserver ' al tuo nome di dominio, nel mio caso ceph-mon.co
Modifica il processo del demone wsgi in modo che venga eseguito come apache utente.
Cambia la directory cephdash.wsgi in '/var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi' .
Modifica la directory di configurazione SSL in '/etc/httpd/ssl/ '.
Cambia la directory ceph-dash in '/var/www/html/ceph-dash ', quindi aggiungi l'autenticazione di base configurazione.
Di seguito la configurazione.
<VirtualHost *:80>
ServerName ceph-mon.co
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/server-status
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName ceph-mon.co
WSGIDaemonProcess cephdash user=apache group=apache processes=1 threads=5
WSGIScriptAlias / /var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi
WSGIPassAuthorization On
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/ssl.crt
SSLCertificateKeyFile /etc/httpd/ssl/ssl.key
<Directory /var/www/html/ceph-dash>
WSGIProcessGroup cephdash
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
</VirtualHost>
Salva il file ed esci dall'editor.
Passaggio 4 - Configura SSL e Apache Basic Auth
Nella configurazione dell'host virtuale, abbiamo già definito la configurazione SSL nella directory '/etc/httpd/ssl', quindi dobbiamo creare il certificato SSL e la chiave lì.
mkdir -p /etc/httpd/ssl/
Ora genera un file di certificato SSL autofirmato con il comando OpenSSL.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/httpd/ssl/ssl.key -out \
/etc/httpd/ssl/ssl.crt
Modifica le autorizzazioni del file del certificato su 600.
chmod 600 /etc/httpd/ssl/*
Quindi, aggiungi apache basic auth con il comando htpasswd di seguito per proteggere con password l'accesso a Ceph-dash.
htpasswd -c /etc/httpd/htpasswd hakase
Type your password:
hakase è il nome utente che ho scelto.
Al termine, verifica il file di configurazione di apache con il comando apachectl e assicurati che il risultato sia "Sintassi OK ', quindi riavvia Apache.
apachectl configtest
sudo systemctl restart httpd
Passaggio 5:aggiungi le porte HTTP e HTTPS a Firewalld
Sul nodo di monitoraggio 'mon1 ', firewalld è abilitato. Dobbiamo aprire una nuova porta per la connessione http e https in modo da poter accedere a Ceph-dash da un browser web.
Aggiungi la porta http e https a firewalld con il comando firewall-cmd.
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
Ricarica la configurazione del firewalld.
sudo firewall-cmd --reload
Fase 6 - Test
Apri il tuo browser web e digita il dominio ceph-mon.co (usa il nome di dominio che hai scelto per l'installazione di ceph-dash) nella barra degli indirizzi, premi invio.
Ti verranno richiesti nome utente e password, digita il nome utente e la password che hai utilizzato nel file htpasswd.
Ora puoi vedere la dashboard di Ceph-dash.
Stato di integrità del cluster, monitoraggio dello stato del nodo, stato dei nodi OSD.
Archiviazione e stato PG.
Trattino Ceph è stato installato sotto un apache server web sul nodo monitor 'mon1 '.