Linux-ൽ Collectd-web, Apache CGI എന്നിവ ഉപയോഗിച്ച് സെർവർ ഉറവിടങ്ങൾ നിരീക്ഷിക്കുക


ലിനക്സ് ബോക്സുകൾ നിരീക്ഷിക്കുന്നതിനായി ഗ്രാഫിക്കൽ html ഔട്ട്പുട്ടുകൾ നിർമ്മിക്കുന്നതിനായി Apache CGI ഇന്റർഫേസുമായി സംയോജിപ്പിച്ച്, Collectd-web ഇന്റർഫേസ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും പ്രവർത്തിപ്പിക്കാമെന്നും ഈ ട്യൂട്ടോറിയൽ ചർച്ച ചെയ്യും.

ലേഖനത്തിന്റെ അവസാനം, .hpasswd അപ്പാച്ചെ പ്രാമാണീകരണ സംവിധാനം ഉപയോഗിച്ച് നിങ്ങൾക്ക് എങ്ങനെ കളക്uട്-വെബ് ഇന്റർഫേസ് പരിരക്ഷിക്കാമെന്നും ഞങ്ങൾ അവതരിപ്പിക്കും.

ഈ ലേഖനത്തിന്റെ ആവശ്യകത, നിങ്ങളുടെ Linux സിസ്റ്റത്തിൽ നിങ്ങൾ Collectd and Collectd-Web ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം എന്നതാണ്. ഈ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, ഈ സീരീസിന്റെ മുമ്പത്തെ ലേഖനത്തിൽ നിന്നുള്ള #1, #2 ഘട്ടങ്ങൾ നിങ്ങൾ പിന്തുടരേണ്ടതാണ്:

  1. Collectd and Collectd-Web Linux-ൽ ഇൻസ്റ്റാൾ ചെയ്യുക

മുകളിലുള്ള ലിങ്കിൽ നിന്ന് ഇനിപ്പറയുന്ന രണ്ട് ഘട്ടങ്ങൾ മാത്രം പിന്തുടരുക:

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

ആവശ്യമായ ഈ രണ്ട് കാര്യങ്ങൾ വിജയകരമായി പൂർത്തിയാക്കിക്കഴിഞ്ഞാൽ, Apache CGI ഉപയോഗിച്ച് Collectd-web ക്രമീകരിക്കുന്നതിന് നിങ്ങൾക്ക് ഈ ലേഖനത്തിൽ കൂടുതൽ നിർദ്ദേശങ്ങൾ തുടരാവുന്നതാണ്.

ഘട്ടം 1: അപ്പാച്ചെ വെബ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

1. നിങ്ങളുടെ സിസ്റ്റത്തിൽ നിങ്ങൾ ഇതിനകം Apache വെബ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് കരുതുക, ഇല്ലെങ്കിൽ നിങ്ങളുടെ Linux വിതരണത്തിനനുസരിച്ച് താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇൻസ്റ്റാൾ ചെയ്യാം.

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

