Ceph-dash là một ứng dụng WSGI dựa trên nền tảng Flask để giám sát các cụm Ceph. Nó sử dụng librados để giao tiếp với cụm Ceph. Ceph-dash có bảng điều khiển đẹp, dễ cài đặt và có nhiều tính năng, bao gồm hỗ trợ InfluxDB và Graphite.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Ceph-dash và cấu hình để chạy dưới máy chủ web apache có hỗ trợ SSL và mod_auth. Trong hướng dẫn Ceph đầu tiên, chúng ta đã cài đặt 'Ceph cluster', trong hướng dẫn này, chúng ta sẽ cấu hình ceph-dash trên máy chủ giám sát 'mon1' của thiết lập đó.
Điều kiện tiên quyết
Kết nối đến nút mon1 từ nút ceph-admin.
Cài đặt tất cả các dependency cần thiết bằng lệnh yum.
Sau đó khởi động apache/httpd và thêm nó để khởi động khi khởi động.
Theo mặc định, apache/httpd chạy dưới tên người dùng 'apache', vì vậy chúng ta cần thay đổi chủ sở hữu của các tệp và thư mục ceph-dash thành người dùng 'apache'.
Đi đến thư mục cấu hình máy chủ ảo và chỉnh sửa tệp cephdash.conf.
Thay đổi giá trị của 'ServerName' thành tên miền của bạn - trong trường hợp của tôi là ceph-mon.co
Thay đổi quy trình daemon thewsgi để chạy dưới dạng người dùng apache.
Thay đổi thư mục cephdash.wsgi thành '/var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi'.
Thay đổi thư mục cấu hình SSL thành '/etc/httpd/ssl/'.
Thay đổi thư mục ceph-dash thành '/var/www/html/ceph-dash', sau đó thêm cấu hình xác thực cơ bản.
Dưới đây là cấu hình.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy tạo tệp chứng chỉ SSL tự ký bằng lệnh OpenSSL.
Thay đổi quyền của tệp chứng chỉ thành 600.
Tiếp theo, thêm apache basic auth bằng lệnh htpasswd bên dưới để bảo vệ bằng mật khẩu quyền truy cập Ceph-dash.
hakase là tên người dùng mà tôi đã chọn.
Nếu tất cả đã hoàn tất, hãy kiểm tra tệp cấu hình apache bằng lệnh apachectl và đảm bảo kết quả là 'Cú pháp OK', sau đó khởi động lại apache.
Thêm cổng http và https vào firewalld bằng lệnh firewall-cmd.
Tải lại cấu hình firewalld.
Bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu, hãy nhập tên người dùng và mật khẩu mà bạn đã sử dụng trong htpasswd file.
Bây giờ bạn có thể thấy bảng điều khiển Ceph-dash.
Trạng thái sức khỏe cụm, Trạng thái nút giám sát, Trạng thái nút OSD.
Trạng thái lưu trữ và PG.
Ceph-dashđã được cài đặt dưới máy chủ webapache trên nút giám sát 'mon1'.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Ceph-dash và cấu hình để chạy dưới máy chủ web apache có hỗ trợ SSL và mod_auth. Trong hướng dẫn Ceph đầu tiên, chúng ta đã cài đặt 'Ceph cluster', trong hướng dẫn này, chúng ta sẽ cấu hình ceph-dash trên máy chủ giám sát 'mon1' của thiết lập đó.
Điều kiện tiên quyết
- Ceph Cluster - Hướng dẫn Ceph I
- Nút giám sát CentOS 7 - mon1
- Quyền root
Bước 1 - Cài đặt Ceph-dashDependencies
Trong bước đầu tiên này, chúng ta sẽ cài đặt các dependency cần thiết cho ceph-dash, bao gồm apache web server và mod_ssl.Kết nối đến nút mon1 từ nút ceph-admin.
Mã:
ssh mon1
Mã:
sudo yum -y install httpd mod_wsgi mod_ssl git
Mã:
sudo systemctl start httpd
sudo systemctl enable httpd
Bước 2 - Tải xuống Ceph-dash
Ceph-dash là một ứng dụng mã nguồn mở, có sẵn trên kho lưu trữ github. Sao chép kho lưu trữ vào thư mục /var/www/.
Mã:
cd /var/www/html/
git clone https://github.com/Crapworks/ceph-dash.git
Mã:
sudo chown -R /var/www/html/ceph-dash/
Bước 3 - Cấu hình Máy chủ ảo Apache cho Ceph-dash
Ceph-dash cung cấp một mẫu cấu hình máy chủ ảo cho apache và Nginx trong thư mục 'contrib'. Chúng ta sẽ sử dụng apache làm máy chủ web cho Ceph-dash, vì vậy chúng ta cần sao chép tệp cấu hình cho apache vào thư mục apache/httpd.
Mã:
cd /var/www/html/ceph-dash/
cp contrib/apache/cephdash /etc/httpd/conf.d/cephdash.conf
Mã:
cd /etc/httpd/conf.d/
vim cephdash.conf
Thay đổi quy trình daemon thewsgi để chạy dưới dạng người dùng apache.
Thay đổi thư mục cephdash.wsgi thành '/var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi'.
Thay đổi thư mục cấu hình SSL thành '/etc/httpd/ssl/'.
Thay đổi thư mục ceph-dash thành '/var/www/html/ceph-dash', sau đó thêm cấu hình xác thực cơ bản.
Dưới đây là cấu hình.
Mã:
ServerName ceph-mon.co
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/server-status
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]
Tên máy chủ 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
< Thư mục /var/www/html/ceph-dash>
WSGIProcessGroup cephdash
WSGIApplicationGroup %{GLOBAL}
Đặt hàng deny,allow
Allow from all
AuthType Basic
AuthName "Nội dung bị hạn chế"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Bước 4 - Cấu hình SSL và Apache Basic Auth
Trong cấu hình máy chủ ảo, chúng ta đã xác định cấu hình SSL trong thư mục '/etc/httpd/ssl', vì vậy chúng ta cần tạo chứng chỉ SSL và khóa tại đó.
Mã:
mkdir -p /etc/httpd/ssl/
Mã:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/httpd/ssl/ssl.key -out \
/etc/httpd/ssl/ssl.crt
Mã:
chmod 600 /etc/httpd/ssl/*
Mã:
htpasswd -c /etc/httpd/htpasswd hakase
Nhập mật khẩu của bạn:
Nếu tất cả đã hoàn tất, hãy kiểm tra tệp cấu hình apache bằng lệnh apachectl và đảm bảo kết quả là 'Cú pháp OK', sau đó khởi động lại apache.
Mã:
apachectl configtest
sudo systemctl restart httpd
Bước 5 - Thêm cổng HTTP và HTTPS vào Firewalld
Trên nút giám sát 'mon1', firewalld đã được bật. Chúng ta phải mở một cổng mới cho kết nối http và https để có thể truy cập Ceph-dash từ trình duyệt web.Thêm cổng http và https vào firewalld bằng lệnh firewall-cmd.
Mã:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
Mã:
sudo firewall-cmd --reload
Bước 6 - Kiểm tra
Mở trình duyệt web của bạn và nhập tên miền ceph-mon.co (sử dụng tên miền mà bạn đã chọn để cài đặt ceph-dash) vào thanh địa chỉ, nhấn enter.Bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu, hãy nhập tên người dùng và mật khẩu mà bạn đã sử dụng trong htpasswd file.
Bây giờ bạn có thể thấy bảng điều khiển Ceph-dash.
Trạng thái sức khỏe cụm, Trạng thái nút giám sát, Trạng thái nút OSD.
Trạng thái lưu trữ và PG.
Ceph-dashđã được cài đặt dưới máy chủ webapache trên nút giám sát 'mon1'.