మీ సర్వర్ పనితీరులో ఏవైనా సమస్యలు ఎదురైనప్పుడు, మీరు చేయవలసిన మొదటి పని మీ లైనక్స్ లాగ్లను తనిఖీ చేయడం . సిస్టమ్ లాగ్లో, కెర్నల్ లేదా వివిధ సర్వీసుల వంటి ఆపరేటింగ్ సిస్టమ్ యొక్క విభిన్న భాగాల నుండి కొన్ని సహాయకరమైన డయాగ్నస్టిక్స్ సందేశాలను మీరు కనుగొనవచ్చు, కాబట్టి వైఫల్యానికి కారణాన్ని మీరు చాలావరకు అక్కడే కనుగొంటారు.
లాగ్లోని ప్రతి సందేశం ఆపరేటింగ్ సిస్టమ్లోని కొన్ని సంఘటనల ఫలితంగా ఉత్పత్తి అవుతుంది: వినియోగదారు నుండి, అధికారం నుండి సర్వీస్ షట్-డౌన్ లేదా అప్లికేషన్ వైఫల్యం వరకు. ఈ సంఘటనలు ఎంత కీలకమైనవో బట్టి వేర్వేరు ప్రాధాన్యతలను కలిగి ఉంటాయి. Linuxలో ఈ క్రింది రకాల ఈవెంట్లు ఉన్నాయి:
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 ” ను పరిశీలిద్దాం.
ఈ నియమాలు ప్రతి రకమైన లాగ్ సందేశాలు ఏ ఫైల్లో ఉన్నాయో చూపిస్తాయి. ఎడమ భాగం సందేశ రకాన్ని “ [Source].[Priority] ” రూపంలో చూపిస్తుంది మరియు కుడి భాగం లాగ్ ఫైల్ పేరును చూపిస్తుంది. సందేశ రకాన్ని రాసేటప్పుడు “ * ” అక్షరాన్ని జోడించవచ్చు. దీని అర్థం ఖాళీ విలువ లేదా “ none ” అని, అది దానిని జాబితా నుండి తొలగిస్తుంది. మొదటి రెండు నియమాలను మరింత వివరంగా పరిశీలిద్దాం.
“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/ లో కనుగొనవచ్చు.
Linuxలో లాగ్ల భ్రమణం
లాగ్ రికార్డింగ్ నిరంతరం జరుగుతూ ఉంటుంది, కాబట్టి ఫైళ్ల పరిమాణం ఎప్పటికప్పుడు పెరుగుతుంది. రొటేషన్ మెకానిజం పాత లాగ్లను ఆటోమేటిక్గా ఆర్కైవ్ చేయడం మరియు కొత్త ఫైళ్లను సృష్టించడం వంటివి నిర్ధారిస్తుంది. నియమాలను బట్టి, ఇది రోజువారీగా, వారానికోసారి, నెలకోసారి లేదా పరిమాణ పరిమితి ప్రకారం జరగవచ్చు. కొత్త లాగ్లు సృష్టించబడినప్పుడు, పాతవాటిని కేవలం తొలగించవచ్చు లేదా ఇమెయిల్ ద్వారా పంపవచ్చు. లాగ్ల రొటేషన్ను లాగ్రొటేట్ యుటిలిటీ నిర్వహిస్తుంది. మీరు ప్రధాన కాన్ఫిగరేషన్ను “ /etc/logrotate.conf ” ఫైల్లో కనుగొనవచ్చు . ఫైళ్లలోని కంటెంట్ “ /etc/logrotate.d/ ” ఫోల్డర్లో కూడా ప్రాసెస్ చేయబడుతుంది.
కొత్త నియమాలను ప్రధాన కాన్ఫిగ్ ఫైల్లో లాగ్ చేయవచ్చు. అయితే, “ /etc/logrotate.d/ ” లో ఒక ప్రత్యేక ఫైల్ను సృష్టించడం ఉత్తమం . డిఫాల్ట్గా, ఈ డైరెక్టరీలో కొన్ని ఫైళ్లు ఉంటాయి.
rsyslog సర్వీస్ యొక్క లాగ్ల భ్రమణ నియమాలను కలిగి ఉన్న “ /etc/logrotate.d/rsyslog " ఫైల్ను పరిశీలిద్దాం.
ముందుగా, నియమం లాగ్ ఫైల్కు మార్గాన్ని కలిగి ఉండాలి మరియు తరువాత అన్ని మార్గదర్శకాలను వక్ర బ్రాకెట్లలో ఉంచాలి.
- 7 ను తిప్పండి - ఉంచాల్సిన ఫైళ్ల సంఖ్య - 7
- రోజువారీ - ప్రతిరోజూ కొత్త ఫైల్ను సృష్టించండి
- కుదించుము - పాత ఫైళ్ళను కుదించి ఆర్కైవ్ చేయండి
స్క్రీన్షాట్లో మీరు చూడవచ్చు, “ /var/log/ ” ఫోల్డర్లో ప్రధాన లాగ్ “ syslog ” మరియు 7 ఆర్కైవ్లు ఉన్నాయి , ఇవి కాన్ఫిగ్ ఫైల్లోని నియమాలకు అనుగుణంగా ఉంటాయి.
మీరు మాన్యువల్లో, “ man logrotate ” కమాండ్ను అమలు చేయడం ద్వారా logrotate గురించి మరింత వివరణాత్మక వర్ణనను కనుగొనవచ్చు.
Linux లాగ్లను సేకరిస్తోంది - 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
మీరు ఎగ్జిక్యూటబుల్ ఫైల్ యొక్క మార్గాన్ని ఒక లక్షణంగా పేర్కొంటే, ఈ యుటిలిటీ ఆ ఫైల్ పంపిన అన్ని సందేశాలను చూపుతుంది. ఫిబ్రవరి 18, 2020న ఉదయం 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 - ప్రతి ఖాతా రికార్డుకు సంబంధించిన చివరి లాగిన్ సమయాన్ని కలిగి ఉంటుంది. దీనిని lastlog తో తెరవవచ్చు .