RHEL/CentOS 7/6-ൽ Log.io ടൂൾ ഉപയോഗിച്ച് സെർവർ ലോഗുകൾ തത്സമയം നിരീക്ഷിക്കുക


ലിനക്സ് സെർവറുകൾ ലോഗ് നിരീക്ഷിക്കാൻ അനുവദിക്കുന്ന Node.js, Socket.io എന്നിവയ്ക്ക് മുകളിലുള്ള ലളിതവും എന്നാൽ ഫലപ്രദവുമായ ഒരു ചെറിയ ആപ്ലിക്കേഷനാണ് Log.io വെബ് ഇന്റർഫേസ് സ്uക്രീൻ വിജറ്റുകൾ വഴി തത്സമയം ഫയലുകൾ.

Log.io കോൺഫിഗർ ചെയ്തുകൊണ്ട് RHEL/CentOS 7/6.x-ൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന Log.io ഉപയോഗിച്ച് നിങ്ങൾക്ക് എങ്ങനെ പ്രാദേശിക ലോഗ് ഫയലുകൾ തത്സമയം ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും നിരീക്ഷിക്കാമെന്നും ഈ ട്യൂട്ടോറിയൽ നിങ്ങളെ നയിക്കും. b> ലോഗ് ഫയലുകളിലെ ഏതെങ്കിലും പ്രാദേശിക മാറ്റങ്ങൾ നിരീക്ഷിക്കാൻ ഹാർവെസ്റ്റർ ഫയൽ.

ഘട്ടം 1: എപൽ ശേഖരണങ്ങൾ ചേർക്കുക

1. CentOS Epel റിപ്പോസിറ്ററികൾ Node.js, NPM - നോഡ് പാക്കേജുചെയ്ത മൊഡ്യൂളുകൾ എന്നിവയ്ക്കുള്ള ബൈനറി പാക്കേജുകൾ നൽകുന്നു. താഴെ പറയുന്ന കമാൻഡ് നൽകി Epel repositories ഇൻസ്റ്റാൾ ചെയ്യുക.

# yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
--------------------- On RHEL/CentOS 6.x - 32 Bit ---------------------
# yum install http://fedora.mirrors.telekom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm

--------------------- On RHEL/CentOS 6.x - 64 Bit ---------------------
# yum install http://fedora.mirrors.telekom.ro/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2. നിങ്ങളുടെ സിസ്റ്റത്തിൽ Epel Repos ചേർത്ത ശേഷം, താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് ഒരു സിസ്റ്റം അപ്ഗ്രേഡ് ചെയ്യുക.

# yum update

ഘട്ടം 2: Node.js, NPM പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക

3. Node.js എന്നത് ഒരു Javascript സെർവർ-സൈഡ് പ്രോഗ്രാമിംഗ് പ്ലാറ്റ്uഫോമാണ്, അത് ബാക്കെൻഡ് പ്രവർത്തനക്ഷമതയുള്ള നെറ്റ്uവർക്ക് ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. NPM (നോഡ് പാക്കേജ് മാനേജർ) ആണ് Node.js-ന്റെ പാക്കേജ് മാനേജർ. അതിനാൽ, അടുത്ത ഘട്ടത്തിൽ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകി YUM പാക്കേജ് മാനേജർ വഴി നിങ്ങളുടെ സിസ്റ്റത്തിൽ Node.js, NMP ബൈനറികൾ എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യുക.

# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash - 
# yum install -y nodejs

ഘട്ടം 3: Log.io ആപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്ത് കോൺഫിഗർ ചെയ്യുക

4. Log.io ആപ്ലിക്കേഷൻ സാധുവായ ഒരു പ്രാദേശിക സിസ്റ്റം ഉപയോക്താവിനെ വ്യക്തമാക്കി NPM വഴി നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്യണം, അതിലൂടെയാണ് ഇൻസ്റ്റലേഷൻ നടക്കേണ്ടത്. Log.io ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങൾക്ക് ഏതെങ്കിലും സാധുവായ സിസ്റ്റം ഉപയോക്താവിനെ ഉപയോഗിക്കാമെങ്കിലും, root ഉപയോക്താവ് അല്ലെങ്കിൽ റൂട്ട് പ്രത്യേകാവകാശങ്ങളുള്ള മറ്റ് സിസ്റ്റം ഉപയോക്താവ് വഴി ആപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്യാൻ ഞാൻ വ്യക്തിപരമായി ശുപാർശ ചെയ്യുന്നു.

