შემეცნებითი მარტივი ინსტრუქციები Profitserver სერვისთან მუშაობისთვის
მთავარი შემეცნებითი როგორ წავიკითხოთ Linux-ის ჟურნალები და სად ვიპოვოთ იგი

როგორ წავიკითხოთ Linux-ის ჟურნალები და სად ვიპოვოთ იგი


როდესაც თქვენი სერვერის მუშაობასთან დაკავშირებულ რაიმე პრობლემას წააწყდებით, პირველი, რაც უნდა გააკეთოთ, არის თქვენი Linux-ის ჟურნალების შემოწმება . სისტემის ჟურნალში შეგიძლიათ იპოვოთ სასარგებლო დიაგნოსტიკური შეტყობინებები ოპერაციული სისტემის სხვადასხვა კომპონენტიდან, როგორიცაა ბირთვი ან სხვადასხვა სერვისები, ამიტომ, სავარაუდოდ, იქ იპოვით გაუმართაობის მიზეზს.

ჟურნალში ყველა შეტყობინება იქმნება ოპერაციული სისტემის გარკვეული მოვლენების შედეგად: მომხმარებლისგან, სერვისის გამორთვის ავტორიზაცია ან აპლიკაციის წარუმატებლობა. ამ მოვლენებს განსხვავებული პრიორიტეტები აქვთ იმისდა მიხედვით, თუ რამდენად კრიტიკულია ისინი. Linux-ში არის შემდეგი სახის ღონისძიებები:

  1. emerg - წარუმატებლობა, უმაღლესი პრიორიტეტი;
  2. alert - გადაუდებელი გაფრთხილება;
  3. crit - კრიტიკული მოვლენა;
  4. err - ჩვეულებრივი შეცდომა;
  5. warn - ჩვეულებრივი გაფრთხილება;
  6. notice - შეტყობინება;
  7. info - საინფორმაციო შეტყობინება;
  8. debug - ინფორმაციის გამართვა;

ამ ეტაპზე, Linux-ში ლოგების შეგროვების ძირითადი სერვისებია rsyslog და systemd-journald . ისინი თანამედროვე დისტრიბუციული პაკეტების უმეტესობასთან ერთად მუშაობენ და დამოუკიდებლად მუშაობენ.

rsyslog

ამ სერვისის ჟურნალები განთავსებულია „ /var/log/ “ საქაღალდეში ჩვეულებრივი ტექსტური ფაილების სახით. ჟურნალის შეტყობინებები მოთავსებულია სხვადასხვა ფაილში, მოვლენის ტიპის მიხედვით. მაგალითად, „ /var/log/auth.log “ შეიცავს ინფორმაციას სისტემაში მომხმარებლების ავტორიზაციის შესახებ, ხოლო „ /var/log/kern.log “ - ბირთვის შეტყობინებებს. ფაილების სახელები შეიძლება განსხვავდებოდეს დისტრიბუციის პაკეტების მიხედვით, ამიტომ მოდით გადავხედოთ კონფიგურაციის ფაილს, რათა წარმოდგენა შევიქმნათ, თუ სად მდებარეობს „ /etc/rsyslog.d/50-default.conf “.

Сбор логов Linux უტлитой rsyslog

ეს წესები აჩვენებს, თუ რომელი ფაილი შეიცავს ჟურნალის შეტყობინებების თითოეულ ტიპს. მარცხენა ნაწილი აჩვენებს შეტყობინების ტიპს შემდეგი ფორმით „ [წყარო].[პრიორიტეტული] “, ხოლო მარჯვენა ნაწილი აჩვენებს ჟურნალის ფაილის სახელს. შეტყობინების ტიპის ჩაწერისას შეიძლება დაემატოს „ * “ სიმბოლო. ეს ნიშნავს ცარიელ მნიშვნელობას ან „ არცერთს “, რაც მას სიიდან შლის. მოდით, უფრო დეტალურად განვიხილოთ პირველი ორი წესი.

“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
ჩაწერა ლოგ-ფაილე ლინუქსში о неудачной попытке ავტორიზაციის SSH

ფაილის თითოეული სტრიქონი არის ცალკე შეტყობინება, რომელიც მიღებულია აპლიკაციიდან ან სერვისიდან. ყველა შეტყობინებას, მიუხედავად მათი წყაროსა, აქვს ერთი ფორმატი და შედგება 5 ნაწილისგან. მაგალითისთვის ავიღოთ მონიშნული შეტყობინება ეკრანის სურათზე.

  1. შეტყობინების დროის შტამპი - „თებერვალი 12 06:18:33“
  2. კომპიუტერის სახელი, რომელმაც გაგზავნა შეტყობინება - "vds"
  3. აპლიკაციის ან სერვისის სახელი, რომელმაც გაგზავნა შეტყობინება - „sshd“
  4. პროცესის ID - [653]
  5. შეტყობინების ტექსტი - „მიჰაილისთვის მიღებული პაროლი 188.19.42.165 პორტიდან 2849 ssh2“

