Website-Suche

Überwachen Sie Serverressourcen mit Collectd-web und Apache CGI unter Linux


In diesem Tutorial wird erläutert, wie Sie die Collectd-web-Schnittstelle, ein Front-End-Webüberwachungstool für den Collectd-Daemon, in Verbindung mit Apache CGI installieren und ausführen können Schnittstelle, um grafische HTML-Ausgaben zur Überwachung von Linux-Boxen zu erzeugen.

Am Ende des Artikels werden wir auch vorstellen, wie Sie die Collectd-Web-Schnittstelle mithilfe des Apache-Authentifizierungsmechanismus .hpasswd schützen können.

Anforderungen

Die Anforderung dieses Artikels ist, dass auf Ihrem Linux-System Collectd und Collectd-Web installiert sein müssen. Um diese Pakete zu installieren, müssen Sie die Schritte #1 und #2 aus dem vorherigen Artikel dieser Serie befolgen:

  1. Installieren Sie Collectd und Collectd-Web unter Linux

Befolgen Sie nur die folgenden zwei Schritte über den obigen Link:


Step 1: Install Collectd Service 
Step 2: Install Collectd-Web and Dependencies 

Sobald diese beiden erforderlichen Schritte erfolgreich abgeschlossen wurden, können Sie mit den weiteren Anweisungen in diesem Artikel fortfahren, um Collectd-web mit Apache CGI zu konfigurieren.

Schritt 1: Apache-Webserver installieren

1. Vorausgesetzt, Sie haben den Apache-Webserver bereits auf Ihrem System installiert. Andernfalls können Sie die Installation mit dem folgenden Befehl entsprechend Ihrer Linux-Distribution durchführen.


apt-get install apache2	[On Debian based Systems]
yum install httpd		[On RedHat based Systems]

2. Ändern Sie nach der Installation von Apache das Verzeichnis in Ihr Standard-Webserver-Dokumentstammverzeichnis (das sich unter /var/www/html/ oder /var/www befindet). Systempfad 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 ausgeben:


chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi

Schritt 2: Aktivieren Sie Apache CGI (.cgi-Skripte) für den Standardhost

3. Damit Apache die CGI-Skripte ausführen kann, die sich im Standard-Host-HTML-Collectd-web-cgi-bin-Verzeichnis befinden, müssen Sie die Apache-CGI-Schnittstelle für Bash-Skripte explizit aktivieren (mit .cgi). -Erweiterung), indem Sie den Standardhost sites-available ändern und den folgenden Anweisungsblock hinzufügen.

Auf Debian-Systemen

Öffnen Sie zunächst die Apache-Standardhostkonfigurationsdatei zur Bearbeitung mit dem nano-Editor:


nano /etc/apache2/sites-available/000-default.conf

Während die Datei zur Bearbeitung geöffnet ist, fügen Sie den folgenden Direktivenblock unterhalb der Document Root-Direktive hinzu, wie im folgenden 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 mit der Bearbeitung der Datei fertig sind, schließen Sie sie mit STRG + o und beenden Sie den Nano-Editor (STRG+x). Aktivieren Sie dann das Apache CGI-Modul und starten Sie den Server der Reihe nach neu Um alle bisher vorgenommenen Änderungen zu übernehmen, geben Sie die folgenden Befehle ein:


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 am Ende der Datei die folgenden Zeilen 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 zu übernehmen, starten Sie den httpd-Daemon neu, indem Sie den folgenden Befehl ausgeben:


service httpd restart
OR
systemctl restart httpd        [For systemd init scripts]

Schritt 3: Durchsuchen Sie die Collectd-Web-Schnittstelle

5. Um die Collectd-Web-Schnittstelle zu besuchen und die bisher gesammelten Statistiken über Ihren Computer anzuzeigen, öffnen Sie einen Browser und navigieren Sie zu der IP-Adresse/erfassten Ihres Computers. web/ URI-Standort mithilfe des HTTP-Protokolls.


http://192.168.1.211/collect-web/

Schritt 4: Schützen Sie die Collectd-Web-URL mithilfe der Apache-Authentifizierung mit einem Passwort

6. Falls Sie den Zugriff auf die Collectd-web-Schnittstelle einschränken möchten, indem Sie sie mit dem Apache-Authentifizierungsmechanismus (.htpasswd) schützen, der Besucher erfordert um einen Benutzernamen und ein Passwort einzugeben, um auf eine Webressource zuzugreifen.

Dazu 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 zunächst 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. Als nächstes generieren Sie einen Benutzernamen und ein Passwort, die in einer versteckten lokalen .htpass-Datei gespeichert werden, die sich unter dem Apache-Standardhost Collectd-web befindet Pfad, indem Sie den folgenden Befehl ausgeben:


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. Nachdem Sie im nächsten Schritt die Datei .htpass generiert haben, öffnen Sie den Apache-Standardhost zur Bearbeitung und weisen Sie den Server an, htpasswd Basic zu verwenden Serverseitige Authentifizierung durch Hinzufügen des folgenden Direktivenblocks, wie im folgenden 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 übernehmen, besteht darin, den Apache-Server neu zu starten, indem Sie den folgenden Befehl ausführen und die Coollectd-web-URL-Seite aufrufen oben beschrieben.

Auf der Webseite sollte ein Popup erscheinen, in dem Sie nach Ihren Authentifizierungsdaten gefragt werden. Verwenden Sie den zuvor erstellten Benutzernamen und das Passwort, um auf die Collectd-Weboberfläche zuzugreifen.


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