کله چې تاسو د خپل سرور د فعالیت سره کومې ستونزې سره مخ شئ، نو لومړی کار چې تاسو یې کول غواړئ هغه دا دی چې خپل لینکس لاګونه وګورئ . د سیسټم لاګ کې، تاسو کولی شئ د عملیاتي سیسټم د مختلفو برخو لکه کرنل یا مختلفو خدماتو څخه ځینې ګټور تشخیصي پیغامونه ومومئ، نو تاسو به ډیر احتمال هلته د ناکامۍ لامل ومومئ.
په لاګ کې هر پیغام د عملیاتي سیسټم کې د ځینو پیښو په پایله کې رامینځته کیږي: د کارونکي څخه، د خدماتو بندیدو یا د غوښتنلیک ناکامۍ پورې. دا پیښې مختلف لومړیتوبونه لري چې د دوی د اهمیت پورې اړه لري. په لینکس کې د پیښو لاندې ډولونه شتون لري:
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
د فایل هره کرښه د اپلیکیشن یا خدماتو څخه ترلاسه شوی جلا پیغام دی. ټول پیغامونه پرته له دې چې د دوی سرچینه څه وي یو بڼه لري او پنځه برخې لري. راځئ چې په سکرین شاټ کې روښانه شوی پیغام د مثال په توګه واخلو.
- د پیغام ټایم ټاپه - "د فبروري ۱۲ ۰۶:۱۸:۳۳"
- د هغه کمپیوټر نوم چې پیغام یې لیږلی دی - "vds"
- د هغه غوښتنلیک یا خدمت نوم چې پیغام یې لیږلی دی - "sshd"
- د پروسې ID - [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/ " کې جلا فایل جوړ کړئ . په ډیفالټ ډول، پدې لارښود کې یو څو فایلونه شتون لري.
راځئ چې د " /etc/logrotate.d/rsyslog " فایل ته یو نظر واچوو چې د rsyslog خدماتو د لاګونو لپاره د گردش قواعد لري.
لومړی، قاعده باید د لاګ فایل ته لاره ولري او بیا ټولې لارښوونې په منحني قوسونو کې لاړ شي.
- 7 وګرځئ - د ساتلو لپاره د فایلونو شمیر - ۷
- هره ورځ - هره ورځ یو نوی فایل جوړ کړئ
- کمپکی - زاړه فایلونه کمپریس او آرشیف کړئ
تاسو کولی شئ په سکرین شاټ کې وګورئ چې د " /var/log/ " فولډر کې اصلي لاګ " syslog " او 7 آرشیفونه شتون لري، کوم چې د ترتیب فایل کې د قواعدو سره مطابقت لري.
تاسو کولی شئ د " man logrotate " قوماندې په اجرا کولو سره په لارښود کې د logrotate ډیر تفصیل ومومئ.
د لینوکس لاګونو راټولول - ژورنال شوی
د لاګونو راټولولو خدمت 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- په دې حالت کې د یو ځانګړي لومړیتوب، لوړ لومړیتوب پیغامونه وښایاست (کریټ، خبرداری، راپورته کیدونکی)journalctl -f- په ریښتیني وخت کې پیغامونه ښکاره کړئ
د ښه انعطاف لپاره تاسو کولی شئ دا اختیارونه سره یوځای کړئ. راځئ چې د pptpd خدمت ټولې غلطۍ وښیو.
journalctl -u pptpd -p err
که تاسو د اجرا وړ فایل ته لاره د ځانګړتیا په توګه مشخص کړئ نو یوټیلټي به د دې فایل لخوا لیږل شوي ټول پیغامونه وښیې. راځئ چې د " /usr/bin/sudo " فایل لخوا لیږل شوي ټول پیغامونه وښیو د 18 فبروري 2020 راهیسې د 04:15 څخه. په حقیقت کې، دا به ټول هغه حکمونه وښیې چې د لوړو اجازو سره اجرا شوي.
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 سره پرانیستل کیدی شي. Attribute -n د فایل له پای څخه د ښودل شویو کرښو شمیر تعریفوي.
/var/log/lastlog - د هر حساب ریکارډ لپاره د وروستي ننوتلو عمل وخت لري. دا د lastlog سره پرانیستل کیدی شي.