ეს იყო SSH-თან წარმატებული კავშირის მაგალითი.

და აი, როგორ გამოიყურება წარუმატებელი შესვლის მცდელობა:

წაიკითხეთ ლოგი Linux

ეს ფაილი ასევე იწერს ბრძანებებს გაფართოებული ნებართვებით

როგორ სწორად წაიკითხოთ log Linux

მოდით გავხსნათ /var/log/syslog ფაილი

მონიშნული შეტყობინება ეკრანის სურათზე არის შეტყობინება ქსელის ინტერფეისის გამორთვის შესახებ.

გამოიყენეთ ლოგოროტაცია

გრძელი ტექსტური ფაილებიდან ინფორმაციის მოსაძებნად გამოიყენეთ grep პროგრამა. pptpd სერვისიდან მიღებული ყველა შეტყობინების პოვნა შეგიძლიათ „ /var/log/syslog “ ფაილში.

grep 'pptpd' /var/log/syslog
ფაილი "/etc/logrotate.d/rsyslog"

დიაგნოსტიკის დროს შეგიძლიათ გამოიყენოთ tail პროგრამა, რომელსაც შეუძლია ფაილების რამდენიმე ბოლო ხაზის ჩვენება. ბრძანება „ 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 სერვისის ლოგების ბრუნვის წესებს.

მაგალითი вывода всех ошибок pptpd в лог-файлах

პირველ რიგში, წესი უნდა შეიცავდეს გზას ჟურნალის ფაილისკენ და შემდეგ გადავიდეს ყველა მითითება მოსახვევ ფრჩხილებში.

  • როტაცია 7 - შესანახი ფაილების რაოდენობა - 7
  • ყოველდღიური - ყოველდღე შექმენით ახალი ფაილი
  • შეკუმშოს - ძველი ფაილების შეკუმშვა და დაარქივება
ლინუქსის კითხვა

ეკრანის სურათზე ხედავთ, რომ „ /var/log/ “ საქაღალდეში არის მთავარი ჟურნალი „ syslog “ და 7 არქივი, რომელიც შეესაბამება კონფიგურაციის ფაილში არსებულ წესებს.

Logrotate-ის უფრო დეტალური აღწერა შეგიძლიათ იხილოთ სახელმძღვანელოში, „ man logrotate “ ბრძანების შესრულებით.

Linux-ის ჟურნალების შეგროვება - ჟურნალი

ჟურნალების შეგროვების სერვისი systemd-journald ინიციალიზაციის სისტემის systemd ნაწილია . Linux-ის ჟურნალის ფაილები ინახება „ /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 “ გაგზავნილი ყველა შეტყობინება 2020 წლის 18 თებერვლის 04:15 საათიდან. სინამდვილეში, ის აჩვენებს ყველა ბრძანებას, რომელიც შესრულებულია უფრო მაღალი ნებართვებით.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

იმის გასარკვევად, თუ რამდენ ადგილს იკავებს ჟურნალის ფაილები დისკზე შემდეგი ბრძანების შესასრულებლად

journalctl --disk-usage

იმისათვის, რომ შეზღუდოთ ჟურნალის ფაილი 1 გბ-მდე, შეასრულეთ შემდეგი ბრძანება

journalctl --vacuum-size=1G

ორობითი ფაილების გახსნა

ახლა მოდით განვიხილოთ რამდენიმე სპეციალური ფაილი „ /var/log/ “ საქაღალდეში, სადაც ყველა შესვლის მცდელობა ინახება. ეს ფაილები ორობითია და მათი გახსნა მხოლოდ სპეციალური პროგრამებით არის შესაძლებელი.

/var/log/wtmp შეიცავს ინფორმაციას წარმატებული შესვლის მცდელობების შესახებ. მის გასახსნელად გამოიყენეთ ბოლო პროგრამა.

утилита lastlog

/var/log/btmp - შეიცავს ყველა წარუმატებელ შესვლის მცდელობას. მისი გახსნა შესაძლებელია lastb-ით გაფართოებული ნებართვებით. ატრიბუტი -n განსაზღვრავს ფაილის ბოლოდან ნაჩვენები ხაზების რაოდენობას.

/var/log/lastlog - შეიცავს ანგარიშის თითოეული ჩანაწერისთვის ბოლო შესვლის დროს. მისი გახსნა შესაძლებელია lastlog- ით.

❮ წინა სტატია Linux ტექსტური რედაქტორები
შემდეგი სტატია ❯ როგორ დავაკონფიგურიროთ ქსელის ინტერფეისები CentOS-ში

გვკითხეთ VPS-ის შესახებ

ჩვენ ყოველთვის მზად ვართ ვუპასუხოთ თქვენს შეკითხვებს დღისა და ღამის ნებისმიერ დროს.