2. അപ്പാച്ചെ ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, ഡയറക്uടറി നിങ്ങളുടെ സ്ഥിരസ്ഥിതി വെബ് സെർവർ ഡോക്യുമെന്റ് റൂട്ടിലേക്ക് മാറ്റുക (അത് /var/www/html/ അല്ലെങ്കിൽ /var/www സിസ്റ്റം പാത്തിന് കീഴിൽ സ്ഥിതിചെയ്യുന്നു കൂടാതെ താഴെ പറയുന്ന കമാൻഡുകൾ നൽകി Collectd-web Github പ്രോജക്റ്റ് ക്ലോൺ ചെയ്യുക:

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

കൂടാതെ, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി ഇനിപ്പറയുന്ന Collectd-web സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കുക:

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

ഘട്ടം 2: ഡിഫോൾട്ട് ഹോസ്റ്റിനായി Apache CGI (.cgi സ്ക്രിപ്റ്റുകൾ) പ്രവർത്തനക്ഷമമാക്കുക

3. ഡിഫോൾട്ട് ഹോസ്റ്റായ HTML Collectd-web cgi-bin ഡയറക്uടറിക്ക് കീഴിലുള്ള CGI സ്uക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന്, സൈറ്റുകൾ-ലഭ്യമായ സ്ഥിരസ്ഥിതി ഹോസ്റ്റ് മാറ്റിക്കൊണ്ട് നിങ്ങൾ ബാഷ് സ്uക്രിപ്റ്റുകൾക്കായി (.cgi വിപുലീകരണത്തോടുകൂടിയ) Apache CGI ഇന്റർഫേസ് വ്യക്തമായി പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്. കൂടാതെ താഴെയുള്ള പ്രസ്താവനകൾ ബ്ലോക്ക് ചേർക്കുന്നു.

നാനോ എഡിറ്റർ ഉപയോഗിച്ച് എഡിറ്റുചെയ്യുന്നതിനായി ആദ്യം അപ്പാച്ചെ ഡിഫോൾട്ട് ഹോസ്റ്റ് കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക:

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

എഡിറ്റ് ചെയ്യുന്നതിനായി ഫയൽ തുറക്കുമ്പോൾ, താഴെ കൊടുത്തിരിക്കുന്ന ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഡോക്യുമെന്റ് റൂട്ട് ഡയറക്റ്റീവിന് താഴെ താഴെ പറയുന്ന ഡയറക്റ്റീവ് ബ്ലോക്ക് ചേർക്കുക:

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

നിങ്ങൾ ഫയൽ എഡിറ്റുചെയ്യുന്നത് പൂർത്തിയാക്കിയ ശേഷം, CTRL + o ഉപയോഗിച്ച് അത് അടച്ച് നാനോ എഡിറ്ററിൽ നിന്ന് പുറത്തുകടക്കുക (CTRL+x), തുടർന്ന് Apache CGI മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കി സെർവർ പുനരാരംഭിച്ച് ചുവടെയുള്ള കമാൻഡുകൾ നൽകി ഇതുവരെ വരുത്തിയ എല്ലാ മാറ്റങ്ങളും പ്രയോഗിക്കുന്നതിന്:

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

4. CentOS/RHEL-നായി Apache CGI ഇന്റർഫേസ് പ്രവർത്തനക്ഷമമാക്കാൻ, httpd.conf അപ്പാച്ചെ കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് ഫയലിന്റെ ചുവടെ ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക:

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

httpd.conf ഫയലിലേക്ക് ഇനിപ്പറയുന്ന ഉദ്ധരണി ചേർക്കുക.

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

മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി httpd ഡെമൺ പുനരാരംഭിക്കുക:

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

ഘട്ടം 3: ശേഖരിച്ച വെബ് ഇന്റർഫേസ് ബ്രൗസ് ചെയ്യുക

5. Collectd-web interface സന്ദർശിക്കുന്നതിനും ഇതുവരെ ശേഖരിച്ച നിങ്ങളുടെ മെഷീന്റെ സ്ഥിതിവിവരക്കണക്കുകൾ ദൃശ്യവൽക്കരിക്കുന്നതിനും, ഒരു ബ്രൗസർ തുറന്ന് HTTP പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് നിങ്ങളുടെ മെഷീൻ IP വിലാസം/ശേഖരിച്ച-വെബ്/ URI ലൊക്കേഷനിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.

http://192.168.1.211/collect-web/

ഘട്ടം 4: അപ്പാച്ചെ പ്രാമാണീകരണം ഉപയോഗിച്ച് ശേഖരിച്ച വെബ് യുആർഎൽ പാസ്uവേഡ് പരിരക്ഷിക്കുക

6. അപ്പാച്ചെ ഓതന്റിക്കേഷൻ മെക്കാനിസം (.htpasswd) ഉപയോഗിച്ച് Collectd-web ഇന്റർഫേസിലേക്കുള്ള ആക്uസസ് പരിമിതപ്പെടുത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഒരു വെബ് റിസോഴ്uസ് ആക്uസസ് ചെയ്യുന്നതിന് സന്ദർശകർ ഒരു ഉപയോക്തൃനാമവും പാസ്uവേഡും നൽകേണ്ടതുണ്ട്.

അങ്ങനെ ചെയ്യുന്നതിന്, നിങ്ങൾ apache2-utils പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുകയും പ്രാദേശിക പ്രാമാണീകരണത്തിനായി ഒരു കൂട്ടം ക്രെഡൻഷ്യലുകൾ സൃഷ്ടിക്കുകയും വേണം. ഈ ലക്ഷ്യം നേടുന്നതിന്, ആദ്യം apache2-utils പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക:

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

7. അടുത്തതായി, താഴെ പറയുന്ന കമാൻഡ് നൽകി Apache default host Collectd-web path-ന് കീഴിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു മറഞ്ഞിരിക്കുന്ന ലോക്കൽ .htpass ഫയലിൽ സംഭരിക്കുന്ന ഒരു ഉപയോക്തൃനാമവും പാസ്uവേഡും സൃഷ്ടിക്കുക:

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

ഇനിപ്പറയുന്ന അനുമതികൾ നൽകി ഈ ഫയൽ പരിരക്ഷിക്കാൻ ശ്രമിക്കുക:

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

8. അടുത്ത ഘട്ടത്തിൽ, നിങ്ങൾ .htpass ഫയൽ സൃഷ്ടിച്ച ശേഷം, എഡിറ്റ് ചെയ്യുന്നതിനായി Apache default ഹോസ്റ്റ് തുറന്ന് താഴെയുള്ള സ്ക്രീൻഷോട്ടിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലെ ഇനിപ്പറയുന്ന ഡയറക്റ്റീവ് ബ്ലോക്ക് ചേർത്ത് htpasswd അടിസ്ഥാന സെർവർ സൈഡ് പ്രാമാണീകരണം ഉപയോഗിക്കാൻ സെർവറിനോട് നിർദ്ദേശിക്കുക:

<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. മാറ്റങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നതിനുള്ള അവസാന ഘട്ടം ചുവടെയുള്ള കമാൻഡ് നൽകി അപ്പാച്ചെ സെർവർ പുനരാരംഭിക്കുകയും മുകളിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ Coollectd-web URL പേജ് സന്ദർശിക്കുകയും ചെയ്യുക എന്നതാണ്.

നിങ്ങളുടെ പ്രാമാണീകരണ ക്രെഡൻഷ്യലുകൾക്കായി അഭ്യർത്ഥിക്കുന്ന ഒരു പോപ്പ്-അപ്പ് വെബ് പേജിൽ ദൃശ്യമാകും. ശേഖരിച്ച വെബ് ഇന്റർഫേസ് ആക്uസസ് ചെയ്യുന്നതിന് മുമ്പ് സൃഷ്uടിച്ച ഉപയോക്തൃനാമവും പാസ്uവേഡും ഉപയോഗിക്കുക.

# 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