ഈ സമീപനം ഉപയോഗിക്കുന്നതിനുള്ള കാരണം, Log.io-ന് പ്രാദേശികമായി ലോഗ് ഫയലുകൾ വായിക്കാനുള്ള ആക്uസസ് ഉണ്ടായിരിക്കണം, കൂടാതെ പ്രത്യേകാവകാശങ്ങളില്ലാത്ത റൂട്ട് പ്രത്യേകാവകാശങ്ങളുള്ള ഒരു ഉപയോക്താവിന് സാധാരണയായി ചില പ്രധാനപ്പെട്ട ലോഗ് ഫയലുകൾ ആക്uസസ് ചെയ്യാനും വായിക്കാനും കഴിയില്ല.

അതിനാൽ, റൂട്ട് അക്കൗണ്ട് ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി റൂട്ട് അക്കൗണ്ട് വഴി Log.io ആപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്യുക (നിങ്ങൾ മറ്റൊരു ഉപയോക്താവ് ഉപയോഗിക്കുകയാണെങ്കിൽ, അതിനനുസരിച്ച് നിങ്ങളുടെ സിസ്റ്റം ഉപയോക്താവിനെ ഉപയോഗിച്ച് റൂട്ട് അക്കൗണ്ട് മാറ്റിസ്ഥാപിക്കുക).

# npm install -g log.io --user “root”

5. ആപ്ലിക്കേഷൻ ഇൻസ്uറ്റാൾ ചെയ്uത ശേഷം, നിങ്ങളുടെ വർക്കിംഗ് ഡയറക്uടറി മറഞ്ഞിരിക്കുന്ന Log.io ഫോൾഡറിലേക്ക് മാറ്റുക, കൂടാതെ ആപ്ലിക്കേഷൻ കൂടുതൽ കോൺഫിഗർ ചെയ്യുന്നതിനായി ഫോൾഡർ ഉള്ളടക്കം ദൃശ്യവൽക്കരിക്കാൻ ഒരു ഡയറക്uടറി ലിസ്uറ്റിംഗ് നടത്തുക.

# pwd  		[Make sure you are on the right path]
# cd .log.io/
# ls

6. ലോക്കൽ ലോഗ് ഫയലുകൾ തത്സമയം നിരീക്ഷിക്കാൻ Log.io കോൺഫിഗർ ചെയ്യേണ്ട സമയമാണിത്. Log.io എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിനെക്കുറിച്ച് നമുക്ക് ഒരു ഉൾവശം നോക്കാം.

  1. ഹാർവെസ്റ്റർ ഫയൽ അതിന്റെ കോൺഫിഗറേഷനിൽ പ്രഖ്യാപിച്ചിരിക്കുന്ന നിർദ്ദിഷ്uട ലോക്കൽ ലോഗ് ഫയലുകളിലെ മാറ്റങ്ങൾ നിരീക്ഷിക്കുകയും socket.io TCP വഴി അതിന്റെ ഔട്ട്uപുട്ട് അയയ്uക്കുകയും ചെയ്യുന്നു
    Log.io ലോക്കൽ സെർവറിലേക്കോ അതിന്റെ IP വിലാസം പ്രഖ്യാപിച്ച മറ്റേതെങ്കിലും റിമോട്ട് സെർവറിലേക്കോ സന്ദേശങ്ങൾ അയയ്uക്കുന്ന പ്രോട്ടോക്കോൾ (കൊയ്uത്തുകാരിൽ വ്യക്തമാക്കിയ 0.0.0.0 വിലാസം എല്ലാ log.io ലിസണിംഗ് സെർവറുകളിലേക്കും പ്രക്ഷേപണം ചെയ്യുന്നു) - ഫയൽ harvester.conf
  2. Log.io സെർവർ എല്ലാ നെറ്റ്uവർക്ക് ഇന്റർഫേസുകളിലും ബൈൻഡ് ചെയ്യുന്നു (log_server.conf ഫയലിൽ വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ) കൂടാതെ ലോക്കൽ അല്ലെങ്കിൽ റിമോട്ട് ഹാർവെസ്റ്റർ നോഡുകളിൽ നിന്നുള്ള സന്ദേശങ്ങൾക്കായി കാത്തിരിക്കുകയും അവയുടെ ഔട്ട്uപുട്ട് log.io വെബ് സെർവറിലേക്ക് അയക്കുകയും ചെയ്യുന്നു (0.0.0.0 എന്നാണ് അർത്ഥമാക്കുന്നത്. ഏതെങ്കിലും പ്രാദേശിക അല്ലെങ്കിൽ റിമോട്ട് കൊയ്ത്തുകാരിൽ നിന്നുള്ള സന്ദേശങ്ങൾക്കായി കാത്തിരിക്കുന്നു) ഫയൽ log_server.conf
  3. Log.io വെബ് സെർവർ എല്ലാ നെറ്റ്uവർക്ക് ഇന്റർഫേസുകളിലും ബന്ധിപ്പിക്കുന്നു, പോർട്ട് 28778-ലെ വെബ് ക്ലയന്റ് കണക്ഷനുകൾ ശ്രദ്ധിക്കുകയും log.io സെർവറിൽ നിന്ന് ആന്തരികമായി സ്വീകരിക്കുന്ന സന്ദേശങ്ങൾ പ്രോസസ്സ് ചെയ്യുകയും ഔട്ട്uപുട്ട് ചെയ്യുകയും ചെയ്യുന്നു - ഫയൽ web_server.conf< /ലി>

