உங்கள் சர்வரின் செயல்திறனில் ஏதேனும் சிக்கல்களை எதிர்கொள்ளும்போது, நீங்கள் செய்ய வேண்டிய முதல் விஷயம் உங்கள் லினக்ஸ் பதிவுகளைச் சரிபார்ப்பதுதான் . சிஸ்டம் பதிவில், கர்னல் அல்லது பல்வேறு சேவைகள் போன்ற இயக்க முறைமையின் வெவ்வேறு கூறுகளிலிருந்து வரும் சில பயனுள்ள கண்டறியும் செய்திகளை நீங்கள் காணலாம், எனவே தோல்விக்கான காரணத்தை நீங்கள் பெரும்பாலும் அங்கேயே கண்டறிவீர்கள்.
பதிவில் உள்ள ஒவ்வொரு செய்தியும் இயக்க முறைமையில் ஏற்படும் சில நிகழ்வுகளின் விளைவாக உருவாக்கப்படுகிறது: பயனர், அங்கீகாரம் முதல் சேவை நிறுத்தம் அல்லது பயன்பாட்டு தோல்வி வரை. இந்த நிகழ்வுகள் எவ்வளவு முக்கியமானவை என்பதைப் பொறுத்து வெவ்வேறு முன்னுரிமைகளைக் கொண்டுள்ளன. லினக்ஸில் பின்வரும் வகையான நிகழ்வுகள் உள்ளன:
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 ' பயன்பாட்டை நீங்கள் பயன்படுத்தலாம் . “ tail -f /var/log/syslog ” என்ற கட்டளை, நிகழ்நேரத்தில் பதிவுகளைப் பார்க்க உங்களை அனுமதிக்கும்.
rsyslog சேவையானது மிகவும் நெகிழ்வானதும் சக்தி வாய்ந்ததுமாகும். இதை உள்ளூர் அமைப்புகளிலும் நிறுவன அளவிலும் பதிவுகளைச் சேகரிக்கப் பயன்படுத்தலாம். முழுமையான ஆவணங்களை https://www.rsyslog.com/ என்ற அதிகாரப்பூர்வ இணையதளத்தில் காணலாம்.
லினக்ஸில் பதிவுகள் சுழற்சி
பதிவுப் பதிவு தொடர்ச்சியாக நடைபெறுவதால், கோப்புகளின் அளவு தொடர்ந்து அதிகரித்துக்கொண்டே இருக்கிறது. சுழற்சி முறை, பழைய பதிவுகளைத் தானாகவே காப்பகப்படுத்துவதையும் புதிய கோப்புகளை உருவாக்குவதையும் உறுதி செய்கிறது. விதிகளின்படி, இது தினசரி, வாராந்திர, மாதாந்திர அடிப்படையில் அல்லது அளவு வரம்பின்படி நிகழலாம். புதிய பதிவுகள் உருவாக்கப்படும்போது, பழைய பதிவுகளை நீக்கிவிடலாம் அல்லது மின்னஞ்சல் மூலம் அனுப்பிவிடலாம். பதிவுகளின் சுழற்சியானது logrotate பயன்பாட்டின் மூலம் செய்யப்படுகிறது. இதன் முக்கிய உள்ளமைப்பை “ /etc/logrotate.conf ” கோப்பில் காணலாம் . கோப்புகளின் உள்ளடக்கம் “ /etc/logrotate.d/ ” கோப்புறையிலும் செயலாக்கப்படுகிறது.
புதிய விதிகளை முதன்மை உள்ளமைவு கோப்பில் பதிவு செய்யலாம். இருப்பினும், “ /etc/logrotate.d/ ” கோப்பகத்தில் ஒரு தனி கோப்பை உருவாக்குவது சிறந்தது . இயல்பாக, இந்தக் கோப்பகத்தில் சில கோப்புகள் உள்ளன.
rsyslog சேவையின் பதிவுகளுக்கான சுழற்சி விதிகளைக் கொண்டிருக்கும் “ /etc/logrotate.d/rsyslog ” என்ற கோப்பைப் பார்ப்போம்.
முதலில், விதியானது பதிவு கோப்பிற்கான பாதையைக் கொண்டிருக்க வேண்டும், பின்னர் அனைத்து வழிகாட்டுதல்களையும் வளைந்த அடைப்புக்குறிக்குள் செல்ல வேண்டும்.
- சுழற்று 7 - வைத்திருக்க வேண்டிய கோப்புகளின் எண்ணிக்கை - 7
- தினசரி - ஒவ்வொரு நாளும் ஒரு புதிய கோப்பை உருவாக்கவும்
- அழுத்துவதற்கு - பழைய கோப்புகளை சுருக்கி காப்பகப்படுத்தவும்
ஸ்கிரீன்ஷாட்டில் நீங்கள் காண்பது போல, “ /var/log/ ” கோப்புறையில், முதன்மைப் பதிவேடான “ syslog ” மற்றும் config கோப்பில் உள்ள விதிகளுக்கு இணங்க 7 காப்பகங்கள் உள்ளன .
கையேட்டில், “ man logrotate ” கட்டளையைச் செயல்படுத்துவதன் மூலம் 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
இயக்கக்கூடிய கோப்பின் பாதையை ஒரு பண்புக்கூறாக நீங்கள் குறிப்பிட்டால், இந்தக் கோப்பால் அனுப்பப்பட்ட அனைத்து செய்திகளையும் இந்தச் செயலி காண்பிக்கும். பிப்ரவரி 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 கட்டளையைப் பயன்படுத்தித் திறக்கலாம் .