Overvåk serverressurser med Collectd-web og Apache CGI i Linux
Denne opplæringen vil diskutere hvordan du kan installere og kjøre Collectd-webgrensesnitt, som er et front-end webovervåkingsverktøy for Collectd daemon, i forbindelse med Apache CGI-grensesnitt for å produsere grafiske html-utganger for å overvåke Linux-bokser.
På slutten av artikkelen vil vi også presentere hvordan du kan beskytte Collectd-webgrensesnittet ved å bruke .hpasswd Apache Authentication-mekanisme.
Kravet til denne artikkelen er at du må ha Collectd og Collectd-Web installert på Linux-systemet ditt. For å installere disse pakkene må du følge trinn #1 og #2 fra forrige artikkel i denne serien på:
- Installer Collectd og Collectd-Web i Linux
Følg bare følgende to trinn fra lenken ovenfor:
Step 1: Install Collectd Service Step 2: Install Collectd-Web and Dependencies
Når disse to nødvendige tingene er fullført, kan du fortsette videre instruksjoner i denne artikkelen for å konfigurere Collectd-web med Apache CGI.
Trinn 1: Installere Apache Web Server
1. Forutsatt at du allerede har installert Apache webserver på systemet ditt, hvis ikke kan du installere ved å bruke følgende kommando i henhold til din Linux-distribusjon.
# apt-get install apache2 [On Debian based Systems] # yum install httpd [On RedHat based Systems]
2. Etter at Apache er installert, endre katalogen til din standard webserver dokumentrot (som er plassert under /var/www/html/ eller /var/www systembane og klon Collectd-web Github-prosjektet ved å utstede kommandoene nedenfor:
# cd /var/www/html # git clone https://github.com/httpdss/collectd-web.git
Gjør også følgende Collectd-web-skript kjørbart ved å utstede følgende kommando:
# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
Trinn 2: Aktiver Apache CGI (.cgi-skript) for standardvert
3. For at Apache skal kjøre CGI-skriptene som ligger under standard verts-HTML Collectd-web cgi-bin-katalogen, må du eksplisitt aktivere Apache CGI-grensesnitt for Bash-skript (med .cgi-utvidelse) ved å endre standardverten som er tilgjengelig for nettsteder og legger til setningsblokken nedenfor.
Åpne først Apache standard vertskonfigurasjonsfil for redigering med nano editor:
# nano /etc/apache2/sites-available/000-default.conf
Mens filen er åpnet for redigering, legg til følgende direktivblokk under Document Root-direktivet som illustrert på bildet nedenfor:
<Directory /var/www/html/collectd-web/cgi-bin> Options Indexes ExecCGI AllowOverride All AddHandler cgi-script .cgi Require all granted </Directory>
Etter at du er ferdig med å redigere filen, lukk den med CTRL + o og avslutt nanoredigering (CTRL+x), aktiver deretter Apache CGI-modulen og start serveren på nytt for å bruke alle endringene som er gjort så langt ved å utstede kommandoene nedenfor:
# a2enmod cgi cgid # service apache2 restart OR # systemctl restart apache2.service [For systemd init scripts]
4. For å aktivere Apache CGI-grensesnitt for CentOS/RHEL, åpne httpd.conf Apache-konfigurasjonsfilen og legg til følgende linjer nederst i filen:
# nano /etc/httpd/conf/httpd.conf
Legg til følgende utdrag til httpd.conf-filen.
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin" Options FollowSymLinks ExecCGI AddHandler cgi-script .cgi .pl
For å bruke endringer, start httpd daemon på nytt ved å utstede følgende kommando:
# service httpd restart OR # systemctl restart httpd [For systemd init scripts]
Trinn 3: Bla gjennom Collectd-webgrensesnitt
5. For å besøke Collectd-webgrensesnittet og visualisere statistikk om maskinen din som er samlet inn så langt, åpne en nettleser og naviger til maskinens IP-adresse/collectd-web/URI-plassering ved hjelp av HTTP-protokollen.
http://192.168.1.211/collect-web/
Trinn 4: Passordbeskytt Collectd-web URL ved hjelp av Apache-autentisering
6. I tilfelle du ønsker å begrense tilgangen til Collectd-webgrensesnittet ved å beskytte det ved å bruke Apache Authentication-mekanisme (.htpasswd), som krever at besøkende oppgir et brukernavn og et passord for å få tilgang til en nettressurs.
For å gjøre det, må du installere apache2-utils-pakken og opprette et sett med legitimasjon for lokal autentisering. For å oppnå dette målet, utfør først følgende kommando for å installere pakken apache2-utils:
# apt-get install apache2-utils [On Debian based Systems] # yum install httpd-tools [On RedHat based Systems]
7. Deretter genererer du et brukernavn og et passord som vil bli lagret på en skjult lokal .htpass-fil som ligger under Apaches standard vert Collectd-webbane ved å gi kommandoen nedenfor:
# htpasswd -c /var/www/html/collectd-web/.htpass your_username
Prøv å beskytte denne filen ved å tildele følgende tillatelser:
# chmod 700 /var/www/html/collectd-web/.htpass # chown www-data /var/www/html/collectd-web/.htpass
8. På neste trinn, etter at du har generert .htpass-fil, åpner du Apache standardvert for redigering og instruerer serveren til å bruke htpasswd grunnleggende autentisering på serversiden ved å legge til følgende direktivblokk som illustrert på skjermbildet nedenfor:
<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 siste trinnet for å gjenspeile endringer er å starte Apache-serveren på nytt ved å gi kommandoen nedenfor og gå til Coollectd-nettadressesiden som beskrevet ovenfor.
En pop-up skal vises på nettsiden som ber om autentiseringslegitimasjonen din. Bruk brukernavnet og passordet som ble opprettet tidligere for å få tilgang til Collectd-nettgrensesnittet.
# 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