ウェブサイト検索

CentOS 7 での Ceph-dash を使用した Ceph クラスターの監視


このページでは

  1. ステップ 1 - Ceph-dash の依存関係をインストールする
  2. ステップ 2 - Ceph-dash をダウンロードする
  3. ステップ 3 - Ceph-dash 用に Apache 仮想ホストを構成する
  4. ステップ 4 - SSL と Apache Basic 認証を構成する
  5. ステップ 5 - HTTP および HTTPS ポートを Firewalld に追加する
  6. ステップ 6 - テスト
  7. 参照

Ceph-dash は、Ceph クラスターを監視するための Flask フレームワークに基づく WSGI アプリケーションです。 librados を使用して Ceph クラスタと通信します。 Ceph-dash には優れたダッシュボードがあり、インストールが簡単で、InfluxDB や Graphite のサポートなど、多くの機能を備えています。

このチュートリアルでは、Ceph-dash をインストールし、SSL と mod_auth をサポートする Apache Web サーバーで実行するように構成する方法を説明します。最初の Ceph チュートリアルでは、Ceph クラスターを既にインストールしています。このチュートリアルでは、そのセットアップのモニター ホスト mon1 で ceph-dash を構成します。

前提条件

  • Ceph クラスタ - Ceph I チュートリアル
  • CentOS 7 ノードの監視 - mon1
  • ルート権限

ステップ 1 - Ceph-dash 依存関係のインストール

この最初のステップでは、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

ステップ 2 - Ceph-dash のダウンロード

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/

ステップ 3 - Ceph-dash 用に Apache 仮想ホストを構成する

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

ServerName の値をドメイン名に変更します - 私の場合は 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>

ファイルを保存してエディターを終了します。

ステップ 4 - SSL と Apache Basic 認証を構成する

仮想ホスト構成では、/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 basic auth を追加して、Ceph-dash アクセスをパスワード保護します。

htpasswd -c /etc/httpd/htpasswd hakase
Type your password:

hakase は私が選んだユーザー名です。

すべてが完了したら、apachectl コマンドで apache 構成ファイルをテストし、結果が Syntax OK であることを確認してから、apache を再起動します。

apachectl configtest
sudo systemctl restart httpd

ステップ 5 - HTTP および HTTPS ポートを Firewalld に追加する

モニターノード 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

ステップ 6 - テスト

ウェブブラウザを開き、アドレスバーに ceph-mon.co ドメイン(ceph-dash インストール用に選択したドメイン名を使用)を入力して、Enter キーを押します。

ユーザー名とパスワードの入力を求められるので、htpasswd ファイルで使用したユーザー名とパスワードを入力します。

これで、Ceph-dash ダッシュボードが表示されます。

クラスターの正常性ステータス、監視ノードのステータス、OSD ノードのステータス。

ストレージと PG のステータス。

Ceph-dash は、モニター ノード mon1 の Apache Web サーバーの下にインストールされています。

参照

  • http://www.virtualtothecore.com/en/monitor-a-ceph-cluster-with-ceph-dash/

関連記事: