Ang Syslog ay isang karaniwang protocol para sa pag-log ng mga kaganapan at mensahe ng system. Pinapayagan nito ang mga application at proseso na magpadala ng mga mensahe ng log sa isang sentral na server, kung saan maaari silang maimbak, ma-filter, masuri, at maipasa sa iba pang mga destinasyon. Ang Syslog ay malawakang ginagamit sa Linux at Unix system para sa pagsubaybay at pag-troubleshoot ng mga layunin.

Isa sa mga karaniwang gamit ng syslog ay upang mangolekta at mag-imbak ng impormasyon sa log na nauugnay sa e-mail, gaya ng katayuan ng mga papasok at papalabas na mensahe , mga error, babala, at istatistika. Ang impormasyon sa log na nauugnay sa e-mail ay maaaring mabuo ng iba’t ibang bahagi ng sistema ng e-mail, tulad ng sendmail, postfix, exim, dovecot, spamassassin, atbp.

Paano gumagana ang syslog?

Syslog gumagana sa pamamagitan ng paggamit ng isang client-server na modelo. Ang kliyente ay ang application o proseso na bumubuo ng mga log message at ipinapadala ang mga ito sa syslog server. Ang server ay ang program na tumatanggap ng mga log message at nagpoproseso ng mga ito ayon sa isang configuration file. Tinutukoy ng configuration file ang mga panuntunan para sa pag-filter, pag-format, at pagpapasa ng mga mensahe ng log sa iba’t ibang destinasyon, tulad ng mga file, database, remote server, o e-mail address.

Ang syslog protocol ay gumagamit ng karaniwang format para sa ang mga mensahe ng log, na binubuo ng tatlong bahagi: priyoridad, pasilidad, at mensahe. Isinasaad ng priyoridad ang antas ng kalubhaan ng mensahe, mula 0 (emergency) hanggang 7 (debug). Isinasaad ng pasilidad ang pinagmulan o kategorya ng mensahe, gaya ng mail, auth, kern, user, atbp. Ang mensahe ay ang aktwal na text ng log entry.

Halimbawa, maaaring magmukhang isang tipikal na mensahe ng syslog ganito:

`<14>Okt 30 16:13:49 mailserver postfix/smtp[1234]: 1234567890: to=, relay=mail.example.com[1.2.3.4]:25, delay=0.5, delays=0.1/0/0.2/0.2, dsn=2.0.0, status=sent (250 OK)`

Ang mensaheng ito ay may priyoridad na 14 (notice ), isang pasilidad ng mail (kaugnay ng e-mail), at isang mensahe na naglalaman ng timestamp, hostname, pangalan ng program, process ID, queue ID, address ng tatanggap, relay host, mga oras ng pagkaantala, code ng notification sa status ng paghahatid, text ng katayuan, at text ng tugon.

Paano i-configure ang syslog upang mag-imbak ng impormasyon sa log na nauugnay sa e-mail?

Ang configuration ng syslog ay depende sa pagpapatupad ng syslog server program. Mayroong ilang mga variant ng syslog server na magagamit para sa Linux at Unix system, tulad ng syslogd (ang orihinal at pinakapangunahing), rsyslog (ang default sa karamihan sa mga modernong distribusyon), syslog-ng (isang mas advanced at flexible na opsyon), atbp.

Ang bawat syslog server ay may sarili nitong configuration file format at syntax, ngunit lahat sila ay nagbabahagi ng ilang karaniwang konsepto at prinsipyo. Ang configuration file ay karaniwang binubuo ng mga panuntunan na tumutugma sa ilang pamantayan (gaya ng priyoridad o pasilidad) sa ilang partikular na pagkilos (tulad ng pagsusulat sa isang file o pagpapadala sa isang malayuang server). Ang mga panuntunan ay sinusuri mula sa itaas hanggang sa ibaba hanggang sa matagpuan ang isang tugma o ang dulo ng file ay maabot.

Isa sa mga pinakakaraniwang aksyon ay ang pagsulat ng mga mensahe ng log sa isang plain text file sa isang tinukoy na direktoryo. Ayon sa convention, ang direktoryo na ito ay/var/log/, kung saan iniimbak ang iba’t ibang log file para sa iba’t ibang layunin at programa. Halimbawa,

–/var/log/messages: naglalaman ng mga pangkalahatang mensahe ng system

–/var/log/auth.log: naglalaman ng mga mensahe ng pagpapatunay at awtorisasyon

–/var/log/kern.log: naglalaman ng mga mensahe ng kernel

