Monitor servera resursus ar Collectd-web un Apache CGI Linux


Šajā apmācībā tiks apspriests, kā kopā ar Apache CGI saskarni var instalēt un palaist Collectd-web interfeisu, kas ir priekšgala tīmekļa uzraudzības rīks Collectd dēmonam, lai izveidotu grafiskas html izejas, lai uzraudzītu Linux kastes.

Raksta beigās mēs arī parādīsim, kā jūs varat aizsargāt Collectd-web saskarni, izmantojot .hpasswd Apache autentifikācijas mehānismu.

Šī raksta prasība ir tāda, ka Linux sistēmā jābūt instalētām Collectd un Collectd-Web. Lai instalētu šīs paketes, jums jāveic 1. un 2. darbība no šīs sērijas iepriekšējā raksta:

  1. Linux instalējiet Collectd un Collectd-Web

Veiciet tikai divas iepriekš minētās saites darbības:

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

Kad šīs divas nepieciešamās lietas ir veiksmīgi pabeigtas, varat turpināt tālāk sniegtos norādījumus šajā rakstā, lai konfigurētu Collectd-web ar Apache CGI.

1. darbība: Apache tīmekļa servera instalēšana

1. Pieņemot, ka jau esat savā sistēmā instalējis Apache tīmekļa serveri, ja ne, varat instalēt, izmantojot šādu komandu atbilstoši savam Linux izplatījumam.

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

2. Pēc Apache instalēšanas nomainiet direktoriju uz noklusējuma tīmekļa servera dokumenta sakni (kas atrodas zem/var/www/html/vai/var/www sistēmas ceļa, un klonējiet projektu Collectd-web Github, izsniedzot šādas komandas:

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

Izveidojiet šādu komandu arī izpildāmo Collectd-web skriptu:

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

2. darbība: iespējojiet Apache CGI (.cgi skriptus) noklusējuma resursdatoram

3. Lai Apache palaistu CGI skriptus, kas atrodas noklusējuma resursdatora HTML Collectd-web cgi-bin direktorijā, jums ir skaidri jāiespējo Apache CGI interfeiss Bash skriptiem (ar paplašinājumu .cgi), mainot vietnēs pieejamo noklusējuma resursdatoru un pievienojot zemāk esošo paziņojumu bloku.

Vispirms atveriet Apache noklusējuma resursdatora konfigurācijas failu rediģēšanai ar nano redaktoru:

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

Kamēr fails ir atvērts rediģēšanai, zem dokumentu saknes direktīvas pievienojiet šādu direktīvas bloku, kā parādīts zemāk esošajā attēlā:

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

Kad esat pabeidzis faila rediģēšanu, aizveriet to ar CTRL + o un izejiet no nano redaktora (CTRL + x), pēc tam iespējojiet Apache CGI moduli un restartējiet serveri, lai lietotu visas līdz šim veiktās izmaiņas, izsniedzot tālāk norādītās komandas.

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

4. Lai iespējotu Apache CGI saskarni CentOS/RHEL, atveriet httpd.conf Apache konfigurācijas failu un faila apakšdaļā pievienojiet šādas rindas:

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

Pievienojiet šādu fragmentu failam httpd.conf.

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

Lai lietotu izmaiņas, restartējiet httpd dēmonu, izsniedzot šādu komandu:

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

3. solis: Pārlūkot Collectd-web interfeisu

5. Lai apmeklētu Collectd-web saskarni un vizualizētu līdz šim apkopoto statistiku par jūsu mašīnu, atveriet pārlūkprogrammu un, izmantojot HTTP protokolu, dodieties uz savas ierīces IP adresi/collectd-web/URI atrašanās vietu.

http://192.168.1.211/collect-web/

4. darbība: aizsargājiet paroli Collectd-web URL, izmantojot Apache autentifikāciju

6. Ja vēlaties ierobežot piekļuvi Collectd-web saskarnei, aizsargājot to, izmantojot Apache Authentication mehānismu (.htpasswd), kas prasa apmeklētājiem ievadīt lietotājvārdu un paroli, lai piekļūtu tīmekļa resursam.

Lai to izdarītu, jāinstalē pakete apache2-utils un jāizveido akreditācijas datu kopa vietējai autentifikācijai. Lai sasniegtu šo mērķi, vispirms izdodiet šādu komandu, lai instalētu paketi apache2-utils:

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

7. Pēc tam ģenerējiet lietotājvārdu un paroli, kas tiks saglabāta slēptā vietējā .htpass failā, kas atrodas zem Apache noklusējuma resursdatora Collectd-web ceļa, izsniedzot šādu komandu:

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

Mēģiniet aizsargāt šo failu, piešķirot šādas atļaujas:

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

8. Nākamajā solī pēc .htpass faila ģenerēšanas atveriet Apache noklusējuma resursdatoru rediģēšanai un norādiet serverim izmantot htpasswd pamata servera puses autentifikāciju, pievienojot šādu direktīvas bloku, kā parādīts zemāk esošajā ekrānuzņēmumā:

<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. Pēdējais solis, lai atspoguļotu izmaiņas, ir restartēt Apache serveri, izsniedzot zemāk esošo komandu un apmeklējiet Coollectd-web URL lapu, kā aprakstīts iepriekš.

Tīmekļa lapā vajadzētu parādīties uznirstošajam logam, kurā pieprasīti autentifikācijas akreditācijas dati. Izmantojiet iepriekš izveidoto lietotājvārdu un paroli, lai piekļūtu Collectd tīmekļa saskarnei.

# 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