Stebėkite serverio išteklius naudodami Collectd-web ir Apache CGI sistemoje Linux


Šioje mokymo programoje bus aptarta, kaip įdiegti ir paleisti Collectd-web sąsają, kuri yra pagrindinis žiniatinklio stebėjimo įrankis, skirtas Collectd demonui, kartu su Apache CGI. sąsaja, skirta sukurti grafines HTML išvestis, kad būtų galima stebėti „Linux“ dėžutes.

Straipsnio pabaigoje taip pat pateiksime, kaip galite apsaugoti Collectd žiniatinklio sąsają naudodami .hpasswd Apache autentifikavimo mechanizmą.

Reikalavimai

Šio straipsnio reikalavimas yra toks, kad jūsų „Linux“ sistemoje turi būti įdiegtos Collectd ir Collectd-Web. Norėdami įdiegti šiuos paketus, turite atlikti ankstesniame šios serijos straipsnyje nurodytus #1 ir #2 veiksmus adresu:

  1. Įdiekite Collectd ir Collectd-Web sistemoje Linux

Atlikite tik du aukščiau pateiktos nuorodos veiksmus:


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

Sėkmingai atlikę šiuos du būtinus veiksmus, galėsite tęsti šiame straipsnyje pateiktas instrukcijas, kaip sukonfigūruoti Collectd-web su Apache CGI.

1 veiksmas: Įdiekite „Apache“ žiniatinklio serverį

1. Darant prielaidą, kad sistemoje jau esate įdiegę „Apache“ žiniatinklio serverį, jei ne, galite įdiegti naudodami šią komandą pagal savo „Linux“ paskirstymą.


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

2. Įdiegę „Apache“, pakeiskite katalogą į numatytąjį žiniatinklio serverio dokumento šaknį (kuri yra /var/www/html/ arba /var/www sistemos kelią ir klonuoti Collectd-web Github projektą, išduodami toliau nurodytas komandas:


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

Taip pat padarykite šį Collectd-web scenarijų vykdomąjį, išduodami šią komandą:


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

2 veiksmas: įgalinkite „Apache CGI“ (.cgi scenarijus) numatytajam pagrindiniam kompiuteriui

3. Kad Apache paleistų CGI scenarijus, esančius numatytajame prieglobos HTML Collectd-web cgi-bin kataloge, turite aiškiai įgalinti Apache CGI sąsają Bash scenarijus (su .cgi plėtinį), pakeisdami numatytąjį svetainės pasiekiamos pagrindinį kompiuterį ir pridėdami toliau pateiktą teiginių bloką.

Debian sistemose

Pirmiausia atidarykite „Apache“ numatytąjį pagrindinio kompiuterio konfigūracijos failą, kad galėtumėte redaguoti naudodami nano redaktorių:


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

Kai failas atidaromas redaguoti, po direktyva Dokumento šaknis pridėkite šį nurodymų bloką, kaip parodyta toliau pateiktame paveikslėlyje:


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

Baigę redaguoti failą, uždarykite jį paspausdami CTRL + o ir išeikite iš nano redaktoriaus (CTRL+x), tada įgalinkite Apache CGI modulį ir eilės tvarka paleiskite serverį iš naujo pritaikyti visus iki šiol atliktus pakeitimus išduodant šias komandas:


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

RedHat sistemose

4. Norėdami įgalinti „CentOS“/RHEL „Apache“ CGI sąsają, atidarykite httpd.conf „Apache“ konfigūracijos failą ir failo apačioje pridėkite šias eilutes:


nano /etc/httpd/conf/httpd.conf

Pridėkite šią ištrauką prie httpd.conf failo.


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

Norėdami pritaikyti pakeitimus, iš naujo paleiskite httpd demoną, išduodami šią komandą:


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

3 veiksmas: naršykite „Colectd-web“ sąsają

5. Norėdami apsilankyti surinkto žiniatinklio sąsajoje ir vizualizuoti iki šiol surinktą kompiuterio statistiką, atidarykite naršyklę ir eikite į savo įrenginį IP adresas/surinkti- web/ URI vieta naudojant HTTP protokolą.


http://192.168.1.211/collect-web/

4 veiksmas: apsaugokite slaptažodžiu Collectd-web URL naudodami Apache autentifikavimą

6. Jei norite apriboti prieigą prie surinkto žiniatinklio sąsajos, apsaugodami ją naudodami „Apache“ autentifikavimo mechanizmą (.htpasswd), kuriam reikalingi lankytojai įvesti vartotojo vardą ir slaptažodį, kad galėtumėte pasiekti žiniatinklio išteklius.

Norėdami tai padaryti, turite įdiegti apache2-utils paketą ir sukurti vietinio autentifikavimo kredencialų rinkinį. Norėdami pasiekti šį tikslą, pirmiausia išduokite šią komandą, kad įdiegtumėte apache2-utils paketą:


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

7. Tada sugeneruokite naudotojo vardą ir slaptažodį, kurie bus saugomi paslėptame vietiniame .htpass faile, esančiame „Apache“ numatytojoje priegloboje Collectd-web kelią, išleisdami žemiau esančią komandą:


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

Pabandykite apsaugoti šį failą suteikdami šiuos leidimus:


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

8. Atlikdami kitą veiksmą, sugeneravę .htpass failą, atidarykite numatytąjį „Apache“ pagrindinį kompiuterį, kad galėtumėte redaguoti, ir nurodykite serveriui naudoti htpasswd basic serverio autentifikavimas pridedant šį direktyvų bloką, kaip parodyta toliau pateiktoje ekrano kopijoje:


<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. Paskutinis veiksmas, siekiant atspindėti pakeitimus, yra iš naujo paleisti Apache serverį, išduodant toliau pateiktą komandą ir apsilankyti Coolectd-web URL puslapyje kaip aprašyta aukščiau.

Tinklalapyje turėtų pasirodyti iššokantis langas, kuriame prašoma jūsų autentifikavimo kredencialų. Norėdami pasiekti Collectd žiniatinklio sąsają, naudokite anksčiau sukurtą vartotojo vardą ir slaptažodį.


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