Поиск по сайту:

Мониторинг кластера Ceph с помощью Ceph-dash в CentOS 7


На этой странице

  1. Шаг 1. Установка зависимостей Ceph-dash
  2. Шаг 2. Загрузите Ceph-dash
  3. Шаг 3. Настройка виртуального хоста Apache для Ceph-dash
  4. Шаг 4. Настройка SSL и базовой аутентификации Apache
  5. Шаг 5. Добавьте порты HTTP и HTTPS в Firewalld
  6. Шаг 6. Тестирование
  7. Справочник

Ceph-dash — это приложение WSGI, основанное на платформе Flask для мониторинга кластеров Ceph. Он использует librados для связи с кластером Ceph. Ceph-dash имеет приятную панель инструментов, его легко установить, он имеет множество функций, включая поддержку InfluxDB и Graphite.

В этом руководстве я покажу вам, как установить Ceph-dash и настроить его для работы под веб-сервером apache с поддержкой SSL и mod_auth. В первом руководстве по Ceph мы уже установили кластер Ceph, в этом руководстве мы настроим ceph-dash на хосте монитора mon1 этой установки.

Предпосылки

  • Кластер Ceph — учебное пособие по Ceph I
  • Узел мониторинга CentOS 7 – mon1
  • Привилегии root

Шаг 1. Установка зависимостей Ceph-dash

На этом первом шаге мы установим зависимости, необходимые для ceph-dash, включая веб-сервер apache и mod_ssl.

Подключитесь к узлу mon1 из узла ceph-admin.

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 — Настройка виртуального хоста Apache для Ceph-dash

Ceph-dash предоставляет пример конфигурации виртуального хоста для apache и Nginx в каталоге contrib. Мы будем использовать apache в качестве веб-сервера для Ceph-dash, поэтому нам нужно скопировать файл конфигурации для 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.

В конфигурации виртуального хоста мы уже определили конфигурацию SSL в каталоге /etc/httpd/ssl, поэтому нам нужно создать сертификат SSL и ключ там.

mkdir -p /etc/httpd/ssl/

Теперь сгенерируйте файл самоподписанного сертификата SSL с помощью команды OpenSSL.

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/*

Затем добавьте базовую аутентификацию apache с помощью приведенной ниже команды htpasswd, чтобы защитить паролем доступ Ceph-dash.

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

hakase — это имя пользователя, которое я выбрал.

Если все сделано, протестируйте файл конфигурации apache с помощью команды apachectl и убедитесь, что синтаксис в порядке, а затем перезапустите apache.

apachectl configtest
sudo systemctl restart httpd

Шаг 5 — Добавьте порт HTTP и HTTPS в Firewalld

На узле монитора mon1 включен firewalld. Нам нужно открыть новый порт для соединения http и https, чтобы мы могли получить доступ к Ceph-dash из веб-браузера.

Добавьте порт http и https в firewalld с помощью команды firewall-cmd.

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) в адресной строке, нажмите клавишу ввода.

Вам будет предложено ввести имя пользователя и пароль, введите свое имя пользователя и пароль, которые вы использовали в файле htpasswd.

Теперь вы можете увидеть приборную панель Ceph-dash.

Состояние работоспособности кластера, состояние узла монитора, состояние узлов OSD.

Хранение и статус PG.

Ceph-dash был установлен под веб-сервером apache на узле монитора mon1.

Ссылка

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