–/var/log/cron.log: naglalaman ng mga mensahe ng cron job

–/var/log/mail. log: naglalaman ng mga mensaheng nauugnay sa e-mail

Ang huli ay ang sagot sa aming tanong: karaniwang naka-configure ang syslog upang ilagay ang lahat ng impormasyon ng log na nauugnay sa e-mail sa/var/log/mail.log file.

Gayunpaman, hindi ito isang nakapirming tuntunin o pamantayan. Depende sa configuration ng syslog server at ang mga kagustuhan ng system administrator o user, ang e-mail related log information ay maaaring iimbak sa iba’t ibang file o lokasyon. Halimbawa,

– Pinapayagan ng ilang syslog server ang paggamit ng mga wildcard o regular na expression na tumugma sa maraming pasilidad o priyoridad sa isang aksyon. Halimbawa,

`mail.*/var/log/mail.log`

Ang panuntunang ito ay nangangahulugan na ang anumang mensahe na may pasilidad ng mail (anuman ang priyoridad) ay isusulat sa/var/log/mail.log file.

– Pinapayagan ng ilang syslog server ang paggamit ng mga template o macros upang i-customize ang format o pangalan ng mga log file. Halimbawa,

`mail.*/var/log/mail/$ {programname}.log`

Ang panuntunang ito ay nangangahulugan na ang anumang mensahe na may pasilidad ng mail ay isusulat sa isang file na ipinangalan sa pangalan ng program (gaya ng postfix.log o exim.log) sa/var/log/mail/directory.

– Ang ilang syslog server ay nagpapahintulot sa paggamit ng mga filter o expression na pumili o magbukod ng ilang partikular na mensahe batay sa kanilang nilalaman o mga katangian. Halimbawa,

`mail.*;mail.info ~`

Ang panuntunang ito ay nangangahulugan na ang anumang mensahe na may pasilidad ng mail, maliban sa mga may priyoridad ng impormasyon, ay itatapon at hindi nakasulat sa anumang file.

Paano tingnan ang impormasyon ng log na nauugnay sa e-mail?

Kapag na-configure na ang syslog server upang iimbak ang impormasyon ng log na nauugnay sa e-mail sa isang file o mga file, ang susunod na hakbang ay suriin ang nilalaman at pag-aralan ang data. Mayroong ilang mga paraan upang gawin ito, tulad ng:

– Paggamit ng text editor o viewer upang buksan at basahin ang log file. Halimbawa,

`nano/var/log/mail.log`

Bubuksan ng command na ito ang/var/log/mail.log file sa nano editor, kung saan maaari kang mag-scroll , hanapin, i-edit, o i-save ang file.

– Paggamit ng command-line tool o utility upang i-filter, ayusin, o iproseso ang log file. Halimbawa,

`tail-f/var/log/mail.log`

Ipapakita ng command na ito ang huling 10 linya ng/var/log/mail.log file at panatilihin ina-update kapag dumating ang mga bagong mensahe.

`grep “error”/var/log/mail.log`

Ipapakita lang ng command na ito ang mga linyang naglalaman ng salitang “error” sa/var/log/mail.log file.

`awk'{print $6}’/var/log/mail.log | uri | uniq-c`

Ipapakita ng command na ito ang bilang ng mga paglitaw ng bawat pangalan ng program sa/var/log/mail.log file.

– Paggamit ng graphical na tool o application upang mailarawan , subaybayan, o pamahalaan ang log file. Halimbawa,

Logwatch: isang nako-customize na log analysis system na bumubuo ng mga ulat batay sa mga log file.

LogAnalyzer: isang web-based na interface na nagbibigay-daan sa pagba-browse, paghahanap, pag-filter, at pagsusuri ang mga log file.

Splunk: isang malakas na platform na nangongolekta, nag-i-index, nagsusuri, at nagsasalarawan ng anumang uri ng data ng machine, kabilang ang data ng syslog.

Konklusyon

Sa artikulong ito, natutunan namin kung ano ang syslog, kung paano ito gumagana, kung paano i-configure ito upang mag-imbak ng impormasyon ng log na nauugnay sa e-mail sa isang file, at kung paano suriin at pag-aralan ang impormasyon ng log. Nakita rin namin ang ilang mga halimbawa ng iba’t ibang mga server ng syslog at mga tool na maaaring magamit para sa layuning ito. Umaasa kami na ang artikulong ito ay naging kapaki-pakinabang at nagbibigay-kaalaman para sa iyo. Salamat sa pagbabasa!