Ceph-dash adalah aplikasi WSGI berbasis framework Flask untuk monitoring cluster Ceph. Ini menggunakan librado untuk berkomunikasi dengan cluster Ceph. Ceph-dash memiliki dasbor yang bagus, mudah dipasang, memiliki banyak fitur, termasuk dukungan InfluxDB dan Graphite.
Dalam tutorial ini, saya akan menunjukkan kepada Anda untuk menginstal Ceph-dash dan mengkonfigurasinya untuk berjalan di bawah server web apache dengan dukungan SSL dan mod_auth. Pada tutorial Ceph pertama kita sudah menginstall 'Ceph cluster', pada tutorial ini kita akan mengkonfigurasi ceph-dash pada monitor host 'mon1 ' dari pengaturan itu.
Prasyarat
- Cluster Ceph - Tutorial Ceph I
- Pantau simpul CentOS 7 - mon1
- Hak istimewa root
Langkah 1 - Memasang Ketergantungan Ceph-dash
Pada langkah pertama ini, kita akan menginstall dependensi yang dibutuhkan oleh ceph-dash, termasuk web server apache dan mod_ssl.
Hubungkan ke simpul mon1 dari simpul ceph-admin.
ssh mon1
Instal semua dependensi yang diperlukan dengan perintah yum.
sudo yum -y install httpd mod_wsgi mod_ssl git
Kemudian mulai Apache/httpd dan tambahkan untuk memulai saat boot.
sudo systemctl start httpd
sudo systemctl aktifkan httpd
Langkah 2 - Unduh Ceph-dash
Ceph-dash adalah aplikasi open source, tersedia dari repositori github. Kloning repositori ke direktori /var/www/.
cd /var/www/html/
git clone https://github.com/Crapworks/ceph-dash.git
Secara default, apache/httpd berjalan dengan nama pengguna 'apache', jadi kita perlu mengubah pemilik file dan direktori ceph-dash menjadi pengguna 'apache'.
sudo chown -R /var/www/html/ceph-dash/
Langkah 3 - Konfigurasikan Apache Virtual Host untuk Ceph-dash
Ceph-dash menyediakan contoh konfigurasi host virtual untuk Apache dan Nginx di direktori 'contrib'. Kita akan menggunakan apache sebagai web server untuk Ceph-dash, jadi kita perlu menyalin file konfigurasi untuk apache ke direktori apache/httpd.
cd /var/www/html/ceph-dash/
cp contrib/apache/cephdash /etc/httpd/conf.d/cephdash.conf
Buka direktori konfigurasi host virtual dan edit file cephdash.conf.
cd /etc/httpd/conf.d/
vim cephdash.conf
Ubah nilai 'ServerName ' ke nama domain Anda - dalam kasus saya ceph-mon.co
Ubah proses daemon wsgi untuk dijalankan sebagai apache pengguna.
Ubah direktori cephdash.wsgi menjadi '/var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi' .
Ubah direktori konfigurasi SSL menjadi '/etc/httpd/ssl/ '.
Ubah direktori ceph-dash menjadi '/var/www/html/ceph-dash ', lalu tambahkan auth dasar konfigurasi.
Berikut konfigurasinya.
ServerName ceph-mon.co
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/server-status
RewriteRule ^ /?(.*) https://%{HTTP_HOST}/$1 [R,L]
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 Aktif
SSLEngine aktif
SSLCertificateFile /etc/httpd/ssl/ssl.crt
SSLCertificateKeyFile /etc/httpd/ssl/ssl.key
WSGIProcessGroup cephdash
WSGIApplicationGroup %{GLOBAL}
Pesanan ditolak, izinkan
Izinkan dari semua
AuthType Basic
AuthName "Konten Terbatas"
AuthUserFile /etc/apache2/.htpasswd
Memerlukan pengguna yang valid
Simpan file dan keluar dari editor.
Langkah 4 - Konfigurasi SSL dan Apache Basic Auth
Dalam konfigurasi virtual host, kita telah mendefinisikan konfigurasi SSL di direktori '/etc/httpd/ssl', jadi kita perlu membuat sertifikat dan kunci SSL di sana.
mkdir -p /etc/httpd/ssl/
Sekarang buat file sertifikat SSL yang ditandatangani sendiri dengan perintah OpenSSL.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/httpd/ssl/ssl.key -out \
/etc/httpd/ssl/ssl. crt
Ubah izin file sertifikat menjadi 600.
chmod 600 /etc/httpd/ssl/*
Selanjutnya, tambahkan apache basic auth dengan perintah htpasswd di bawah ini untuk melindungi akses Ceph-dash dengan kata sandi.
htpasswd -c /etc/httpd/htpasswd hakase
Ketikkan kata sandi Anda:
hakase adalah nama pengguna yang saya#pilih.
Jika semua sudah selesai, uji file konfigurasi apache dengan perintah apachectl dan pastikan hasilnya 'Syntax OK ', lalu restart Apache.
apachectl configtest
sudo systemctl restart httpd
Langkah 5 - Tambahkan Port HTTP dan HTTPS ke Firewalld
Pada simpul monitor 'mon1 ', firewalld diaktifkan. Kita harus membuka port baru untuk koneksi http dan https agar dapat mengakses Ceph-dash dari browser web.
Tambahkan port http dan https ke firewalld dengan perintah firewall-cmd.
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanentMuat ulang konfigurasi firewalld.
sudo firewall-cmd --reload
Langkah 6 - Pengujian
Buka browser web Anda dan ketik domain ceph-mon.co (gunakan nama domain yang telah Anda pilih untuk instalasi ceph-dash Anda) di bilah alamat, tekan enter.
Anda akan dimintai username dan password, ketik username dan password yang Anda gunakan pada file htpasswd.
Sekarang Anda dapat melihat dasbor Ceph-dash.
Status kesehatan cluster, Monitor status node, status node OSD.
Penyimpanan dan status PG.
Ceph-dasbor telah dipasang di bawah apache server web pada node monitor 'mon1 '.
Cent OS