Dieses Tutorial wird erläutern, wie Sie die Collectd-web-Schnittstelle installieren und ausführen können, die ein Frontend-Webüberwachungstool für den Collectd-Daemon ist, in Verbindung mit der Apache CGI-Schnittstelle, um grafische HTML-Ausgaben zu erzeugen, um Linux-Boxen zu überwachen.

Am Ende des Artikels werden wir auch vorstellen, wie Sie die Collectd-web-Schnittstelle mithilfe des .hpasswd-Apache-Authentifizierungsmechanismus schützen können.
Anforderungen
Die Voraussetzung für diesen Artikel ist, dass Sie Collectd und Collectd-Web auf Ihrem Linux-System installiert haben. Um diese Pakete zu installieren, müssen Sie die Schritte #1 und #2 aus dem vorherigen Artikel dieser Serie unter folgendem Link befolgen:
Befolgen Sie nur die folgenden beiden Schritte aus dem obigen Link:
Step 1: Install Collectd Service Step 2: Install Collectd-Web and Dependencies
Sobald diese beiden erforderlichen Schritte erfolgreich abgeschlossen sind, können Sie die weiteren Anweisungen in diesem Artikel befolgen, um Collectd-web mit Apache CGI zu konfigurieren.
Schritt 1: Apache Webserver installieren
1. Nehmen Sie an, dass Sie bereits den Apache-Webserver auf Ihrem System installiert haben. Andernfalls können Sie ihn gemäß Ihrer Linux-Distribution mit folgendem Befehl installieren.
# apt-get install apache2 [On Debian based Systems] # yum install httpd [On RedHat based Systems]
Nach der Installation von Apache ändern Sie das Verzeichnis zum Standard-Webserver-Stammverzeichnis (das sich unter /var/www/html/ oder /var/www im Systempfad befindet) und klonen Sie das Collectd-web Github-Projekt, indem Sie die folgenden Befehle ausführen:
# cd /var/www/html # git clone https://github.com/httpdss/collectd-web.git
Machen Sie außerdem das folgende Collectd-web-Skript ausführbar, indem Sie den folgenden Befehl ausführen:
# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
Schritt 2: Aktivieren Sie Apache CGI (.cgi-Skripte) für den Standard-Host
3. Damit Apache die CGI-Skripte im Standard-Host-HTML-Collectd-web-cgi-bin-Verzeichnis ausführen kann, müssen Sie die Apache CGI-Schnittstelle für Bash-Skripte (mit der Erweiterung .cgi) explizit aktivieren, indem Sie das Standard-Host- und Hinzufügen der folgenden Anweisungsblock.
Auf Debian-Systemen
Öffnen Sie zunächst die Apache-Standard-Hostkonfigurationsdatei zum Bearbeiten mit dem Editor nano:
# nano /etc/apache2/sites-available/000-default.conf
Fügen Sie während der Bearbeitung der Datei den folgenden Anweisungsblock unterhalb der Anweisung Document Root hinzu, wie auf dem untenstehenden Bild dargestellt:
<Directory /var/www/html/collectd-web/cgi-bin> Options Indexes ExecCGI AllowOverride All AddHandler cgi-script .cgi Require all granted </Directory>

Nachdem Sie die Bearbeitung der Datei abgeschlossen haben, schließen Sie sie mit STRG + o und verlassen Sie den Nano-Editor (STRG+x), aktivieren Sie das Apache-CGI-Modul und starten Sie den Server neu, um alle bisher vorgenommenen Änderungen anzuwenden, indem Sie die folgenden Befehle eingeben:
# a2enmod cgi cgid # service apache2 restart OR # systemctl restart apache2.service [For systemd init scripts]

Auf RedHat-Systemen
4. Um die Apache-CGI-Schnittstelle für CentOS/RHEL zu aktivieren, öffnen Sie die Apache-Konfigurationsdatei httpd.conf und fügen Sie die folgenden Zeilen am Ende der Datei hinzu:
# nano /etc/httpd/conf/httpd.conf
Fügen Sie den folgenden Auszug zur Datei httpd.conf hinzu.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin" Options FollowSymLinks ExecCGI AddHandler cgi-script .cgi .pl
Um die Änderungen anzuwenden, starten Sie den httpd-Daemon neu, indem Sie den folgenden Befehl eingeben:
# service httpd restart OR # systemctl restart httpd [For systemd init scripts]
Schritt 3: Durchsuchen Sie die Collectd-web-Benutzeroberfläche
5. Um die Collectd-web-Benutzeroberfläche zu besuchen und Statistiken über Ihren bisher gesammelten Rechner zu visualisieren, öffnen Sie einen Browser und navigieren Sie unter Verwendung des HTTP-Protokolls zu Ihrem Rechner IP-Adresse/collectd-web/.
http://192.168.1.211/collect-web/

Schritt 4: Schützen Sie die Collectd-web-URL mit der Apache-Authentifizierung
6. Wenn Sie den Zugriff auf die Collectd-web-Benutzeroberfläche einschränken möchten, indem Sie sie mit dem Apache-Authentifizierungsmechanismus (.htpasswd) schützen, der Besucher dazu verpflichtet, einen Benutzernamen und ein Passwort einzugeben, um auf eine Webressource zuzugreifen.
Um dies zu erreichen, müssen Sie das Paket apache2-utils installieren und einen Satz Anmeldeinformationen für die lokale Authentifizierung erstellen. Um dieses Ziel zu erreichen, geben Sie zuerst den folgenden Befehl ein, um das Paket apache2-utils zu installieren:
# apt-get install apache2-utils [On Debian based Systems] # yum install httpd-tools [On RedHat based Systems]
7. Generieren Sie als nächstes einen Benutzernamen und ein Passwort, die in einer versteckten lokalen .htpass-Datei gespeichert werden, die sich im Standard-Hostpfad von Apache Collectd-web befindet, indem Sie den folgenden Befehl eingeben:
# htpasswd -c /var/www/html/collectd-web/.htpass your_username
Versuchen Sie, diese Datei zu schützen, indem Sie die folgenden Berechtigungen zuweisen:
# chmod 700 /var/www/html/collectd-web/.htpass # chown www-data /var/www/html/collectd-web/.htpass
8. Im nächsten Schritt, nachdem Sie die Datei .htpass generiert haben, öffnen Sie den Standard-Host von Apache zum Bearbeiten und weisen Sie den Server an, die Basis-Serverauthentifizierung mit htpasswd zu verwenden, indem Sie den folgenden Direktivenblock hinzufügen, wie auf dem untenstehenden Screenshot dargestellt:
<Directory /var/www/html/collectd-web > AuthType Basic AuthName "Collectd Restricted Page" AuthBasicProvider file AuthUserFile /var/www/html/collectd-web/.htpass Require valid-user </Directory>

9. Der letzte Schritt, um die Änderungen zu reflektieren, besteht darin, den Apache-Server neu zu starten, indem Sie den folgenden Befehl ausführen und die URL-Seite Coollectd-web wie oben beschrieben besuchen.
A pop-up should appear on the web page requesting for your authentication credentials. Use the username and password created earlier to access Collectd web interface.
# service apache2 restart [On Debian based Systems] # service httpd restart [On RedHat based Systems] OR ---------------- For systemd init scripts ---------------- # systemctl restart apache2.service # systemctl restart http.service


Source:
https://www.tecmint.com/monitor-linux-server-resources-with-collectd-web-and-apache-cgi/