Ceph-dashは、Cephクラスターを監視するためのFlaskフレームワークに基づくWSGIアプリケーションです。 libradosを使用してCephクラスターと通信します。 Ceph-dashには優れたダッシュボードがあり、インストールが簡単で、InfluxDBやGraphiteのサポートなどの多くの機能があります。
このチュートリアルでは、Ceph-dashをインストールし、SSLおよびmod_authをサポートするApacheWebサーバーで実行するように構成する方法を説明します。最初のCephチュートリアルでは、すでに「Cephクラスター」をインストールしています。このチュートリアルでは、モニターホスト「 mon1」でceph-dashを構成します。 その設定の'。
前提条件
- CephCluster-CephIチュートリアル
- モニターノードCentOS7-mon1
- root権限
この最初のステップでは、apache Webサーバーやmod_sslなど、ceph-dashに必要な依存関係をインストールします。
ceph-adminノードからmon1ノードに接続します。
ssh mon1
yumコマンドで必要なすべての依存関係をインストールします。
sudo yum -y install httpd mod_wsgi mod_ssl git
次に、apache / httpdを起動し、起動時に開始するように追加します。
sudo systemctl start httpd
sudo systemctl enable httpd
Ceph-dashはオープンソースアプリケーションであり、githubリポジトリから入手できます。リポジトリを/var/www/ディレクトリに複製します。
cd /var/www/html/
git clone https://github.com/Crapworks/ceph-dash.git
デフォルトでは、apache / httpdはユーザー名「apache」で実行されているため、ceph-dashファイルとディレクトリの所有者を「apache」ユーザーに変更する必要があります。
sudo chown -R /var/www/html/ceph-dash/
Ceph-dashは、「contrib」ディレクトリにあるapacheとNginxの仮想ホスト構成のサンプルを提供します。 Ceph-dashのWebサーバーとしてapacheを使用するため、apacheの構成ファイルをapache/httpdディレクトリにコピーする必要があります。
cd /var/www/html/ceph-dash/
cp contrib/apache/cephdash /etc/httpd/conf.d/cephdash.conf
仮想ホスト構成ディレクトリに移動し、cephdash.confファイルを編集します。
cd /etc/httpd/conf.d/
vim cephdash.conf
'サーバー名の値を変更します 'ドメイン名に-私の場合はceph-mon.co
wsgiデーモンプロセスをapacheとして実行するように変更します ユーザー。
cephdash.wsgiディレクトリを「/var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi」に変更します 。
SSL構成ディレクトリを'/ etc / httpd / ssl /に変更します '。
ceph-dashディレクトリを'/ var / www / html / ceph-dashに変更します '次に、基本認証を追加します 構成。
以下は構成です。
<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>
ファイルを保存してエディタを終了します。
仮想ホスト構成では、'/ etc / httpd / ssl'ディレクトリでSSL構成をすでに定義しているため、そこにSSL証明書とキーを作成する必要があります。
mkdir -p /etc/httpd/ssl/
次に、OpenSSLコマンドを使用して自己署名SSL証明書ファイルを生成します。
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/httpd/ssl/ssl.key -out \
/etc/httpd/ssl/ssl.crt
証明書ファイルのアクセス許可を600に変更します。
chmod 600 /etc/httpd/ssl/*
次に、以下のhtpasswdコマンドを使用してapache基本認証を追加し、Ceph-dashアクセスをパスワードで保護します。
htpasswd -c /etc/httpd/htpasswd hakase
Type your password:
はかせ は私が選択したユーザー名です。
すべて完了したら、apachectlコマンドを使用してapache構成ファイルをテストし、結果が「 SyntaxOK」であることを確認します。 '、次にapacheを再起動します。
apachectl configtest
sudo systemctl restart httpd
モニターノード'mon1 '、firewalldが有効になっています。ウェブブラウザからCeph-dashにアクセスできるように、httpおよびhttps接続用に新しいポートを開く必要があります。
Firewall-cmdコマンドを使用してhttpおよびhttpsポートをfirewalldに追加します。
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
Firewalld構成をリロードします。
sudo firewall-cmd --reload
Webブラウザーを開き、アドレスバーにceph-mon.coドメイン(ceph-dashのインストール用に選択したドメイン名を使用)を入力し、Enterキーを押します。
ユーザー名とパスワードの入力を求められます。htpasswdファイルで使用したユーザー名とパスワードを入力してください。
これで、Ceph-dashダッシュボードが表示されます。
クラスタヘルスステータス、監視ノードステータス、OSDノードステータス。
ストレージとPGのステータス。
Ceph-dash apacheの下にインストールされています モニターノード上のWebサーバー'mon1 '。