Monitor Server Ressourcen mat Collectd-Web an Apache CGI am Linux


Dësen Tutorial wäert diskutéieren wéi Dir Collectd-Web Interface installéiere kënnt a lafen, wat e Front-End Web Iwwerwaachungsinstrument fir Collectd Daemon ass, a Verbindung mat Apache CGI Interface fir grafesch HTML Ausgänge ze produzéieren fir Linux Boxen ze iwwerwaachen.

Um Enn vum Artikel wäerte mir och presentéieren wéi Dir Collectd-Web Interface mat .hpasswd Apache Authentifikatiounsmechanismus schützen kann.

D'Ufuerderung vun dësem Artikel ass, Dir musst Collectd a Collectd-Web op Ärem Linux System installéiert hunn. Fir dës Packagen z'installéieren, musst Dir Schrëtt #1 an #2 aus dem viregten Artikel vun dëser Serie verfollegen:

  1. Installéiert Collectd a Collectd-Web op Linux

Follegt nëmmen déi zwee Schrëtt vum uewe genannte Link:

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

Wann dës zwou erfuerderlech Saachen erfollegräich ofgeschloss sinn, kënnt Dir weider Instruktiounen an dësem Artikel weiderféieren fir Collectd-Web mat Apache CGI ze konfiguréieren.

Schrëtt 1: Apache Web Server installéieren

1. Unzehuelen datt Dir schonn Apache Webserver op Ärem System installéiert hutt, wann net, kënnt Dir d'folgend Kommando no Ärem Linux Verdeelung installéieren.

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

2. Nodeems Apache installéiert ass, ännert de Verzeechnes op Äre Standard Webserver Dokument Root (déi ënner /var/www/html/ oder /var/www Systemwee läit an de Collectd-web Github Projet klonen andeems Dir déi folgend Kommandoen ausgëtt:

# cd /var/www/html
# git clone https://github.com/httpdss/collectd-web.git

Maacht och de folgende Collectd-Web Skript ausféierbar andeems Dir de folgende Kommando ausstellt:

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

Schrëtt 2: Aktivéiert Apache CGI (.cgi Scripten) fir Default Host

3. Fir datt Apache d'CGI Scripte lafen, déi ënner dem Standardhost HTML Collectd-web cgi-bin Verzeichnis sinn, musst Dir explizit den Apache CGI Interface fir Bash Scripten aktivéieren (mat .cgi Extensioun) andeems Dir de Site-verfügbare Standardhost ännert a bäigefüügt de folgenden Aussoeblock.

Éischt oppen Apache Standard Host Konfiguratiounsdatei fir z'änneren mam Nano Editor:

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

Wärend d'Datei opgemaach ass fir z'änneren, füügt de folgenden Direktivblock ënner der Dokumentroot-Direktiv bäi wéi illustréiert am Bild hei drënner:

<Directory /var/www/html/collectd-web/cgi-bin>
                Options Indexes ExecCGI
                AllowOverride All
                AddHandler cgi-script .cgi
                Require all granted
</Directory>

Nodeems Dir fäerdeg sidd d'Datei z'änneren, schléisst se mat CTRL + o a gitt den Nano-Editor (CTRL + x), aktivéiert dann den Apache CGI-Modul an de Server nei unzefänken fir all d'Ännerungen, déi bis elo gemaach goufen, z'applizéieren andeems Dir déi folgend Kommandoen ausginn:

# a2enmod cgi cgid
# service apache2 restart
OR
# systemctl restart apache2.service     [For systemd init scripts]

4. Fir Apache CGI Interface fir CentOS/RHEL z'aktivéieren, öffnen httpd.conf Apache Konfiguratiounsdatei a füügt déi folgend Zeilen um Enn vun der Datei:

# nano /etc/httpd/conf/httpd.conf

Füügt folgend Auszuch op httpd.conf Datei.

ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin"
Options FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl

Fir Ännerungen z'applizéieren, start httpd Daemon nei andeems Dir de folgende Kommando ausgitt:

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

Schrëtt 3: Browst Collectd-Web Interface

5. Fir de Collectd-Web Interface ze besichen an d'Statistiken iwwer Är Maschinn ze visualiséieren déi bis elo gesammelt ass, öffnen e Browser a navigéiert op Är Maschinn IP Adress/collectd-web/URI Location mam HTTP Protokoll.

http://192.168.1.211/collect-web/

Schrëtt 4: Passwuert schützen Collectd-Web URL mat Apache Authentifikatioun

6. Am Fall wou Dir den Zougang zu Collectd-Web-Interface limitéiere wëllt andeems Dir se mat Apache Authentifikatiounsmechanismus (.htpasswd) schützt, wat de Besucher erfuerdert fir e Benotzernumm an e Passwuert anzeginn fir Zougang zu enger Webressource ze kréien.

Fir dat ze maachen, musst Dir den apache2-utils Package installéieren an eng Rei vun Umeldungsinformatiounen fir lokal Authentifikatioun erstellen. Fir dëst Zil z'erreechen, gitt als éischt de folgende Kommando aus fir den apache2-utils Package z'installéieren:

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

7. Als nächst generéiert e Benotzernumm an e Passwuert dat op enger verstoppter lokaler .htpass Datei gespäichert gëtt, déi ënner Apache Standardhost Collectd-Web Wee läit, andeems Dir de folgende Kommando ausgitt:

# htpasswd -c /var/www/html/collectd-web/.htpass  your_username

Probéiert dës Datei ze schützen andeems Dir déi folgend Permissiounen zouginn:

# chmod 700 /var/www/html/collectd-web/.htpass
# chown www-data /var/www/html/collectd-web/.htpass

8. Op de nächste Schrëtt, nodeems Dir .htpass-Datei generéiert hutt, öffnen den Apache Standardhost fir z'änneren an de Server ze instruéieren fir htpasswd Basis Server-Säit Authentifikatioun ze benotzen andeems Dir de folgenden Direktivblock bäidréit wéi op de Screenshot hei ënnen illustréiert:

<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. De leschte Schrëtt fir d'Ännerungen ze reflektéieren ass den Apache-Server nei ze starten andeems Dir de Kommando ënnen ausgitt an d'Coollectd-Web URL Säit besicht wéi uewen beschriwwen.

E Pop-up soll op der Websäit erschéngen fir Är Authentifikatiouns-Umeldungsinformatiounen ze froen. Benotzt de Benotzernumm a Passwuert erstallt virdrun fir Zougang zu 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