എഡിറ്റിംഗിനായി ആദ്യം harvester.conf ഫയൽ തുറക്കുക, അത് സ്ഥിരസ്ഥിതിയായി Apache ലോഗ് ഫയലുകൾ മാത്രം നിരീക്ഷിക്കുകയും നിങ്ങളുടെ ഹോസ്റ്റ്നാമവുമായി പൊരുത്തപ്പെടുന്നതിനും logStreams നിർവചിക്കുന്നതിനും nodeName പ്രസ്താവന മാറ്റിസ്ഥാപിക്കുക. > നിങ്ങൾ നിരീക്ഷിക്കാൻ ആഗ്രഹിക്കുന്ന ആന്തരിക ലോഗ് ഫയലുകളുള്ള പ്രസ്താവനകൾ (ഈ സാഹചര്യത്തിൽ ഓഡിറ്റ്, സന്ദേശങ്ങൾ, സുരക്ഷിത ലോഗുകൾ എന്നിവ പോലെയുള്ള ഒന്നിലധികം ലോഗ് ഫയലുകൾ ഞാൻ നിരീക്ഷിക്കുകയാണ്). ചുവടെയുള്ള ഫയൽ ഉദ്ധരണി ഒരു ഗൈഡായി ഉപയോഗിക്കുക.

# nano harvester.conf

ഹാർവെസ്റ്റർ ഫയൽ ഉദ്ധരണി.

exports.config = {
  nodeName: "pxe-server",
  logStreams: {

audit: [
      "/var/log/audit/audit.log"
    ],

messages: [
      "/var/log/messages"
    ],

secure: [
      "/var/log/secure"
    ]

},
  server: {
    host: '0.0.0.0',
    port: 28777
  }
}

വിദൂര Log.io സെർവറിലേക്ക് നിങ്ങൾക്ക് ഹാർവെസ്റ്റർ ഔട്ട്uപുട്ട് അയയ്uക്കേണ്ട ആവശ്യമില്ലെങ്കിൽ, സെർവർ സ്റ്റേറ്റ്uമെന്റിലെ host എന്ന ലൈൻ മാറ്റുക ലൂപ്പ്ബാക്ക് വിലാസം (127.0.0.1) ഉപയോഗിച്ച് 0.0.0.0 വിലാസം പരിഷ്ക്കരിച്ച് പ്രാദേശികമായി അതിന്റെ ഔട്ട്പുട്ട്.

7. സുരക്ഷാ കാരണങ്ങളാൽ, നിങ്ങളുടെ പ്രാദേശിക Log.io സെർവറിലേക്ക് റിമോട്ട് ഹാർവെസ്റ്ററുകൾ ഔട്ട്uപുട്ട് പ്രതീക്ഷിക്കുന്നില്ലെങ്കിൽ log_server.conf ഫയൽ തുറന്ന് 0.0.0.0 മാറ്റിസ്ഥാപിക്കുക ലൂപ്പ്ബാക്ക് വിലാസമുള്ള b> വിലാസം (127.0.0.1).

