Linux-ൽ Collectd-web, Apache CGI എന്നിവ ഉപയോഗിച്ച് സെർവർ ഉറവിടങ്ങൾ നിരീക്ഷിക്കുക
ലിനക്സ് ബോക്സുകൾ നിരീക്ഷിക്കുന്നതിനായി ഗ്രാഫിക്കൽ html ഔട്ട്പുട്ടുകൾ നിർമ്മിക്കുന്നതിനായി Apache CGI ഇന്റർഫേസുമായി സംയോജിപ്പിച്ച്, Collectd-web ഇന്റർഫേസ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും പ്രവർത്തിപ്പിക്കാമെന്നും ഈ ട്യൂട്ടോറിയൽ ചർച്ച ചെയ്യും.
ലേഖനത്തിന്റെ അവസാനം, .hpasswd അപ്പാച്ചെ പ്രാമാണീകരണ സംവിധാനം ഉപയോഗിച്ച് നിങ്ങൾക്ക് എങ്ങനെ കളക്uട്-വെബ് ഇന്റർഫേസ് പരിരക്ഷിക്കാമെന്നും ഞങ്ങൾ അവതരിപ്പിക്കും.
ഈ ലേഖനത്തിന്റെ ആവശ്യകത, നിങ്ങളുടെ Linux സിസ്റ്റത്തിൽ നിങ്ങൾ Collectd and Collectd-Web ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം എന്നതാണ്. ഈ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, ഈ സീരീസിന്റെ മുമ്പത്തെ ലേഖനത്തിൽ നിന്നുള്ള #1, #2 ഘട്ടങ്ങൾ നിങ്ങൾ പിന്തുടരേണ്ടതാണ്:
- 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