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