GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Überwachung eines Ceph-Clusters mit Ceph-Dash auf CentOS 7

Ceph-Dash ist eine WSGI-Anwendung, die auf dem Flask-Framework zur Überwachung von Ceph-Clustern basiert. Es verwendet Librados, um mit dem Ceph-Cluster zu kommunizieren. Ceph-Dash hat ein nettes Dashboard, es ist einfach zu installieren und hat viele Funktionen, einschließlich InfluxDB- und Graphite-Unterstützung.

In diesem Tutorial zeige ich Ihnen, wie Sie Ceph-dash installieren und so konfigurieren, dass es unter einem Apache-Webserver mit SSL- und mod_auth-Unterstützung ausgeführt wird. Im ersten Ceph-Tutorial haben wir bereits einen 'Ceph-Cluster' installiert, in diesem Tutorial konfigurieren wir ceph-dash auf dem Monitor-Host 'mon1 ' dieses Setups.

Voraussetzungen

  • Ceph Cluster – Ceph I-Anleitung
  • Überwachungsknoten CentOS 7 - mon1
  • Root-Rechte

Schritt 1 – Ceph-dash-Abhängigkeiten installieren

In diesem ersten Schritt installieren wir die von ceph-dash benötigten Abhängigkeiten, einschließlich Apache-Webserver und mod_ssl.

Stellen Sie vom ceph-admin-Knoten aus eine Verbindung zum mon1-Knoten her.

ssh mon1

Installieren Sie alle benötigten Abhängigkeiten mit dem Befehl yum.

sudo yum -y install httpd mod_wsgi mod_ssl git

Starten Sie dann Apache/httpd und fügen Sie es hinzu, damit es beim Booten gestartet wird.

sudo systemctl start httpd
sudo systemctl enable httpd

Schritt 2 – Laden Sie Ceph-dash herunter

Ceph-Dash ist eine Open-Source-Anwendung, die im Github-Repository verfügbar ist. Klonen Sie das Repository in das Verzeichnis /var/www/.

cd /var/www/html/
git clone https://github.com/Crapworks/ceph-dash.git

Standardmäßig läuft Apache/httpd unter dem Benutzernamen „Apache“, also müssen wir den Eigentümer von ceph-dash-Dateien und -Verzeichnissen auf den Benutzer „Apache“ ändern.

sudo chown -R /var/www/html/ceph-dash/

Schritt 3 – Konfigurieren Sie einen virtuellen Apache-Host für Ceph-dash

Ceph-Dash bietet ein Beispiel einer virtuellen Hostkonfiguration für Apache und Nginx im Verzeichnis „contrib“. Wir werden Apache als Webserver für Ceph-Dash verwenden, also müssen wir die Konfigurationsdatei für Apache in das Verzeichnis apache/httpd kopieren.

cd /var/www/html/ceph-dash/
cp contrib/apache/cephdash /etc/httpd/conf.d/cephdash.conf

Wechseln Sie in das Konfigurationsverzeichnis des virtuellen Hosts und bearbeiten Sie die Datei cephdash.conf.

cd /etc/httpd/conf.d/
vim cephdash.conf

Ändern Sie den Wert von 'ServerName ' zu Ihrem Domainnamen - in meinem Fall ceph-mon.co

Ändern Sie den wsgi-Daemon-Prozess so, dass er als Apache ausgeführt wird Benutzer.

Ändern Sie das Verzeichnis „cephdash.wsgi“ in „/var/www/html/ceph-dash/contrib/wsgi/cephdash.wsgi“ .

Ändern Sie das SSL-Konfigurationsverzeichnis in „/etc/httpd/ssl/ '.

Ändern Sie das ceph-dash-Verzeichnis in „/var/www/html/ceph-dash ', und fügen Sie dann die Basisauthentifizierung hinzu Konfiguration.

Unten ist die Konfiguration.

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

Speichern Sie die Datei und beenden Sie den Editor.

Schritt 4 – SSL und Apache Basic Auth konfigurieren

In der Konfiguration des virtuellen Hosts haben wir bereits die SSL-Konfiguration im Verzeichnis „/etc/httpd/ssl“ definiert, also müssen wir dort das SSL-Zertifikat und den Schlüssel erstellen.

mkdir -p /etc/httpd/ssl/

Generieren Sie nun mit dem OpenSSL-Befehl eine selbstsignierte SSL-Zertifikatsdatei.

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/httpd/ssl/ssl.key -out \
/etc/httpd/ssl/ssl.crt

Ändern Sie die Berechtigungen der Zertifikatsdatei auf 600.

chmod 600 /etc/httpd/ssl/*

Als nächstes fügen Sie Apache Basic Auth mit dem htpasswd-Befehl unten hinzu, um den Ceph-Dash-Zugriff mit einem Passwort zu schützen.

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

Hakase ist der von mir gewählte Benutzername.

Wenn alles erledigt ist, testen Sie die Apache-Konfigurationsdatei mit dem apachectl-Befehl und vergewissern Sie sich, dass das Ergebnis "Syntax OK" ist ', dann Apache neu starten.

apachectl configtest
sudo systemctl restart httpd

Schritt 5 – HTTP- und HTTPS-Port zu Firewalld hinzufügen

Auf dem Monitorknoten „mon1 ', Firewalld ist aktiviert. Wir müssen einen neuen Port für die http- und https-Verbindung öffnen, damit wir über einen Webbrowser auf Ceph-dash zugreifen können.

Fügen Sie den http- und https-Port mit dem Befehl firewall-cmd zu firewalld hinzu.

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent

Laden Sie die Firewall-Konfiguration neu.

sudo firewall-cmd --reload

Schritt 6 – Testen

Öffnen Sie Ihren Webbrowser und geben Sie die ceph-mon.co-Domain (verwenden Sie den Domainnamen, den Sie für Ihre ceph-dash-Installation ausgewählt haben) in die Adressleiste ein und drücken Sie die Eingabetaste.

Sie werden nach Benutzername und Passwort gefragt, geben Sie Ihren Benutzernamen und Ihr Passwort ein, die Sie in der htpasswd-Datei verwendet haben.

Jetzt können Sie das Ceph-Dash-Dashboard sehen.

Zustandsstatus des Clusters, Knotenstatus überwachen, OSD-Knotenstatus.

Speicher- und PG-Status.

Ceph-Strich wurde unter einem Apache installiert Webserver auf dem Monitorknoten 'mon1 '.


Cent OS
  1. Verwalten Sie CentOS Stream mit Foreman

  2. Serverüberwachung mit Icinga 2 und Icingaweb 2 auf CentOS 7

  3. Installieren Sie Nginx mit ngx_pagespeed unter CentOS 7

  4. So installieren Sie die Netdata-Überwachung unter CentOS 7

  5. Installieren Sie mod_ruid2 auf CentOS 6 mit DirectAdmin

Serverüberwachung mit Munin und Monit auf CentOS 7.2

So richten Sie Percona-Cluster mit HAproxy Loadbalancer unter CentOS 7 ein

So richten Sie MariaDB Galera Cluster mit HAproxy unter CentOS 7 ein

DRBD mit MySQL Centos 8

So installieren Sie OrangeHRM auf CentOS 7

So installieren Sie Cacti Monitoring unter CentOS 7