# nano log_server.conf

8. ക്രെഡൻഷ്യൽ ലോഗിൻ, HTTPS അല്ലെങ്കിൽ Log.io വെബ് സെർവറിലേക്കുള്ള IP-കളെ അടിസ്ഥാനമാക്കിയുള്ള നിയന്ത്രണം എന്നിവ പോലുള്ള മറ്റ് സുരക്ഷാ ഫീച്ചറുകൾ വെബ് സെർവറിൽ പ്രയോഗിക്കാവുന്നതാണ്. ഈ ട്യൂട്ടോറിയലിനായി ഞാൻ ഒരു സുരക്ഷാ നടപടിയായി ക്രെഡൻഷ്യൽ ലോഗിൻ മാത്രമേ ഉപയോഗിക്കൂ.

അതിനാൽ, web_server.conf ഫയൽ തുറക്കുക, എല്ലാ സ്ലാഷുകളും നക്ഷത്രചിഹ്നങ്ങളും ഇല്ലാതാക്കി മുഴുവൻ auth പ്രസ്താവനയും അൺകമന്റ് ചെയ്യുക, കൂടാതെ user, pass എന്നിവ മാറ്റിസ്ഥാപിക്കുക b> താഴെയുള്ള സ്ക്രീൻഷോട്ടിൽ നിർദ്ദേശിച്ചിരിക്കുന്ന പ്രകാരം നിർദ്ദേശങ്ങൾ.

# nano web_server.conf

ഘട്ടം 4: ഫയർവാൾ റൂൾ ചേർത്ത് Log.io ആപ്ലിക്കേഷൻ ആരംഭിക്കുക

9. Log.io സെർവറിലേക്ക് വെബ് ആക്സസ് നേടുന്നതിന്, TCP 28778 തുറക്കുന്നതിന് RHEL/CentOS 7 ഫയർവാളിൽ ഒരു നിയമം ചേർക്കുക ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി പോർട്ട് ചെയ്യുക.

# firewall-cmd --add-port=28778/tcp --permanent
# firewall-cmd --reload

ശ്രദ്ധിക്കുക: RHEL/CentOS 6.x ഉപയോക്താക്കൾക്ക് iptable ഫയർവാളിൽ 28778 പോർട്ട് തുറക്കാൻ കഴിയും.

ഘട്ടം 5: Log.io ആപ്ലിക്കേഷൻ ആരംഭിച്ച് വെബ് ഇന്റർഫേസ് നൽകുക

10. Log.io ആരംഭിക്കുന്നതിന് ലോഗ് മോണിറ്ററിംഗ് ആപ്ലിക്കേഷൻ നിങ്ങളുടെ നിലവിലെ വർക്കിംഗ് ഡയറക്uടറി റൂട്ടിന്റെ ഹോം .log.io ആണെന്ന് ഉറപ്പ് വരുത്തുകയും ആരംഭിക്കുന്നതിന് ഇനിപ്പറയുന്ന ക്രമത്തിൽ ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കുക അപേക്ഷ.

------------ First start server, put it in background and press Enter key ------------
# log.io-server & 

------------ Start log harvester in background ------------
# log.io-harvester & 

11. സെർവർ ആരംഭിച്ചതിന് ശേഷം ഒരു ബ്രൗസർ തുറക്കുക, URL വിലാസത്തിൽ HTTP പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് നിങ്ങളുടെ സെർവറുകളുടെ IP-യെ തുടർന്ന് 28778 പോർട്ട് നമ്പർ നൽകുക, നിങ്ങളുടെ ലോഗിൻ ക്രെഡൻഷ്യലുകൾ ആവശ്യപ്പെടുന്ന ഒരു പ്രോംപ്റ്റ് ദൃശ്യമാകും.

