Giám sát cụm Ceph bằng Ceph-dash trên CentOS 7

theanh

Administrator
Nhân viên
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
  • 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
Cài đặt tất cả các dependency cần thiết bằng lệnh yum.
Mã:
sudo yum -y install httpd mod_wsgi mod_ssl git
Sau đó khởi động apache/httpd và thêm nó để khởi động khi khởi động.
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
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'.
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
Đi đến thư mục cấu hình máy chủ ảo và chỉnh sửa tệp cephdash.conf.
Mã:
cd /etc/httpd/conf.d/
vim 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.
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
Lưu tệp và thoát khỏi trình chỉnh sửa.


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/
Bây giờ hãy tạo tệp chứng chỉ SSL tự ký bằng lệnh OpenSSL.
Mã:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/httpd/ssl/ssl.key -out \
/etc/httpd/ssl/ssl.crt
Thay đổi quyền của tệp chứng chỉ thành 600.
Mã:
chmod 600 /etc/httpd/ssl/*
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.
Mã:
htpasswd -c /etc/httpd/htpasswd hakase
Nhập mật khẩu của bạn:
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.
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
Tải lại cấu hình firewalld.
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'.


Tham khảo​

 
Back
Bên trên