Unapokabiliwa na matatizo yoyote na utendaji wa seva yako, jambo la kwanza unalotaka kufanya ni kuangalia kumbukumbu zako za Linux . Katika kumbukumbu ya mfumo, unaweza kupata jumbe muhimu za uchunguzi kutoka kwa vipengele tofauti vya mfumo endeshi kama vile kernel au huduma mbalimbali, kwa hivyo kuna uwezekano mkubwa utapata chanzo cha hitilafu hapo.
Kila ujumbe katika logi huzalishwa kwa matokeo ya matukio fulani katika mfumo wa uendeshaji: kutoka kwa mtumiaji, idhini ya kuzima huduma au kushindwa kwa programu. Matukio haya yana vipaumbele tofauti kulingana na jinsi yalivyo muhimu. Kuna aina zifuatazo za matukio katika Linux:
emerg- kushindwa, kipaumbele cha juu;alert- onyo la haraka;crit- tukio muhimu;err- kosa la kawaida;warn- onyo la kawaida;notice- taarifa;info- ujumbe wa habari;debug- habari ya kurekebisha;
Kwa sasa, huduma kuu za uvunaji wa magogo katika Linux ni rsyslog na systemd-journald . Huendana na vifurushi vingi vya kisasa vya usambazaji na hufanya kazi kwa kujitegemea.
rsyslog
Kumbukumbu za huduma hii ziko kwenye folda ya " /var/log/ " katika mfumo wa faili za maandishi za kawaida. Ujumbe wa kumbukumbu huwekwa katika faili tofauti kulingana na aina ya tukio. Kwa mfano, " /var/log/auth.log " ina taarifa kuhusu idhini ya watumiaji katika mfumo, na " /var/log/kern.log " ina ujumbe wa kernel. Majina ya faili yanaweza kutofautiana katika vifurushi vya usambazaji, kwa hivyo hebu tuangalie faili ya usanidi ili kupata wazo la " /etc/rsyslog.d/50-default.conf " iko wapi.
Sheria hizi zinaonyesha faili gani inayo kila aina ya ujumbe wa kumbukumbu. Sehemu ya kushoto inaonyesha aina ya ujumbe katika umbo lifuatalo “ [Chanzo].[Kipaumbele] ” na sehemu ya kulia inaonyesha jina la faili ya kumbukumbu. Wakati wa kuandika aina ya ujumbe, herufi “ * ” inaweza kuongezwa. Inamaanisha thamani tupu au “ hakuna ” ambayo huiondoa kwenye orodha. Hebu tuangalie kwa undani sheria mbili za kwanza.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Sheria ya kwanza ina maana kwamba jumbe zote zilizopokelewa kutoka kwa utaratibu wa uidhinishaji zitarekodiwa katika faili ya " /var/log/auth.log ". Majaribio yote ya uidhinishaji (yatakayofanikiwa na yasiyofanikiwa) yatasajiliwa katika faili hii. Sheria ya pili inaonyesha kwamba jumbe zote isipokuwa zile zilizounganishwa na uidhinishaji zitarekodiwa katika faili ya " /var/log/syslog ". Faili hizi mbili kwa kawaida ndizo maarufu zaidi. Sheria zifuatazo hufafanua njia ya kuhifadhi kumbukumbu za kernel " kern.* " na kumbukumbu za huduma ya barua pepe " mail.* "
Faili za kumbukumbu zinaweza kufunguliwa kwa usaidizi wa kihariri chochote cha maandishi, kama vile less , cat , tail . Hebu tufungue faili ya " /var/log/auth.log "
less /var/log/auth.log
Kila mstari wa faili ni ujumbe tofauti uliopokelewa kutoka kwa programu au huduma. Ujumbe wote bila kujali chanzo chake una umbizo moja na lina sehemu 5. Hebu tuchukue ujumbe ulioangaziwa kwenye picha ya skrini kama mfano.
- Muhuri wa saa wa ujumbe - “Feb 12 06:18:33”
- Jina la kompyuta iliyotuma ujumbe - "vds"
- Jina la programu au huduma iliyotuma ujumbe - "sshd"
- Kitambulisho cha Mchakato - [653]
- Maandishi ya ujumbe - "Nenosiri linalokubalika la mihail kutoka 188.19.42.165 bandari 2849 ssh2"
Huu ulikuwa mfano wa muunganisho uliofaulu kwa SSH.
Na hii ndio jinsi jaribio la kuingia lisilofanikiwa linavyoonekana:
Faili hii pia hurekodi amri zilizo na ruhusa za hali ya juu
Tufungue faili ya /var/log/syslog
Ujumbe ulioangaziwa kwenye picha ya skrini ni ujumbe kuhusu kuzima kwa kiolesura cha mtandao.
Kwa kutafuta taarifa kupitia faili ndefu za maandishi tumia grep utility. Unaweza kupata jumbe zote zilizopokelewa kutoka kwa huduma ya pptpd katika faili ya " /var/log/syslog ".
grep 'pptpd' /var/log/syslog
Wakati wa uchunguzi unaweza kutumia huduma ya tail ambayo inaweza kuonyesha mistari kadhaa ya mwisho ya faili. Amri ya “ tail -f /var/log/syslog ” itakuruhusu kutazama kumbukumbu zikirekodiwa kwa wakati halisi.
Huduma ya rsyslog ina uwezo mkubwa na ina uwezo wa kubadilika. Inaweza kutumika kwa ajili ya kuvuna kumbukumbu katika mifumo ya ndani na pia katika ngazi ya biashara. Unaweza kupata hati kamili kwenye tovuti rasmi https://www.rsyslog.com/
Mzunguko wa kumbukumbu katika Linux
Kurekodi kumbukumbu kunafanyika kila mara, kwa hivyo ukubwa wa faili hukua kila mara. Utaratibu wa kuzungusha huhakikisha uwekaji kumbukumbu otomatiki wa kumbukumbu za zamani na uundaji wa faili mpya. Kulingana na sheria, inaweza kutokea kila siku, kila wiki, kila mwezi au kwa kikomo cha ukubwa. Kumbukumbu mpya zinapoundwa, za zamani zinaweza kufutwa tu au kutumwa kwa barua pepe. Kuzungusha kumbukumbu hufanywa na huduma ya logrotate . Unaweza kupata usanidi mkuu katika faili ya " /etc/logrotate.conf ". Maudhui ya faili pia huchakatwa katika folda ya " /etc/logrotate.d/ ".
Sheria mpya zinaweza kuingizwa kwenye faili kuu ya usanidi. Hata hivyo, ni bora kuunda faili tofauti katika " /etc/logrotate.d/ ". Kwa chaguo-msingi, kuna faili chache katika saraka hii.
Hebu tuangalie faili " /etc/logrotate.d/rsyslog " ambayo ina sheria za mzunguko wa kumbukumbu za huduma ya rsyslog.
Kwanza, sheria inapaswa kuwa na njia ya faili ya logi na kisha nenda miongozo yote kwenye mabano yaliyopindika.
- zungusha 7 - idadi ya faili za kuweka - 7
- kila siku - tengeneza faili mpya kila siku
- comprimir - compress na archive files zamani
Unaweza kuona kwenye picha ya skrini kwamba kwenye folda ya " /var/log/ " kuna kumbukumbu kuu " syslog " na kumbukumbu 7, ambazo zinalingana na sheria katika faili ya usanidi.
Unaweza kupata maelezo zaidi ya logrotate katika mwongozo, ukitekeleza amri ya " man logrotate ".
Kukusanya kumbukumbu za Linux - iliyochapishwa
Huduma ya uvunaji wa kumbukumbu systemd-journald ni sehemu ya mfumo wa uanzishaji systemd . Faili za kumbukumbu za Linux huhifadhiwa katika " /var/log/journal/ " katika umbizo maalum na zinaweza kufunguliwa kwa usaidizi wa shirika la journalctl . Umbizo la rekodi ni sawa kabisa na katika rsyslog.
Amri journalctl isiyo na sifa inaonyesha rekodi zote lakini haifai kwa kumbukumbu kubwa. Hebu tuangalie baadhi ya chaguo za huduma hii.
journalctl -b- onyesha rekodi zote tangu mwanzo wa mwishojournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- onyesha rekodi ndani ya muda fulanijournalctl -u pptpd- onyesha rekodi za huduma fulanijournalctl -k- onyesha ujumbe wa kerneljournalctl -p err- onyesha ujumbe wa kipaumbele fulani, ujumbe wa kipaumbele cha juu katika kesi hii (uhakiki, tahadhari, ibuka)journalctl -f- onyesha ujumbe katika muda halisi
Kwa unyumbulifu bora unaweza kuchanganya chaguo hizi. Hebu tuonyeshe makosa yote ya huduma ya pptpd
journalctl -u pptpd -p err
Ukitaja njia ya faili inayoweza kutekelezwa kama sifa, huduma itaonyesha jumbe zote zilizotumwa na faili hii. Hebu tuonyeshe jumbe zote zilizotumwa na faili " /usr/bin/sudo " tangu 04:15 mnamo Februari 18, 2020. Kwa kweli, itaonyesha amri zote zilizotekelezwa kwa ruhusa za juu.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Ili kujua ni kiasi gani faili za kumbukumbu za nafasi ya diski huchukua kutekeleza amri ifuatayo
journalctl --disk-usage
Ili kuweka kikomo faili ya logi kwa 1Gb tekeleza amri ifuatayo
journalctl --vacuum-size=1G
Kufungua faili za binary
Sasa hebu tuangalie baadhi ya faili maalum katika folda ya “ /var/log/ ” ambapo majaribio yote ya kuingia yanahifadhiwa. Faili hizi ni za binary na zinaweza kufunguliwa kwa programu maalum pekee.
/var/log/wtmp ina taarifa kuhusu majaribio ya kuingia yaliyofanikiwa. Tumia huduma ya mwisho kuifungua.
/var/log/btmp - ina majaribio yote ya kuingia yaliyoshindwa. Inaweza kufunguliwa kwa lastb kwa ruhusa za hali ya juu. Attribute -n hufafanua idadi ya mistari inayoonyeshwa kutoka mwisho wa faili.
/var/log/lastlog - ina muda wa kitendo cha mwisho cha kuingia kwa kila rekodi ya akaunti. Inaweza kufunguliwa kwa lastlog