കൂടുതൽ മുന്നോട്ട് പോകുന്നതിന് ഘട്ടം 8-ൽ കോൺഫിഗർ ചെയ്uതിരിക്കുന്ന നിങ്ങളുടെ ഉപയോക്തൃ പാസ്uവേഡും പാസ്uവേഡും നൽകുക, Log.io ആപ്ലിക്കേഷൻ ഇപ്പോൾ നിങ്ങളുടെ ബ്രൗസറിൽ ദൃശ്യമാകുകയും നിരീക്ഷിക്കപ്പെടുന്ന ലോഗ് ഫയലുകൾ തത്സമയം അവതരിപ്പിക്കുകയും ചെയ്യും.

http://192.168.1.20:28778

വെബ് ഇന്റർഫേസിൽ പുതിയ സ്uക്രീനുകൾ ചേർക്കുകയും അതനുസരിച്ച് നിങ്ങളുടെ സ്ട്രീമുകളോ നോഡുകളോ ക്രമീകരിക്കുകയും ചെയ്യുക.

12. Log.io ആപ്ലിക്കേഷൻ നിർത്താൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# pkill node

ഘട്ടം 6: Log.io സ്ക്രിപ്റ്റ് മാനേജ് ചെയ്യുക

13. മൂന്ന് സ്വിച്ചുകളുള്ള Log.io ആപ്ലിക്കേഷൻ നിയന്ത്രിക്കുന്ന ഒരു കമാൻഡ് ഉപയോഗിക്കുന്നതിന് ( ആരംഭിക്കുക, സ്റ്റോപ്പ്, സ്റ്റാറ്റസ്) /usr/local/bin എക്സിക്യൂട്ടബിൾ ഡയറക്uടറിയിൽ log.io എന്ന പേരിൽ ഇനിപ്പറയുന്ന സ്uക്രിപ്റ്റ് സൃഷ്uടിക്കുകയും ഈ സ്uക്രിപ്റ്റിലേക്ക് എക്uസിക്യൂഷൻ അനുമതികൾ ചേർക്കുകയും ചെയ്യുക.

# nano /usr/local/bin/log.io
# chmod +x /usr/local/bin/log.io

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

#!/bin/bash

                start() {
                echo "Starting log.io process..."
                /usr/bin/log.io-server &
                /usr/bin/log.io-harvester &
                                         }

                stop() {
                echo "Stopping io-log process..."
                pkill node
                                         }                             

                status() {
                echo "Status io-log process..."
                netstat -tlp | grep node
                                         }

case "$1" in
                start)
start
        ;;
                stop)
stop
        ;;
                status)
status
                ;;
                *)
echo "Usage: start|stop|status"
        ;;
Esac

14. റൂട്ട് അക്കൗണ്ട് (അല്ലെങ്കിൽ Log.io ആപ്പ് ഇൻസ്uറ്റാൾ ചെയ്uത ഉപയോക്താവ്) ഉപയോഗിച്ച് Log.io സ്റ്റാറ്റസ് ലോഗിൻ ആരംഭിക്കുന്നതിനും നിർത്തുന്നതിനും അല്ലെങ്കിൽ കാണുന്നതിനും അപ്ലിക്കേഷൻ എളുപ്പത്തിൽ നിയന്ത്രിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക.

# log.io start
# log.io status
# log.io stop

അത്രയേയുള്ളൂ! എന്റെ അഭിപ്രായത്തിൽ Log.io എന്നത് ലോക്കൽ അല്ലെങ്കിൽ റിമോട്ട് സെർവറുകളുടെ ലോഗ് ഫയലുകൾ തത്സമയം നിരീക്ഷിക്കുന്നതിനും സിസ്റ്റങ്ങളിൽ ആന്തരികമായി നടക്കുന്ന കാര്യങ്ങളെക്കുറിച്ചുള്ള ഒരു വീക്ഷണം നേടുന്നതിനും പ്രത്യേകിച്ച് സെർവർ പ്രശ്നങ്ങൾ ഡീബഗ് ചെയ്യുന്നതിനുമുള്ള മികച്ചതും ഫലപ്രദവുമായ ഒരു വെബ് ആപ്ലിക്കേഷനാണ്. ഒരു കൺസോൾ ഉപയോഗിക്കാതെ തന്നെ സിസ്റ്റങ്ങൾ പ്രതികരിക്കുന്നില്ല അല്ലെങ്കിൽ ക്രാഷായി മാറുന്നു.