Overvåg serverressourcer med Collectd-web og Apache CGI i Linux
Denne vejledning vil diskutere, hvordan du kan installere og køre Collectd-web-interface, som er et front-end-webovervågningsværktøj til Collectd-dæmon, i forbindelse med Apache CGI-interface for at producere grafiske html-output for at overvåge Linux-kasser.
I slutningen af artiklen præsenterer vi også, hvordan du kan beskytte Collectd-web-interface ved hjælp af .hpasswd Apache-godkendelsesmekanisme.
Kravet i denne artikel er, at du skal have Collectd og Collectd-Web installeret på dit Linux-system. For at installere disse pakker skal du følge trin 1 og nr. 2 fra den forrige artikel i denne serie på:
- Installer Collectd og Collectd-Web i Linux
Følg kun følgende to trin fra ovenstående link:
Step 1: Install Collectd Service Step 2: Install Collectd-Web and Dependencies
Når disse to nødvendige ting er gennemført med succes, kan du fortsætte yderligere instruktioner i denne artikel for at konfigurere Collectd-web med Apache CGI.
Trin 1: Installation af Apache-webserver
1. Forudsat at du allerede har installeret Apache-webserver på dit system, kan du ikke installere ved hjælp af følgende kommando i henhold til din Linux-distribution.
# apt-get install apache2 [On Debian based Systems] # yum install httpd [On RedHat based Systems]
2. Når Apache er installeret, skal du ændre biblioteket til din standardwebservers dokumentrod (som ligger under/var/www/html/eller/var/www systemsti og klone Collectd-web Github-projektet ved at udstede nedenstående kommandoer:
# cd /var/www/html # git clone https://github.com/httpdss/collectd-web.git
Gør også følgende Collectd-web-script eksekverbart ved at udstede følgende kommando:
# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
Trin 2: Aktivér Apache CGI (.cgi-scripts) for standardhost
3. For at Apache kan køre CGI-scripts, der er placeret under standardværts-HTML Collectd-web cgi-bin-biblioteket, skal du eksplicit aktivere Apache CGI-grænseflade til Bash-scripts (med .cgi-udvidelse) ved at ændre den websteds-tilgængelige standardhost og tilføje nedenstående udsagn blok.
Åbn først Apache-standardværtskonfigurationsfil til redigering med nano-editor:
# nano /etc/apache2/sites-available/000-default.conf
Mens filen åbnes til redigering, skal du tilføje følgende direktivblok under dokumentroddirektivet som illustreret på nedenstående billede:
<Directory /var/www/html/collectd-web/cgi-bin> Options Indexes ExecCGI AllowOverride All AddHandler cgi-script .cgi Require all granted </Directory>
Når du er færdig med at redigere filen, skal du lukke den med CTRL + o og afslutte nano-editoren (CTRL + x), derefter aktivere Apache CGI-modulet og genstarte serveren for at anvende alle de ændringer, der er foretaget hidtil ved at udstede nedenstående kommandoer:
# a2enmod cgi cgid # service apache2 restart OR # systemctl restart apache2.service [For systemd init scripts]
4. For at aktivere Apache CGI interface til CentOS/RHEL skal du åbne httpd.conf Apache konfigurationsfil og tilføje følgende linjer i bunden af filen:
# nano /etc/httpd/conf/httpd.conf
Tilføj følgende uddrag til filen httpd.conf.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin" Options FollowSymLinks ExecCGI AddHandler cgi-script .cgi .pl
For at anvende ændringer skal du genstarte httpd-dæmonen ved at udstede følgende kommando:
# service httpd restart OR # systemctl restart httpd [For systemd init scripts]
Trin 3: Gennemse Collectd-web-interface
5. For at besøge Collectd-web-interface og visualisere statistikker om din maskine, der hidtil er indsamlet, skal du åbne en browser og navigere til din maskins IP-adresse/collectd-web/URI-placering ved hjælp af HTTP-protokollen.
http://192.168.1.211/collect-web/
Trin 4: Adgangskodebeskyttet Collectd-web-URL ved hjælp af Apache-godkendelse
6. Hvis du vil begrænse adgangen til Collectd-web-interface ved at beskytte den ved hjælp af Apache-godkendelsesmekanisme (.htpasswd), som kræver, at besøgende indtaster et brugernavn og en adgangskode for at få adgang til en webressource.
For at gøre dette skal du installere apache2-utils-pakken og oprette et sæt legitimationsoplysninger til lokal godkendelse. For at nå dette mål skal du først udstede følgende kommando for at installere pakken apache2-utils:
# apt-get install apache2-utils [On Debian based Systems] # yum install httpd-tools [On RedHat based Systems]
7. Derefter skal du oprette et brugernavn og en adgangskode, der gemmes i en skjult lokal .htpass-fil placeret under Apache-standardværten Collectd-web-sti ved at udstede nedenstående kommando:
# htpasswd -c /var/www/html/collectd-web/.htpass your_username
Prøv at beskytte denne fil ved at tildele følgende tilladelser:
# chmod 700 /var/www/html/collectd-web/.htpass # chown www-data /var/www/html/collectd-web/.htpass
8. På det næste trin, når du har genereret .htpass-fil, skal du åbne Apache-standardværten til redigering og instruere serveren om at bruge htpasswd grundlæggende servergodkendelse ved at tilføje følgende direktivblok som vist på nedenstående skærmbillede:
<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. Det sidste trin for at afspejle ændringer er at genstarte Apache-serveren ved at udstede nedenstående kommando og besøge Coollectd-web-URL-siden som beskrevet ovenfor.
En pop op vises på websiden, der beder om dine autentificeringsoplysninger. Brug brugernavnet og adgangskoden, der blev oprettet tidligere, for at få adgang til Collectd webgrænseflade.
# 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