જ્યારે તમને તમારા સર્વરના પ્રદર્શનમાં કોઈ સમસ્યા આવે, ત્યારે તમારે સૌથી પહેલા તમારા Linux લોગ તપાસો. સિસ્ટમ લોગમાં, તમને ઓપરેટિંગ સિસ્ટમના વિવિધ ઘટકો જેમ કે કર્નલ અથવા વિવિધ સેવાઓમાંથી કેટલાક મદદરૂપ ડાયગ્નોસ્ટિક્સ સંદેશાઓ મળી શકે છે, તેથી તમને ત્યાં નિષ્ફળતાનું કારણ મળશે.
લોગમાં દરેક સંદેશ ઓપરેટિંગ સિસ્ટમમાં ચોક્કસ ઘટનાઓના પરિણામે જનરેટ થાય છે: વપરાશકર્તા, અધિકૃતતાથી લઈને સેવા બંધ થવા અથવા એપ્લિકેશન નિષ્ફળતા સુધી. આ ઘટનાઓ કેટલી મહત્વપૂર્ણ છે તેના આધારે તેમની પ્રાથમિકતાઓ અલગ અલગ હોય છે. Linux માં નીચેના પ્રકારના ઇવેન્ટ્સ છે:
emerg- નિષ્ફળતા, સર્વોચ્ચ પ્રાથમિકતા;alert- તાત્કાલિક ચેતવણી;crit- મહત્વપૂર્ણ ઘટના;err- સામાન્ય ભૂલ;warn- સામાન્ય ચેતવણી;notice- સૂચના;info- માહિતી સંદેશ;debug- ડિબગીંગ માહિતી;
હાલમાં, Linux માં મુખ્ય લોગ હાર્વેસ્ટિંગ સેવાઓ છે rsyslog અને systemd-journald. તેઓ મોટાભાગના આધુનિક વિતરણ પેકેજો સાથે જાય છે અને સ્વતંત્ર રીતે કાર્ય કરે છે.
rsyslog
આ સેવાના લોગ "" માં સ્થિત છે./ વાર / લોગ /"સામાન્ય ટેક્સ્ટ ફાઇલોના રૂપમાં ફોલ્ડર. ઇવેન્ટના પ્રકાર પર આધાર રાખીને લોગ સંદેશાઓ અલગ અલગ ફાઇલોમાં મૂકવામાં આવે છે. ઉદાહરણ તરીકે, "/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"ફાઇલ. આ બે ફાઇલો સામાન્ય રીતે સૌથી વધુ લોકપ્રિય છે. નીચેના નિયમો કર્નલ લોગ સ્ટોર કરવાનો માર્ગ વ્યાખ્યાયિત કરે છે "કર્ન.*"અને મેઇલ સેવા લોગ"મેઇલ.*"
લોગ ફાઇલો કોઈપણ ટેક્સ્ટ એડિટરની મદદથી ખોલી શકાય છે, જેમ કે ઓછી, બિલાડી, પૂંછડી. ચાલો “/var/log/auth.log"ફાઈલ
less /var/log/auth.log
ફાઇલની દરેક લાઇન એ એપ્લિકેશન અથવા સેવા તરફથી પ્રાપ્ત થયેલ એક અલગ સંદેશ છે. બધા સંદેશાઓ, તેમના સ્રોતને ધ્યાનમાં લીધા વિના, એક ફોર્મેટ ધરાવે છે અને તેમાં 5 ભાગો હોય છે. ચાલો સ્ક્રીનશોટમાં હાઇલાઇટ કરેલા સંદેશને ઉદાહરણ તરીકે લઈએ.
- મેસેજ ટાઇમસ્ટેમ્પ - “૧૨ ફેબ્રુઆરી ૦૬:૧૮:૩૩”
- સંદેશ મોકલનાર કમ્પ્યુટરનું નામ - “vds”
- સંદેશ મોકલનાર એપ્લિકેશન અથવા સેવાનું નામ - “sshd”
- પ્રક્રિયા ID - [653]
- સંદેશ ટેક્સ્ટ - "૧૮૮.૧૯.૪૨.૧૬૫ પોર્ટ ૨૮૪૯ ssh188.19.42.165 માંથી મિહેલ માટે સ્વીકૃત પાસવર્ડ"
આ 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 માં લોગ રોટેશન
લોગ રેકોર્ડિંગ સતત થઈ રહ્યું છે, તેથી ફાઇલોનું કદ સતત વધતું રહે છે. રોટેશન મિકેનિઝમ જૂના લોગનું સ્વચાલિત આર્કાઇવિંગ અને નવી ફાઇલોનું નિર્માણ સુનિશ્ચિત કરે છે. નિયમોના આધારે, તે દૈનિક, સાપ્તાહિક, માસિક અથવા કદ મર્યાદા દ્વારા થઈ શકે છે. જેમ જેમ નવા લોગ બનાવવામાં આવે છે, તેમ તેમ જૂના લોગ ફક્ત કાઢી શકાય છે અથવા ઇમેઇલ દ્વારા મોકલી શકાય છે. લોગ રોટેશન દ્વારા કરવામાં આવે છે logrotate ઉપયોગિતા. તમે મુખ્ય રૂપરેખાંકન "" માં શોધી શકો છો./etc/logrotate.conf"ફાઇલ. ફાઇલોની સામગ્રી પણ " માં પ્રક્રિયા કરવામાં આવે છે/etc/logrotate.d/”ફોલ્ડર
નવા નિયમો મુખ્ય રૂપરેખા ફાઇલમાં લોગ ઇન કરી શકાય છે. જોકે, "" માં એક અલગ ફાઇલ બનાવવી શ્રેષ્ઠ છે./etc/logrotate.d/". મૂળભૂત રીતે, આ ડિરેક્ટરીમાં થોડી ફાઇલો છે.
ચાલો ફાઇલ પર એક નજર કરીએ “/etc/logrotate.d/rsyslog"જેમાં લોગ માટે પરિભ્રમણ નિયમો છે rsyslog સેવા.
પહેલા, નિયમમાં લોગ ફાઇલનો માર્ગ હોવો જોઈએ અને પછી બધી માર્ગદર્શિકાઓ વક્ર કૌંસમાં જવી જોઈએ.
- 7 ફેરવો - રાખવા માટેની ફાઇલોની સંખ્યા - 7
- દૈનિક - દરરોજ એક નવી ફાઇલ બનાવો
- સંકુચિત કરો - જૂની ફાઇલોને સંકુચિત કરો અને આર્કાઇવ કરો
તમે સ્ક્રીનશોટ પર જોઈ શકો છો કે "/ વાર / લોગ /"ફોલ્ડરમાં મુખ્ય લોગ છે"syslog” અને 7 આર્કાઇવ્સ, જે રૂપરેખા ફાઇલમાંના નિયમો સાથે સુસંગત છે.
તમે મેન્યુઅલમાં લોગ્રોટેટનું વધુ વિગતવાર વર્ણન શોધી શકો છો, જે "માણસ લોગ્રોટ"આદેશ"
Linux લોગ એકત્રિત કરી રહ્યા છીએ - જર્નલ્ડ
લાકડા કાપવાની સેવા systemd-journald પ્રારંભિક સિસ્ટમનો એક ભાગ છે systemd. Linux લોગ ફાઇલો "" માં સંગ્રહિત થાય છે./var/log/journal/” એક ખાસ ફોર્મેટમાં અને ની મદદથી ખોલી શકાય છે જર્નલ ઉપયોગિતા. રેકોર્ડ્સ ફોર્મેટ બરાબર એ જ છે જે rsyslog.
આદેશ જર્નલ કોઈ વિશેષતાઓ વિના બધા રેકોર્ડ બતાવે છે પરંતુ તે મોટા લોગ માટે યોગ્ય નથી. ચાલો આ ઉપયોગિતાના કેટલાક વિકલ્પો પર એક નજર કરીએ.
journalctl -b- છેલ્લી શરૂઆતથી બધા રેકોર્ડ બતાવોjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- ચોક્કસ સમયગાળામાં રેકોર્ડ બતાવોjournalctl -u pptpd- ચોક્કસ સેવાના રેકોર્ડ બતાવોjournalctl -k- કર્નલ સંદેશાઓ બતાવોjournalctl -p err- આ કિસ્સામાં ચોક્કસ પ્રાથમિકતા, ઉચ્ચ પ્રાથમિકતાવાળા સંદેશાઓ બતાવો (ક્રિટ, ચેતવણી, ઉદભવ)journalctl -f- રીઅલ-ટાઇમમાં સંદેશાઓ બતાવો
વધુ સારી સુગમતા માટે તમે આ વિકલ્પોને જોડી શકો છો. ચાલો બધી ભૂલો બતાવીએ pptpd સેવા
journalctl -u pptpd -p err
જો તમે એક્ઝિક્યુટેબલ ફાઇલનો પાથ એટ્રિબ્યુટ તરીકે સ્પષ્ટ કરો છો, તો યુટિલિટી આ ફાઇલ દ્વારા મોકલવામાં આવેલા બધા સંદેશાઓ બતાવશે. ચાલો ફાઇલ દ્વારા મોકલવામાં આવેલા બધા સંદેશાઓ બતાવીએ “/usr/bin/sudo” ૧૮ ફેબ્રુઆરી, ૨૦૨૦ ના રોજ ૦૪:૧૫ થી. હકીકતમાં, તે ઉચ્ચ પરવાનગીઓ સાથે ચલાવવામાં આવેલા બધા આદેશો બતાવશે.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
નીચે આપેલ આદેશ ચલાવવા માટે લોગ ફાઇલો કેટલી ડિસ્ક જગ્યા લે છે તે શોધવા માટે
journalctl --disk-usage
લોગ ફાઇલને 1Gb સુધી મર્યાદિત કરવા માટે નીચેનો આદેશ ચલાવો
journalctl --vacuum-size=1G
બાઈનરી ફાઇલો ખોલી રહ્યા છીએ
હવે ચાલો “માં કેટલીક ખાસ ફાઇલો પર એક નજર કરીએ/ વાર / લોગ /"ફોલ્ડર જ્યાં બધા લોગિન પ્રયાસો સંગ્રહિત થાય છે. આ ફાઇલો બાઈનરી છે અને ફક્ત ખાસ પ્રોગ્રામ્સથી જ ખોલી શકાય છે.
/var/log/wtmp સફળ લોગિન પ્રયાસો વિશે માહિતી ધરાવે છે. તેને ખોલવા માટે છેલ્લી ઉપયોગિતાનો ઉપયોગ કરો.
/var/log/btmp - બધા નિષ્ફળ લોગિન પ્રયાસો સમાવે છે. તે અદ્યતન પરવાનગીઓ સાથે lastb સાથે ખોલી શકાય છે. એટ્રીબ્યુટ -n ફાઇલના અંતથી પ્રદર્શિત થતી રેખાઓની સંખ્યા વ્યાખ્યાયિત કરે છે.
/var/log/lastlog - દરેક એકાઉન્ટ રેકોર્ડ માટે છેલ્લી લોગિન ક્રિયાનો સમય સમાવે છે. તે ખોલી શકાય છે છેલ્લાલોગ