നിങ്ങളുടെ സെർവറിന്റെ പ്രകടനത്തിൽ എന്തെങ്കിലും പ്രശ്നങ്ങൾ നേരിടുമ്പോൾ, നിങ്ങൾ ആദ്യം ചെയ്യേണ്ടത് നിങ്ങളുടെ ലിനക്സ് ലോഗുകൾ പരിശോധിക്കുക എന്നതാണ് . സിസ്റ്റം ലോഗിൽ, കേർണൽ അല്ലെങ്കിൽ വിവിധ സേവനങ്ങൾ പോലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ വിവിധ ഘടകങ്ങളിൽ നിന്നുള്ള ചില സഹായകരമായ ഡയഗ്നോസ്റ്റിക്സ് സന്ദേശങ്ങൾ നിങ്ങൾക്ക് കണ്ടെത്താൻ കഴിയും, അതിനാൽ പരാജയത്തിന്റെ കാരണം നിങ്ങൾക്ക് അവിടെ കണ്ടെത്താനാകും.
ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലെ ചില ഇവന്റുകളുടെ ഫലമായാണ് ലോഗിലെ ഓരോ സന്ദേശവും ജനറേറ്റ് ചെയ്യുന്നത്: ഉപയോക്താവ്, അംഗീകാരം മുതൽ സർവീസ് ഷട്ട്ഡൗൺ അല്ലെങ്കിൽ ആപ്ലിക്കേഷൻ പരാജയം വരെ. ഈ ഇവന്റുകൾ എത്രത്തോളം നിർണായകമാണ് എന്നതിനെ ആശ്രയിച്ച് അവയ്ക്ക് വ്യത്യസ്ത മുൻഗണനകളുണ്ട്. ലിനക്സിൽ ഇനിപ്പറയുന്ന തരത്തിലുള്ള ഇവന്റുകൾ ഉണ്ട്:
emerg- പരാജയം, ഉയർന്ന മുൻഗണന;alert- അടിയന്തര മുന്നറിയിപ്പ്;crit- നിർണായക സംഭവം;err- സാധാരണ പിശക്;warn- സാധാരണ മുന്നറിയിപ്പ്;notice- അറിയിപ്പ്;info- വിവര സന്ദേശം;debug- ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ;
ഇപ്പോൾ, ലിനക്സിലെ പ്രധാന ലോഗുകൾ ശേഖരിക്കുന്ന സേവനങ്ങൾ rsyslog ഉം systemd-journald ഉം ആണ് . മിക്ക ആധുനിക വിതരണ പാക്കേജുകളുമായും ഇവ യോജിക്കുകയും സ്വതന്ത്രമായി പ്രവർത്തിക്കുകയും ചെയ്യുന്നു.
rsyslog
ഈ സേവനത്തിന്റെ ലോഗുകൾ സാധാരണ ടെക്സ്റ്റ് ഫയലുകളുടെ രൂപത്തിലാണ് “ /var/log/ ” ഫോൾഡറിൽ സ്ഥിതി ചെയ്യുന്നത്. ഇവന്റിന്റെ തരം അനുസരിച്ച് ലോഗ് സന്ദേശങ്ങൾ വ്യത്യസ്ത ഫയലുകളിൽ ഇടുന്നു. ഉദാഹരണത്തിന്, “ /var/log/auth.log ” ൽ സിസ്റ്റത്തിലെ ഉപയോക്താക്കളുടെ അംഗീകാരത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു, കൂടാതെ “ /var/log/kern.log ” ൽ കേർണൽ സന്ദേശങ്ങൾ അടങ്ങിയിരിക്കുന്നു. വിതരണ പാക്കേജുകളിൽ ഫയലുകളുടെ പേരുകൾ വ്യത്യാസപ്പെടാം, അതിനാൽ “ /etc/rsyslog.d/50-default.conf ” എവിടെയാണെന്ന് മനസ്സിലാക്കാൻ കോൺഫിഗറേഷൻ ഫയൽ നോക്കാം.
ഈ നിയമങ്ങൾ ഏത് ഫയലിലാണ് ഓരോ തരം ലോഗ് സന്ദേശങ്ങളും അടങ്ങിയിരിക്കുന്നതെന്ന് പ്രദർശിപ്പിക്കുന്നു. ഇടതുവശത്ത് സന്ദേശത്തിന്റെ തരം ഇനിപ്പറയുന്ന രൂപത്തിൽ പ്രദർശിപ്പിക്കുന്നു “ [ഉറവിടം].[മുൻഗണന] ” വലത് ഭാഗത്ത് ലോഗ് ഫയലിന്റെ പേര് പ്രദർശിപ്പിക്കുന്നു. സന്ദേശ തരം എഴുതുമ്പോൾ “ * ” എന്ന പ്രതീകം ചേർക്കാൻ കഴിയും. അതിനർത്ഥം ശൂന്യമായ മൂല്യം അല്ലെങ്കിൽ പട്ടികയിൽ നിന്ന് അതിനെ നീക്കം ചെയ്യുന്ന “ ഒന്നുമില്ല ” എന്നാണ്. ആദ്യത്തെ രണ്ട് നിയമങ്ങൾ നമുക്ക് സൂക്ഷ്മമായി പരിശോധിക്കാം.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
ആദ്യത്തെ നിയമം അർത്ഥമാക്കുന്നത് ഓതറൈസേഷൻ മെക്കാനിസത്തിൽ നിന്ന് ലഭിക്കുന്ന എല്ലാ സന്ദേശങ്ങളും “ /var/log/auth.log ” ഫയലിൽ രേഖപ്പെടുത്തും എന്നാണ് . എല്ലാ ഓതറൈസേഷൻ ശ്രമങ്ങളും (വിജയകരവും അല്ലാത്തതും) ഈ ഫയലിൽ രജിസ്റ്റർ ചെയ്യും. രണ്ടാമത്തെ നിയമം സൂചിപ്പിക്കുന്നത് ഓതറൈസേഷനുമായി ബന്ധപ്പെട്ടവ ഒഴികെയുള്ള എല്ലാ സന്ദേശങ്ങളും “ /var/log/syslog ” ഫയലിൽ രേഖപ്പെടുത്തും എന്നാണ് . ഈ രണ്ട് ഫയലുകളും സാധാരണയായി ഏറ്റവും ജനപ്രിയമാണ്. “ kern.* ” എന്ന കേർണൽ ലോഗുകളും “ mail.* ” എന്ന മെയിൽ സർവീസ് ലോഗുകളും സംഭരിക്കുന്നതിനുള്ള പാത ഇനിപ്പറയുന്ന നിയമങ്ങൾ നിർവചിക്കുന്നു.
less , cat , tail പോലുള്ള ഏത് ടെക്സ്റ്റ് എഡിറ്ററിന്റെയും സഹായത്തോടെ ലോഗ് ഫയലുകൾ തുറക്കാൻ കഴിയും . നമുക്ക് “ /var/log/auth.log ” ഫയൽ തുറക്കാം.
less /var/log/auth.log
ഫയലിലെ ഓരോ വരിയും ആപ്ലിക്കേഷനിൽ നിന്നോ സേവനത്തിൽ നിന്നോ ലഭിക്കുന്ന ഒരു പ്രത്യേക സന്ദേശമാണ്. ഉറവിടം പരിഗണിക്കാതെ എല്ലാ സന്ദേശങ്ങൾക്കും ഒരു ഫോർമാറ്റ് മാത്രമേയുള്ളൂ, അതിൽ 5 ഭാഗങ്ങളാണുള്ളത്. സ്ക്രീൻഷോട്ടിൽ ഹൈലൈറ്റ് ചെയ്ത സന്ദേശം ഒരു ഉദാഹരണമായി എടുക്കാം.
- സന്ദേശ ടൈംസ്റ്റാമ്പ് - “ഫെബ്രുവരി 12 06:18:33”
- സന്ദേശം അയച്ച കമ്പ്യൂട്ടറിന്റെ പേര് - “vds”
- സന്ദേശം അയച്ച ആപ്ലിക്കേഷന്റെയോ സേവനത്തിന്റെയോ പേര് - “sshd”
- പ്രോസസ് ഐഡി - [653]
- സന്ദേശ വാചകം - “188.19.42.165 പോർട്ട് 2849 ssh2 ൽ നിന്ന് മിഹൈലിനുള്ള പാസ്വേഡ് സ്വീകരിച്ചു”
ഇത് SSH ലേക്കുള്ള വിജയകരമായ ഒരു കണക്ഷന്റെ ഉദാഹരണമായിരുന്നു.
പരാജയപ്പെട്ട ഒരു ലോഗിൻ ശ്രമം എങ്ങനെയിരിക്കുമെന്ന് ഇതാ:
ഈ ഫയൽ വിപുലമായ അനുമതികളുള്ള കമാൻഡുകളും രേഖപ്പെടുത്തുന്നു.
നമുക്ക് /var/log/syslog ഫയൽ തുറക്കാം.
സ്ക്രീൻഷോട്ടിൽ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന ഒരു സന്ദേശം നെറ്റ്വർക്ക് ഇന്റർഫേസ് ഷട്ട്ഡൗൺ ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള സന്ദേശമാണ്.
ദൈർഘ്യമേറിയ ടെക്സ്റ്റ് ഫയലുകളിലൂടെ വിവരങ്ങൾ തിരയുന്നതിന് grep യൂട്ടിലിറ്റി ഉപയോഗിക്കുക. pptpd സേവനത്തിൽ നിന്ന് ലഭിക്കുന്ന എല്ലാ സന്ദേശങ്ങളും “ /var/log/syslog ” ഫയലിൽ നിങ്ങൾക്ക് കണ്ടെത്താൻ കഴിയും.
grep 'pptpd' /var/log/syslog
ഡയഗ്നോസ്റ്റിക്സ് സമയത്ത് നിങ്ങൾക്ക് ഫയലുകളുടെ അവസാന വരികൾ പ്രദർശിപ്പിക്കാൻ കഴിയുന്ന ടെയിൽ യൂട്ടിലിറ്റി ഉപയോഗിക്കാം . “ tail -f /var/log/syslog ” എന്ന കമാൻഡ് ലോഗുകൾ റെക്കോർഡുചെയ്യുന്നത് തത്സമയം കാണാൻ നിങ്ങളെ അനുവദിക്കും.
rsyslog സേവനം വളരെ വഴക്കമുള്ളതും ശക്തവുമാണ്. പ്രാദേശിക സിസ്റ്റങ്ങളിലും എന്റർപ്രൈസ് തലത്തിലും ലോഗുകൾ ശേഖരിക്കുന്നതിന് ഇത് ഉപയോഗിക്കാം. https://www.rsyslog.com/ എന്ന ഔദ്യോഗിക വെബ്സൈറ്റിൽ നിങ്ങൾക്ക് പൂർണ്ണ ഡോക്യുമെന്റേഷൻ കണ്ടെത്താനാകും.
ലിനക്സിൽ ലോഗുകൾ റൊട്ടേറ്റ് ചെയ്യുന്നു
ലോഗ് റെക്കോർഡിംഗ് തുടർച്ചയായി നടക്കുന്നു, അതിനാൽ ഫയലുകളുടെ വലുപ്പം നിരന്തരം വളരുന്നു. പഴയ ലോഗുകളുടെ യാന്ത്രിക ആർക്കൈവും പുതിയ ഫയലുകളുടെ സൃഷ്ടിയും റൊട്ടേഷൻ സംവിധാനം ഉറപ്പാക്കുന്നു. നിയമങ്ങൾ അനുസരിച്ച്, ഇത് ദിവസേന, ആഴ്ചതോറും, പ്രതിമാസമോ അല്ലെങ്കിൽ വലുപ്പ പരിധി അനുസരിച്ച് സംഭവിക്കാം. പുതിയ ലോഗുകൾ സൃഷ്ടിക്കുമ്പോൾ, പഴയവ ഇല്ലാതാക്കാനോ ഇമെയിൽ വഴി അയയ്ക്കാനോ കഴിയും. ലോഗ്രോട്ടേറ്റ് യൂട്ടിലിറ്റി ഉപയോഗിച്ചാണ് ലോഗുകളുടെ റൊട്ടേഷൻ നടത്തുന്നത്. “ /etc/logrotate.conf ” ഫയലിൽ നിങ്ങൾക്ക് പ്രധാന കോൺഫിഗറേഷൻ കണ്ടെത്താൻ കഴിയും . ഫയലുകളുടെ ഉള്ളടക്കം “ /etc/logrotate.d/ ” ഫോൾഡറിലും പ്രോസസ്സ് ചെയ്യുന്നു.
പുതിയ നിയമങ്ങൾ പ്രധാന കോൺഫിഗറേഷൻ ഫയലിലേക്ക് ലോഗിൻ ചെയ്യാൻ കഴിയും. എന്നിരുന്നാലും, “ /etc/logrotate.d/ ” ൽ ഒരു പ്രത്യേക ഫയൽ സൃഷ്ടിക്കുന്നതാണ് നല്ലത് . സ്ഥിരസ്ഥിതിയായി, ഈ ഡയറക്ടറിയിൽ കുറച്ച് ഫയലുകൾ ഉണ്ട്.
rsyslog സേവനത്തിന്റെ ലോഗുകൾക്കായുള്ള റൊട്ടേഷൻ നിയമങ്ങൾ ഉൾക്കൊള്ളുന്ന “ /etc/logrotate.d/rsyslog ” എന്ന ഫയൽ നോക്കാം.
ആദ്യം, നിയമത്തിൽ ലോഗ് ഫയലിലേക്കുള്ള പാത അടങ്ങിയിരിക്കണം, തുടർന്ന് എല്ലാ മാർഗ്ഗനിർദ്ദേശങ്ങളും വളഞ്ഞ ബ്രാക്കറ്റുകളിൽ നൽകണം.
- 7 തിരിക്കുക - സൂക്ഷിക്കേണ്ട ഫയലുകളുടെ എണ്ണം - 7
- ദിവസേന - എല്ലാ ദിവസവും ഒരു പുതിയ ഫയൽ സൃഷ്ടിക്കുക
- ചുരുക്കുക - പഴയ ഫയലുകൾ കംപ്രസ്സുചെയ്ത് ആർക്കൈവ് ചെയ്യുക
" /var/log/ " ഫോൾഡറിൽ പ്രധാന ലോഗായ " syslog " ഉം 7 ആർക്കൈവുകളും ഉണ്ടെന്ന് സ്ക്രീൻഷോട്ടിൽ കാണാം , അവ കോൺഫിഗറേഷൻ ഫയലിലെ നിയമങ്ങളുമായി പൊരുത്തപ്പെടുന്നു.
" man logrotate " കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്ന മാനുവലിൽ ലോഗ്രോട്ടേറ്റിനെക്കുറിച്ചുള്ള കൂടുതൽ വിശദമായ വിവരണം നിങ്ങൾക്ക് കണ്ടെത്താൻ കഴിയും.
ലിനക്സ് ലോഗുകൾ ശേഖരിക്കുന്നു - journald
ലോഗുകൾ വിളവെടുക്കുന്ന സേവനം systemd-journald എന്നത് systemd ഇനീഷ്യലൈസേഷൻ സിസ്റ്റത്തിന്റെ ഒരു ഭാഗമാണ് . ലിനക്സ് ലോഗ് ഫയലുകൾ " /var/log/journal/ " ൽ ഒരു പ്രത്യേക ഫോർമാറ്റിൽ സൂക്ഷിക്കുന്നു , കൂടാതെ journalctl യൂട്ടിലിറ്റിയുടെ സഹായത്തോടെ തുറക്കാനും കഴിയും . റെക്കോർഡ് ഫോർമാറ്റ് rsyslog ലെ പോലെ തന്നെയാണ്.
ആട്രിബ്യൂട്ടുകളൊന്നുമില്ലാത്ത journalctl കമാൻഡ് എല്ലാ റെക്കോർഡുകളും കാണിക്കുന്നു, പക്ഷേ വലിയ ലോഗുകൾക്ക് ഇത് അനുയോജ്യമല്ല. ഈ യൂട്ടിലിറ്റിയുടെ ചില ഓപ്ഷനുകൾ നമുക്ക് നോക്കാം.
journalctl -b- അവസാന തുടക്കം മുതലുള്ള എല്ലാ റെക്കോർഡുകളും കാണിക്കുകjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- ഒരു നിശ്ചിത സമയത്തിനുള്ളിൽ റെക്കോർഡ് കാണിക്കുകjournalctl -u pptpd- ഒരു പ്രത്യേക സേവനത്തിന്റെ രേഖകൾ കാണിക്കുകjournalctl -k- കേർണൽ സന്ദേശങ്ങൾ കാണിക്കുകjournalctl -p err- ഈ സാഹചര്യത്തിൽ ഒരു പ്രത്യേക മുൻഗണനയുള്ള സന്ദേശങ്ങൾ കാണിക്കുക, ഉയർന്ന മുൻഗണനയുള്ള സന്ദേശങ്ങൾ (crit, alert, emerg)journalctl -f- തത്സമയം സന്ദേശങ്ങൾ കാണിക്കുക
മികച്ച വഴക്കത്തിനായി നിങ്ങൾക്ക് ഈ ഓപ്ഷനുകൾ സംയോജിപ്പിക്കാം. pptpd സേവനത്തിന്റെ എല്ലാ പിശകുകളും നമുക്ക് കാണിക്കാം.
journalctl -u pptpd -p err
എക്സിക്യൂട്ടബിൾ ഫയലിലേക്കുള്ള പാത നിങ്ങൾ ഒരു ആട്രിബ്യൂട്ടായി വ്യക്തമാക്കിയാൽ, ഈ ഫയൽ അയച്ച എല്ലാ സന്ദേശങ്ങളും യൂട്ടിലിറ്റി കാണിക്കും. 2020 ഫെബ്രുവരി 18 ന് 04:15 മുതൽ “ /usr/bin/sudo ” ഫയൽ അയച്ച എല്ലാ സന്ദേശങ്ങളും നമുക്ക് കാണിക്കാം. വാസ്തവത്തിൽ, ഉയർന്ന അനുമതികളോടെ നടപ്പിലാക്കിയ എല്ലാ കമാൻഡുകളും ഇത് കാണിക്കും.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
താഴെ പറയുന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യാൻ ലോഗ് ഫയലുകൾ എത്ര ഡിസ്ക് സ്ഥലം എടുക്കുന്നുവെന്ന് കണ്ടെത്താൻ
journalctl --disk-usage
ലോഗ് ഫയൽ 1Gb ആയി പരിമിതപ്പെടുത്തുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നടപ്പിലാക്കുക
journalctl --vacuum-size=1G
ബൈനറി ഫയലുകൾ തുറക്കുന്നു
ഇനി എല്ലാ ലോഗിൻ ശ്രമങ്ങളും സൂക്ഷിച്ചിരിക്കുന്ന “ /var/log/ ” ഫോൾഡറിലെ ചില പ്രത്യേക ഫയലുകൾ നോക്കാം . ഈ ഫയലുകൾ ബൈനറിയാണ്, പ്രത്യേക പ്രോഗ്രാമുകൾ ഉപയോഗിച്ച് മാത്രമേ ഇവ തുറക്കാൻ കഴിയൂ.
വിജയകരമായ ലോഗിൻ ശ്രമങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ /var/log/wtmp-ൽ അടങ്ങിയിരിക്കുന്നു. അത് തുറക്കാൻ അവസാന യൂട്ടിലിറ്റി ഉപയോഗിക്കുക.
/var/log/btmp - പരാജയപ്പെട്ട എല്ലാ ലോഗിൻ ശ്രമങ്ങളും ഉൾക്കൊള്ളുന്നു. വിപുലമായ അനുമതികളോടെ lastb ഉപയോഗിച്ച് ഇത് തുറക്കാൻ കഴിയും. ഫയലിന്റെ അവസാനം മുതൽ പ്രദർശിപ്പിക്കുന്ന വരികളുടെ എണ്ണം ആട്രിബ്യൂട്ട് -n നിർവചിക്കുന്നു.
/var/log/lastlog - ഓരോ അക്കൗണ്ട് റെക്കോർഡിനുമുള്ള അവസാന ലോഗിൻ പ്രവർത്തന സമയം ഉൾക്കൊള്ളുന്നു. ഇത് ലാസ്റ്റ്ലോഗ് ഉപയോഗിച്ച് തുറക്കാൻ കഴിയും.