Pag-monitor sa Mga Kapanguhaan sa Server nga adunay Collectd-web ug Apache CGI sa Linux


Kini nga panudlo maghisgot kung unsaon nimo pag-install ug pagdagan ang Collectd-web interface, nga usa ka front-end nga web monitoring tool para sa Collectd daemon, inubanan sa Apache CGI interface aron makahimo og mga graphical html nga mga output aron mamonitor ang mga kahon sa Linux.

Sa katapusan sa artikulo among ipresentar usab kung giunsa nimo pagpanalipod ang Collectd-web interface gamit ang .hpasswd Apache Authentication nga mekanismo.

Ang kinahanglanon sa kini nga artikulo mao, kinahanglan nimo nga na-install ang Collectd ug Collectd-Web sa imong sistema sa Linux. Aron ma-install kini nga mga pakete, kinahanglan nimong sundon ang Mga Lakang #1 ug #2 gikan sa miaging artikulo niini nga serye sa:

  1. I-install ang Collectd ug Collectd-Web sa Linux

Sunda lang ang mosunod nga duha ka lakang gikan sa link sa ibabaw:

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

Kung makompleto na kining duha ka gikinahanglan nga mga butang, mahimo nimong ipadayon ang dugang nga mga instruksyon niini nga artikulo aron ma-configure ang Collectd-web gamit ang Apache CGI.

Lakang 1: Pag-instalar sa Apache Web Server

1. Sa paghunahuna nga na-install na nimo ang Apache web server sa imong sistema, kung dili mahimo nimo i-install gamit ang mosunod nga mando sumala sa imong distribusyon sa Linux.

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

2. Human ma-install ang Apache, usba ang direktoryo sa imong default nga web server document root (nga nahimutang ubos sa /var/www/html/ o /var/www system path ug i-clone ang Collectd-web Github project pinaagi sa pag-isyu sa ubos nga mga sugo:

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

Usab, himoa ang mosunod nga Collectd-web script nga ma-executable pinaagi sa pag-isyu sa mosunod nga sugo:

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

Lakang 2: I-enable ang Apache CGI (.cgi scripts) para sa Default Host

3. Aron mapadagan sa Apache ang CGI scripts nga nahimutang ubos sa default host HTML Collectd-web cgi-bin directory, kinahanglan nimo nga dayag nga palihokon ang Apache CGI interface alang sa Bash scripts (uban ang .cgi extension) pinaagi sa pag-usab sa mga site-available default host ug pagdugang sa ubos nga mga pahayag block.

Una ablihi ang Apache default host configuration file alang sa pag-edit gamit ang nano editor:

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

Samtang ang file giablihan alang sa pag-edit idugang ang mosunod nga direktiba block sa ubos sa Document Root nga direktiba sama sa gihulagway sa ubos nga hulagway:

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

Human nimo mahuman ang pag-edit sa file, isira kini gamit ang CTRL + o ug exit sa nano editor (CTRL + x), unya i-enable ang Apache CGI module ug i-restart ang server aron ma-apply ang tanan nga mga pagbag-o nga gihimo hangtod karon pinaagi sa pag-isyu sa mga sugo sa ubos:

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

4. Aron mahimo ang interface sa Apache CGI alang sa CentOS/RHEL, ablihi ang httpd.conf Apache configuration file ug idugang ang mosunod nga mga linya sa ubos sa file:

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

Idugang ang mosunod nga kinutlo sa httpd.conf file.

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

Aron magamit ang mga pagbag-o, i-restart ang httpd daemon pinaagi sa pag-isyu sa mosunod nga sugo:

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

Lakang 3: Pag-browse sa Collectd-web Interface

5. Aron makabisita sa Collectd-web interface ug mahanduraw ang estadistika bahin sa imong makina nga nakolekta hangtod karon, ablihi ang browser ug navigate sa imong makina IP Address/collectd-web/ URI nga lokasyon gamit ang HTTP protocol.

http://192.168.1.211/collect-web/

Lakang 4: Password Protect Collectd-web URL gamit ang Apache Authentication

6. Kung gusto nimo limitahan ang pag-access sa Collectd-web interface pinaagi sa pagpanalipod niini gamit ang mekanismo sa Apache Authentication (.htpasswd), nga nagkinahanglan sa mga bisita nga mosulod ug username ug password aron maka-access sa web resource.

Aron mahimo kini, kinahanglan nimo nga i-install ang apache2-utils nga pakete ug maghimo usa ka hugpong sa mga kredensyal alang sa lokal nga pag-authenticate. Aron makab-ot kini nga tumong, una nga i-isyu ang mosunod nga sugo sa pag-instalar sa apache2-utils nga pakete:

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

7. Sunod, paghimo ug username ug password nga tipigan sa tinago nga lokal nga .htpass file nga nahimutang ubos sa Apache default host Collectd-web path pinaagi sa pag-isyu sa ubos nga sugo:

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

Sulayi nga panalipdan kini nga file pinaagi sa pag-assign sa mosunod nga mga permiso:

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

8. Sa sunod nga lakang, human nimo mamugna ang .htpass file, ablihi ang Apache default host para sa pag-edit ug tudloi ang server sa paggamit sa htpasswd basic server-side authentication pinaagi sa pagdugang sa mosunod nga direktiba block sama sa gihulagway sa ubos nga screenshot:

<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. Ang katapusang lakang aron mapakita ang mga pagbag-o mao ang pagsugod pag-usab sa Apache server pinaagi sa pag-isyu sa ubos nga sugo ug bisitaha ang Coollectd-web URL nga panid sama sa gihulagway sa ibabaw.

Ang usa ka pop-up kinahanglan nga makita sa web page nga nangayo alang sa imong mga kredensyal sa pag-authenticate. Gamita ang username ug password nga gihimo sa sayo pa aron ma-access ang 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