Ubuntu бүртгэл. Линукс бүртгэлийн файлуудыг дарааллаар нь байрлуулна. лог файлууд болон тэдгээрийн Linux дахь байршил

Оршил

GNU/Linux-ийг гайхалтай болгодог зүйлсийн нэг үйлдлийн системЭнэ нь систем дээр болон системд болж буй бараг бүх зүйл, бүх зүйл ямар нэгэн байдлаар нэвтэрч болно гэсэн үг юм. Энэхүү мэдээлэл нь системийг мэдээлэлтэй ашиглахад үнэлж баршгүй чухал бөгөөд систем болон програмын асуудлыг шийдвэрлэхэд ашигладаг хамгийн анхны эх сурвалжуудын нэг байх ёстой. Бүртгэлүүд нь танд хамгийн түрүүнд хаанаас хайхаа мэддэг бол таны мэдэх шаардлагатай бараг бүх зүйлийг хэлж чадна.

Таны Ubuntu систем нь янз бүрийн системийн бүртгэлийн файлуудыг ашиглан амин чухал мэдээллээр хангадаг. Эдгээр бүртгэлийн файлууд нь ердийн лог файлын форматтай энгийн ASCII текст бөгөөд тэдгээрийн ихэнх нь уламжлалт системийн бүртгэлийн дэд директорт /var/log байрладаг. Ихэнх нь системийн бүртгэлийн дэмон, системийн нэрийн өмнөөс syslogd болон тодорхой программуудаар үүсгэгддэг бол зарим программууд /var/log доторх файлууд руу шууд бичиж өөрийн бүртгэлийг үүсгэдэг.

Энэхүү гарын авлагад эдгээр хэд хэдэн системийн бүртгэлийн файлуудыг хэрхэн уншиж ашиглах, системийн бүртгэлийн дэмон, syslogd-г хэрхэн ашиглах, тохируулах, бүртгэлийн эргэлт хэрхэн ажилладаг талаар өгүүлдэг. -г үзнэ үү Нөөцхэсгээс нэмэлт мэдээлэл авна уу.

Зорилтот бүлэг

Хэрэв та консол ашиглаж, текст засварлагч ашиглан текст файлуудыг засварлаж байсан туршлагатай бол энэ гарын авлагыг ашиглахад хангалттай хялбар байх болно. Хэрэв та командын мөрөнд харьцангуй шинэ бол эдгээр файлуудыг тойрон гарах замаа олоход тань туслах зарим чухал тушаалуудыг энэ баримт бичгийн төгсгөлөөс харна уу.

Системийн бүртгэлүүд

Системийн бүртгэлүүд нь үндсэндээ Ubuntu системийн үйл ажиллагаатай холбоотой байдаг ба хэрэглэгчдийн нэмсэн нэмэлт програмууд байх албагүй. Жишээ нь, зөвшөөрлийн механизм, системийн демонууд, системийн мессежүүд, бүхэл бүтэн системийн бүртгэл өөрөө, syslog.

Зөвшөөрлийн бүртгэл

Зөвшөөрлийн бүртгэл нь зөвшөөрлийн системийн ашиглалт, Pluggable Authentication Module (PAM) систем, sudo команд, sshd руу алсаас нэвтрэх гэх мэт хэрэглэгчийн нууц үгийг асуудаг хэрэглэгчдэд зөвшөөрөл олгох механизмыг бүртгэдэг. Зөвшөөрлийн бүртгэлийн файлд /var/log/auth.log хаягаар хандаж болно. Энэ бүртгэл нь хэрэглэгчийн нэвтрэлт болон sudo командын ашиглалтын талаар суралцахад хэрэгтэй.

Дууны хэмжээг багасгахын тулд grep ашиглана уу. Жишээлбэл, зөвхөн sshd нэвтрэлттэй холбоотой зөвшөөрлийн бүртгэлээс мэдээллийг харахын тулд үүнийг ашиглана уу:

grep sshd /var/log/auth.log | бага

Демон бүртгэл

Демон нь ерөнхийдөө хүний ​​оролцоогүйгээр далд ажилладаг программ бөгөөд таны системийг зөв ажиллуулахад чухал зарим үйлдлийг гүйцэтгэдэг. /var/log/daemon.log дээрх дэмоны бүртгэл нь Gnome Display Manager demon gdm , Bluetooth HCI дэмон hcid эсвэл MySQL өгөгдлийн сангийн дэмон mysqld зэрэг ажиллаж байгаа систем болон програмын дэмонуудын талаарх мэдээллийг агуулдаг. Энэ нь тодорхой демонтой холбоотой асуудлыг шийдвэрлэхэд тусална.

Дахин хэлэхэд grep ашиглан тодорхой мэдээллийг хайж, сонирхож буй демоныхоо нэрийг оруулна уу.

Дибаг хийх бүртгэл

/var/log/debug хаягаар дибаг хийх ба Ubuntu систем болон DEBUG түвшинд syslogd руу нэвтэрдэг програмуудаас дибаг хийх дэлгэрэнгүй мессежүүдийг өгдөг.

Цөмийн бүртгэл

/var/log/kern.log дээрх цөмийн бүртгэл нь Ubuntu Linux цөмөөс ирсэн мессежүүдийн дэлгэрэнгүй бүртгэлийг өгдөг. Эдгээр мессежүүд нь жишээлбэл, шинэ эсвэл захиалгаар бүтээгдсэн цөмийн асуудлыг шийдвэрлэхэд тустай байж болох юм.

Цөмийн цагираг буфер

Цөмийн цагирагийн буфер нь үнэндээ лог файл биш, харин ажиллаж байгаа цөмд байгаа хэсэг бөгөөд та dmesg хэрэгслээр дамжуулан цөмийн ачаалах мессежийг асууж болно. Зурвасуудыг харахын тулд үүнийг ашиглана уу:

dmesg | бага

Эсвэл жишээлбэл, Plug & Play системийг дурдсан мөрүүдийг хайхын тулд grep-ийг дараах байдлаар ашиглана уу:

dmesg | grep pnp | бага

Анхдагч байдлаар /etc/init.d/bootmisc.sh системийг эхлүүлэх скрипт нь бүх ачаалах мессежийг /var/log/dmesg файл руу илгээдэг. Та энэ файлыг ердийн аргаар харж, хайх боломжтой.

Системийн бүртгэл

Системийн бүртгэл нь ихэвчлэн таны Ubuntu системийн талаархи хамгийн их мэдээллийг агуулдаг. Энэ нь /var/log/syslog дээр байрладаг бөгөөд бусад бүртгэлд агуулаагүй мэдээллийг агуулж болно. Хүссэн бүртгэлийн мэдээллийг өөр бүртгэлээс олох боломжгүй үед Системийн бүртгэлээс лавлана уу. Энэ нь /var/log/messages-д байсан бүх зүйлийг агуулна.

Хэрэглээний бүртгэл

Олон програмууд /var/log-д бүртгэл үүсгэдэг. Хэрэв та /var/log дэд сангийн агуулгыг жагсаавал Apache 2-ын бүртгэлийг төлөөлөх /var/log/apache2 гэх мэт танил нэрсийг харах болно. вэб сервер, эсвэл /var/log/samba , Samba серверийн бүртгэлийг агуулсан. Энэхүү гарын авлагын хэсэг нь програмын бүртгэлийн зарим тодорхой жишээнүүд болон тэдгээрт агуулагдсан мэдээллийг танилцуулж байна.

Apache HTTP серверийн бүртгэл

Ubuntu дээрх Apache2-ийн анхдагч суулгац нь бүртгэлийн дэд санг үүсгэдэг: /var/log/apache2. Энэ дэд директор дотор хоёр өөр зорилготой хоёр бүртгэлийн файл байна:

    /var/log/apache2/access.log - үйлчилгээ үзүүлж буй хуудас, вэб серверээс ачаалагдсан файл бүрийн бүртгэл.

    /var/log/apache2/error.log - HTTP серверийн мэдээлсэн бүх алдааны нөхцлийн бүртгэл

Анхдагч байдлаар, Apache файл эсвэл хуудсанд хандах бүрд хандалтын бүртгэлүүд нь IP хаяг, цаг, огноо, хөтчийн таних тэмдэгт мөр, HTTP үр дүнгийн код болон бодит асуулгын текстийг бүртгэдэг бөгөөд энэ нь ерөнхийдөө хуудас харах GET болно. Бүрэн тоймыг Apache баримтаас харна уу; Энэ файлаас маш их зүйлийг олж авах боломжтой бөгөөд үнэхээр эдгээр бүртгэлд дүн шинжилгээ хийдэг олон статистик багц байдаг.

Мөн ямар нэгэн алдаа гарах бүрт Apache алдааны бүртгэлд мөр нэмж оруулдаг. Хэрэв та PHP-г алдаа болон анхааруулах мессежүүдийг идэвхгүй болгосон тохиолдолд ажиллуулж байгаа бол энэ нь алдааг тодорхойлох цорын ганц арга зам байж болох юм.

CUPS хэвлэх системийн бүртгэл

Common Unix Printing System (CUPS) нь мэдээлэл болон алдааны мессежийг хадгалахын тулд /var/log/cups/error_log өгөгдмөл бүртгэлийн файлыг ашигладаг. Хэрэв та Ubuntu дээр хэвлэх асуудлыг шийдэх шаардлагатай бол энэ бүртгэл нь эхлэхэд тохиромжтой газар байж магадгүй юм.

Rootkit Hunter Log

Rootkit Hunter хэрэгсэл (rkhunter) нь таны Ubuntu системд арын хаалга, sniffer болон rootkit байгаа эсэхийг шалгадаг бөгөөд эдгээр нь таны систем эвдэрсэн шинж тэмдэг юм. rkhunter-ийн ашигладаг лог нь /var/log/rkhunter.log дээр байрладаг.

Samba SMB серверийн бүртгэл

Server Message Block Protocol (SMB) сервер болох Samba нь таны Ubuntu компьютер болон SMB протоколыг дэмждэг бусад компьютеруудын хооронд файл хуваалцахад түгээмэл хэрэглэгддэг. Samba нь /var/log/samba дэд директорт гурван өөр төрлийн лог хадгалдаг:

    log.nmbd - Samba-ийн NETBIOS дээр IP функцтэй холбоотой мессежүүд (сүлжээний зүйлс)

    log.smbd - Samba-н SMB/CIFS функцтэй холбоотой мессежүүд (файл болон хэвлэх хуваалцах зүйлс)

    бүртгэл. - бүртгэлийн файлын нэрэнд агуулагдах IP хаягаас үйлчилгээ авах хүсэлттэй холбоотой мессежүүд, жишээ нь log.192.168.1.1 .

X11 серверийн бүртгэл

Ubuntu-д ашигладаг өгөгдмөл X11 цонхны сервер нь Xorg X11 сервер бөгөөд таны компьютерт зөвхөн нэг дэлгэц тодорхойлогдсон гэж үзвэл лог мессежийг /var/log/Xorg.0.log файлд хадгалдаг. Энэ бүртгэл нь X11 орчинтой холбоотой асуудлыг оношлоход тустай.

Хүн унших боломжгүй бүртгэлүүд

/var/log дэд лавлахаас олдсон зарим лог файлууд нь заавал хүн биш харин программууд унших боломжтой байхаар бүтээгдсэн. /var/log дээр гарч ирэх ийм бүртгэлийн файлуудын зарим жишээг дагана уу.

Нэвтрэх алдааны бүртгэл

/var/log/faillog дээр байрлах нэвтрэлтийн алдааны бүртгэл нь үнэндээ faillog командаар задлан шинжилж харуулахаар бүтээгдсэн. Жишээлбэл, саяхан нэвтэрсэн алдааг хэвлэхийн тулд дараахыг ашиглана уу:

бүтэлгүйтлийн бүртгэл

Сүүлийн нэвтрэлтийн бүртгэл

/var/log/lastlog дээрх хамгийн сүүлийн нэвтрэлтийн бүртгэлийг хүмүүс ихэвчлэн задлан шинжилж, шалгах ёсгүй, харин lastlog командтай хамт ашиглах ёстой. Жишээ нь, lastlog командын тусламжтайгаар дэлгэц бүрт нэг хуудас харагдуулахыг хүсвэл дараах тушаалыг ашиглана уу.

lastlog | бага

Нэвтрэх бүртгэлийн бүртгэл

/var/log/wtmp файл нь нэвтрэх бичлэгүүдийг агуулдаг боловч дээрх /var/log/lastlog-ээс ялгаатай нь /var/log/wtmp нь саяхан нэвтэрсэн хүмүүсийн жагсаалтыг харуулахад ашиглагддаггүй, харин хэн гэх мэт бусад хэрэгслүүдэд ашиглагддаг. Одоогоор нэвтэрсэн хэрэглэгчдийн жагсаалтад оруулах команд. Энэ тушаал нь таны машинд нэвтэрсэн хэрэглэгчдийг харуулах болно:

ДЭМБ

Системийн бүртгэлийн дэмон (syslogd)

Систем бүртгэх дэмон syslogd нь sysklogd гэгддэг бөгөөд олон эх сурвалжаас ирсэн мессежүүдийг бүртгэхийг хүлээж, мессежийг зохих файл эсвэл сүлжээний очих газар руу чиглүүлдэг. Syslogd-д нэвтэрсэн мессежүүд нь ихэвчлэн бүртгэлийн тусгай мэдээллээс гадна системийн хостын нэр, цагийн тэмдэг зэрэг нийтлэг элементүүдийг агуулдаг.

Syslogd-ийн тохиргоо

Syslogd дэмоны тохиргооны файл нь /etc/syslog.conf . Энэ файлын оруулга бүр сонгогч болон үйлдэл гэсэн хоёр талбараас бүрдэнэ. Сонгогч талбар нь бүртгэлд бүртгүүлэх байгууламжийг зааж өгдөг, жишээлбэл autthзөвшөөрөлтэй холбоотой байгууламж, ийм мэдээллийг бүртгэх тэргүүлэх зэрэглэл, тухайлбал мэдээлэл, эсвэл анхааруулга. Үйлдлийн талбар нь стандарт бүртгэлийн файл (жишээ нь /var/log/syslog) эсвэл бүртгэлийн мэдээллийг илгээх алсын компьютерийн хостын нэр гэх мэт бүртгэлийн мэдээллийн зорилтот хэсгээс бүрдэнэ.

Бүртгэлийн тусламжтайгаар syslogd руу мессежүүдийг цуурайтаж байна

Бүртгэлийн хэрэгсэлд дур мэдэн системийн бүртгэлд (жишээ нь /var/log/syslog) мессеж байрлуулах боломжийг олгодог цэвэрхэн хэрэгсэл байдаг. Жишээлбэл, таны хэрэглэгчийн нэрийг будда гэж бодъё, мөн та өөрийн идэж буй онцгой амттай пиццаны тухай мессежийг системд оруулахыг хүсвэл терминалын сануулга дээр дараах тушаалыг ашиглаж болно:

мод бэлтгэгч Vinnys Gourmet Rocks-ийн энэхүү пицца

Та /var/log/syslog файлд дараах мөртэй байх болно:

1-р сарын 12 23:34:45 Орон нутгийн эзэн Будда: Виннис Гоурмет Роксоос ирсэн энэхүү пицца

Та мессеж ирж буй шошгыг зааж өгч, гаралтын стандарт алдааг дахин чиглүүлж болно.

# # жишээ бүртгэгчийн алдаа jive # logmsg="/usr/bin/logger -s -t MyScript " # энэ скрипт гэж юу болохыг зарлах, тэр ч байтугай $logmsg "Лавлах шалгагч FooScript Jive 1.0" # Фред байгаа эсэхийг шалгах" Энэ машин дээрх s home dir хэрэв [ -d /home/fred ]; дараа нь $logmsg "I. Фрэдийн үндсэн лавлах олдсонгүй. $logmsg "Э. Фред"-ийн үндсэн лавлах олдсонгүй. "Boo Hoo." 1 fi гарах

Энэ скриптийг chkdir.sh хэлбэрээр Фред-д гэрийн лавлах /home/fred байхгүй машин дээр ажиллуулах нь дараах үр дүнг өгнө.

bumpy@butters:~$./chkdir.sh MyScript: Лавлах шалгагч FooScript Jive 1.0 MyScript: E. Fred-н гэрийн лавлах олдсонгүй. Boo Hoo. bumpy@butters:~$tail -n 2 /var/log/syslog 1-р сарын 12 23:23:11 localhost MyScript: Лавлах шалгагч FooScript Jive 1.0 1-р сарын 12 23:23:11 localhost MyScript: E. Fred-ийн Нүүр лавлах олдсонгүй. Бо Ху.

Тиймээс, таны харж байгаагаар бид стандарт алдаагаар, терминалын мөрөнд мессеж хүлээн авсан бөгөөд тэдгээр нь манай системийн системд гарч ирдэг.

Бүртгэлийн эргэлт

/var/log эсвэл түүний дэд директоруудын аль нэг дэх лавлах жагсаалтыг үзэх үед та daemon.log.0 , daemon.log.1.gz гэх мэт нэртэй бүртгэлийн файлуудтай тулгарч магадгүй. Эдгээр бүртгэлийн файлууд юу вэ? Эдгээр нь "эргэдэг" бүртгэлийн файлууд юм. Өөрөөр хэлбэл, урьдчилан тодорхойлсон хугацааны дараа тэдгээр нь автоматаар нэрлэгдэж, шинэ анхны бүртгэл эхэлсэн. Илүү их хугацаа өнгөрсний дараа daemon.log.1.gz жишээн дээрх лог файлуудыг gzip хэрэгслээр шахах болно. Бүртгэлийг эргүүлэх зорилго нь хуучин логуудыг архивлах, шахах бөгөөд ингэснээр дискний зай бага зарцуулдаг ч шаардлагатай бол шалгах боломжтой хэвээр байна. Энэ функцийг юу зохицуулдаг вэ? Яагаад, мэдээж logrotate тушаал! Ер нь логротатыг /etc/cron.daily/logrotate систем даяарх cron скриптээс дууддаг ба цаашлаад /etc/logrotate.conf тохиргооны файлаар тодорхойлогддог. Тусдаа тохиргооны файлуудыг /etc/logrotate.d (жишээлбэл, apache2 болон mysql тохиргоонууд хадгалагддаг) дээр нэмж болно.

Энэ гарын авлагад таны Ubuntu систем дээрх аливаа бүртгэлийн файлыг автоматаар эргүүлэхийн тулд logrotate тохируулж болох олон арга замыг тусгахгүй. Дэлгэрэнгүйг үзнэ үү Нөөцэнэ гарын авлагын хэсэг.

ЖИЧ:Та мөн системийн бүртгэлийн файлуудыг logrotate ашиглахын оронд cron.daily скрипт /etc/cron.daily/sysklogd ашиглан эргүүлж болно. Үнэн хэрэгтээ логротатыг тохируулах нь ямар ч нөлөө үзүүлэхгүй мэт санагдах лог эргүүлэх үед хэрэглүүрийн хадгалах бүртгэл нь гэнэтийн үр дүнд хүргэж болзошгүй юм. Ийм тохиолдолд та /etc/cron.daily/sysklogd доторх cron.daily sysklogd скриптийг шалгаж, savelog гарын авлагын хуудсыг уншаад savelog нь таны зааж өгөөгүй байдлаар эргүүлэх үйлдэл хийхгүй байгаа эсэхийг харах хэрэгтэй. логротаци.

Чухал тушаалууд

Хэрэв та консол болон Линуксийн командын мөрөнд шинээр орсон бол эдгээр тушаалууд нь таныг лог файлуудтай үндсэн түвшинд ажиллах боломжтой болгоход тусална.

Эхлэх

Эдгээр файлуудын ихэнх нь байрладаг бүртгэлийн лавлах руу шилжихийн тулд cd командыг ашиглана уу. Энэ нь дараагийн команд бүрт бүрэн замын нэрийг бичих шаардлагатай болдог:

cd /var/log

Файлуудыг засварлах

Та Ubuntu болон Kubuntu-д дагалддаг энгийн текст засварлагч болох GEdit эсвэл Kate дээр файлуудыг харж, засварлаж болно, гэхдээ таны хийх ёстой зүйл бол файлыг харах эсвэл энгийн өөрчлөлт хийх үед эдгээр нь хэтэрхий их байх болно. Консолоос ашиглахад хамгийн хялбар засварлагч бол nano бөгөөд энэ нь vim эсвэл emacs-аас бага чадалтай боловч төвөгтэй биш юм. /var/log/example.log лог файлыг нано ашиглан засварлах тушаал нь:

nano example.log

Гарахын тулд Ctrl+X дарна уу. Энэ нь таныг гарах үед өөрчлөлтөө хадгалах эсэхийг асуух болно, гэхдээ та үүнийг sudo тушаалаар ажиллуулахгүй бол файлууд бичигдэх боломжгүй болно. Ерөнхийдөө та өөрчлөлтөө бүртгэлийн файлд хадгалахыг хүсэхгүй нь мэдээж.

Файлуудыг үзэж байна

Файлыг зүгээр л харахын тулд засварлагч хэт их ажил хийдэг. Файлын аль хуудсууд нэг удаад нэг дэлгэцээр дамжих бага командыг ашиглана уу:

бага жишээ.log

Та файлыг үзэхийн тулд sudo хэрэггүй. Тусламж авах бол h, эсвэл гарахын тулд q товчийг дарна уу. Курсорын товчлуурууд болон хуудасны дээш/доош товчлуурууд нь хүлээгдэж буй байдлаар ажиллах ба ташуу зураасны товчлуур ("/") тохиолдолд- мэдрэмжтэй хайлт; n товчлуур нь сүүлийн хайлтыг давтана.

Файлуудын эхлэлийг үзэж байна

Файлын эхний арван мөрийг харахын тулд head командыг ашиглана:

толгой жишээ.log

Файлын эхнээс өөр хэдэн мөрийг харахын тулд -n шилжүүлэгчийг нэмж, ингэснээр:

head -n 20 жишээ.log

Файлуудын төгсгөлийг харж байна

Файлын сүүлийн арван мөрийг харахын тулд ижил төстэй тушаал нь tail юм:

сүүл жишээ.log

Дахин хэлэхэд -n шилжүүлэгч нь хэдэн мөр харуулахыг хянах боломжийг танд олгоно.

tail -n 20 жишээ.log

Өөрчлөгдөж буй файлыг үзэж байна

Мөн -f ("дагах") шилжүүлэгч нь сүүлийг гогцоонд оруулан харуулж байгаа файлдаа шинэ нэмэлтүүдийг байнга хүлээж байдаг. Энэ нь бодит цаг хугацаанд шинэчлэгдэж буй файлуудыг хянахад хэрэгтэй:

tail -f жишээ.log

Ctrl+C дарж давталтаас гарна.

Файлуудыг хайж байна

Бүртгэлийн файлууд нь том бөгөөд ачаалал багатай байдаг тул анхаарлаа төвлөрүүлэхэд тусалдаг. grep тушаал нь зөвхөн таны сонирхож буй контентыг арилгахад тусална. Жишээлбэл, "систем" гэсэн үгийг агуулсан файлын бүх мөрийг олохын тулд үүнийг ашиглана уу:

grep "систем" жишээ.log

Мөрийн эхэнд "систем" гэсэн бүх мөрийг олохын тулд үүнийг ашиглана уу:

grep "^систем" жишээ.log

Зөвхөн мөрийн эхэнд таарах тогтмол илэрхийлэл болох карет тэмдгийг анхаар. Энэ нь үргэлж огноо, цагаар эхэлдэг стандарт лог файлуудад ашиг багатай боловч өөрөөр хэлбэл тохиромжтой байж болно. Бүх файлууд стандарт форматтай байдаггүй.

grep-ийн үр дүн хэтэрхий урт хэвээр байх үед та үүнийг бага хэмжээгээр дамжуулж болно:

grep "систем" жишээ.log | бага

Нөөц

Систем болон програмын бүртгэлүүд болон syslogd-ийн талаарх нэмэлт мэдээллийг дараах эх сурвалжаас авах боломжтой.

Орон нутгийн системийн нөөц

dmesg цөмийн цагираг буфер хэрэгслийн системийн гарын авлагын хуудас

faillog командын системийн гарын авлагын хуудас (мөн түүнчлэн man 5 faillog-ээр дамжуулан алдааны бүртгэлийн тохиргооны файл)

Grep загвар хайх хэрэгслийн системийн гарын авлагын хуудас

Толгойн хэрэгслийн системийн гарын авлагын хуудас

Цөмийн бүртгэлийн демоны системийн гарын авлагын хуудас (klogd)

Сүүлд нэвтэрсэн хэрэглэгчдийг харуулсан сүүлчийн командын системийн гарын авлага

Бага пейжерийн хэрэгсэлд зориулсан системийн гарын авлагын хуудас

Системийн гарын авлагын хуудас syslog хэрэгсэл рүү логгер командын мөрийн интерфейс

Logrotate хэрэгслийн системийн гарын авлагын хуудас

Savelog log файл хадгалах хэрэгслийн системийн гарын авлагын хуудас

Системийн бүртгэлийн демоны системийн гарын авлагын хуудас (syslogd)

syslogd тохиргооны файлын системийн гарын авлагын хуудас

Сүүлний хэрэгслийн системийн гарын авлагын хуудас


Линукс дээр бүртгэлийн файлуудыг (лог файлууд) үзэхдээ заримдаа шинэ бүртгэлийн оруулгуудыг бодит цаг хугацаанд хянах шаардлагатай болдог. Өөрөөр хэлбэл, та ямар бүртгэлийн файлыг (эсвэл файлуудыг) үзэж, тухайн файл дахь шинэ оруулгуудыг бодит цаг хугацаанд нь хянахыг хүсч байгаагаа зааж өгнө.

tail командын тусламжтайгаар бүртгэлийн файлуудыг хянах

Хэрэв та тушаалыг ажиллуулбал tailFileNameнэмэлт аргументгүйгээр файлын сүүлийн 10 мөр хэвлэгдэх ба команд нь ажлаа дуусгах болно.

Сүүл командыг тасралтгүй гаргахын тулд сүүлчийн тэмдэглэлүүдфайлд, өөрөөр хэлбэл файлд шинэ оруулгууд гарч ирвэл дэлгэц дээрх мэдээлэл шинэчлэгдсэн бол -f сонголтыг ашиглана.
tail -f LogFileName

/var/log/syslog лог файлыг гаргахын тулд tail -f командыг ажиллуулна

сүүл -f /var/log/syslog

Сонголтыг ашиглаж байгаа тул -f, tail команд нь ажлаа дуусгадаггүй, харин бүртгэлийн файлд шинэ оруулгууд гарч ирэхийг хүлээнэ. Бүртгэлийн файлд шинэ оруулгууд нэмэгдэнгүүт тэдгээр нь шууд терминал дээр харагдах болно.

Командын гүйцэтгэлийг тасалдуулахын тулд Ctrl+C товчлуурыг дарна уу

tailf тушаал

tail -f команд нь tailf командтай тэнцэнэ.

Хэрэглээ:

Tailf /var/log/mylogfile.log

tailf команд болон tail -f хоёрын чухал ялгаа нь tailf нь файлыг өөрчлөөгүй үед ханддаггүй. Үүний үр дүнд файлын хандалтын хугацаа шинэчлэгдээгүй бөгөөд файл шинэчлэгдээгүй үед систем нь файлыг диск рүү тасралтгүй угаадаггүй.

tailf командын тайлбар нь зөөврийн компьютер дээрх бүртгэлийн файлуудыг хянахад тустай болохыг харуулж байна. Диск рүү шаардлагагүйгээр ханддаггүй тул батерейны цэнэг хадгалагдана.

сүүл - Ф. Хэрэв файлын нэрийг өөрчилсөн эсвэл устгасан бол

Ихэвчлэн Линукс дээр бүртгэлийн файлууд нь тодорхойгүй хугацаагаар бичигддэггүй, эс тэгвээс ийм файлыг ирээдүйд ашиглахад маш тохиромжгүй болно. Үүний оронд файлын эргэлт гэж нэрлэгддэг зүйлийг ашигладаг. Лог файл томрох үед устгагдах эсвэл нэрээ өөрчилдөг (файлын нөөц хуулбар үүсгэгддэг), цаашдын мессежүүд шинэ хоосон файлд бичигдэж эхэлдэг.

Сүүл команд нь -f ба -F гэсэн хоёр сонголттой

  • Ашигласан бол сонголт -fмөн хянагдсан файлын нэрийг өөрчилсөн бол tail команд нь аль хэдийн өөрчлөгдсөн файлыг үргэлжлүүлэн хянах болно. Баг сүүлЭнэ тохиолдолд энэ нь файлын танигч (inode) -тэй холбогдсон байна.
  • Ашигласан бол сонголт - Fмөн хянагдсан файлын нэрийг өөрчилсөн тохиолдолд tail команд нь үүнийг илрүүлж, шинэ бүртгэлийн файл үүсгэгдэнгүүт (бидний тушаалд заасан нэрээр) сүүл), баг сүүлэнэ шинэ файлыг хянаж эхэлнэ.

Нэг жишээ авч үзье.

Бид /var/log/apache2/error.log лог файлыг хянах болно. -F сонголтоор tail командыг гүйцэтгэнэ

Tail -F /var/log/apache2/error.log

Хэрэв систем error.log файлыг error.log.1 руу зөөж (нэрээ өөрчил) шинэ error.log файл үүсгэвэл манай tail команд шинэ error.log файлыг үргэлжлүүлэн хянах болно.

Хэрэв бид энэ жишээн дээрх сонголтыг ашиглах юм бол -f,дараа нь tail команд нь error.log.1 файлыг үргэлжлүүлэн хянах бөгөөд энэ нь бүртгэлийг бодит цаг хугацаанд үзэхэд бидэнд хамааралгүй болсон.

Олон бүртгэлийн файлуудыг нэгэн зэрэг хянах

Сүүл команд нь нэг дор олон файлыг хянахыг дэмждэг. Үүнийг хийхийн тулд та зайгаар тусгаарлагдсан файлын нэрийг зааж өгөх ёстой.

Tail -f /var/log/apache2/error.log /var/log/apache2/access.log

Аль нэг файл өөрчлөгдөхөд энэ файлын нэр болон түүн дэх шинэ оруулгууд дэлгэцэн дээр гарч ирнэ.

Хэд хэдэн бүртгэлийн файлыг нэгэн зэрэг хянахын тулд маш тохиромжтой олон талт хэрэгсэл байдаг

Энэ нь зөвхөн өгөгдлийг харуулахгүй бөгөөд файл бүрт өөрийн гэсэн цонх (талбай) үүсгэж, энэ цонхонд өгөгдлийг харуулдаг. Үүний тусламжтайгаар олон бүртгэлийн файлуудыг нэг дор хянаж, нэг терминалын цонхонд харах нь маш тохиромжтой.

Multitail хэрэгслийг өөрийн түгээлтийн стандарт репозитороос суулгаж болно. Суулгахын тулд тушаалыг ажиллуулна уу (өөрийн түгээлтийн тохирох командыг сонгоно уу):

Sudo apt install multitail sudo yum install multitail sudo dnf multitail суулгах

Хэрэглээ:

Multitail /var/log/apache2/access.log /var/log/apache2/error.log

Хэрэгслээс гарахын тулд q товчийг дарна уу

Бүх бүртгэлийн файлууд /var/log санд байрладаг. Тэр санд бүртгэлийн төрөл тус бүрийн тодорхой файлууд байдаг. Жишээлбэл, цөмийн үйл ажиллагаа гэх мэт системийн бүртгэлийг syslog файлд бүртгэдэг.

Энэ директор дахь хамгийн нийтлэг бүртгэлийн файлуудын зарим нь:

    apt лавлах дотор бүх багц суулгах болон устгах бүх мэдээллийг Live CD хэлбэрээр анх систем үүсгэсэн хүртэл хадгалдаг history.log файл байдаг. Та энэ маш сонирхолтой файлыг харахын тулд энэ файлыг нээж болно.

    Dist-upgrade лавлах дотор түгээлтийн шинэчлэлтийн үед мэдээллийг бүртгэдэг apt.log файл байдаг

    Суулгах явцад үүсгэгдсэн бүртгэлийн файлуудыг лавлах суулгагчаас олж болно.

    Таны систем дэх эвдрэлийн талаарх мэдээллийг хадгалж, мэдээлэх apport.log файл байна.

    auth.log файл нь таныг sudo-ээр дамжуулан root хэрэглэгчээр баталгаажуулах зэрэг баталгаажуулалтын үйл ажиллагааны талаарх мэдээллийг агуулдаг.

    dpkg.log файл нь dpkg -тэй холбоотой багц суулгах, устгах доод түвшний дэлгэрэнгүй мэдээллийг хадгалдаг. Apt систем нь багцыг суулгах, устгахад dpkg-ээс хамаардаг гэдгийг та мэдэж байгаа байх.

    boot.log нь ачаалах бүрийн мэдээллийг агуулдаг.

    kern.log нь анхааруулга, алдаа гэх мэт цөмийн мэдээллийг хадгалдаг.

    alternatives.log нь янз бүрийн багцуудын тохируулсан бүх хувилбаруудын түүхийг багтаасан бөгөөд тэдгээрийг update-alternatives командаар устгадаг.

    Өөр нэг чухал бүртгэлийн файл бол график драйвер, алдаа, анхааруулга гэх мэт мэдээллийг агуулсан Xorg.log юм.

Таны суулгасан багцаас хамааран бусад төрлийн бүртгэлийн файлууд байж болно. Жишээлбэл, Миний системд мөн epoptes.log бүртгэлийн файлууд байдаг бөгөөд энэ нь зөвхөн epoptes багцыг суулгасан тохиолдолд л байх болно.

Системийн дараа өөрчлөлтүүд

Systemd гарч ирснээр бүртгэлийг ихэвчлэн journalctl хэрэглүүр зохицуулдаг бөгөөд логуудыг хоёртын форматаар /var/lib/systemd/catalog/database файлд хадгалдаг. Энэ файл нь цөм, ачаалах болон програмын бүртгэл зэрэг бүх логуудыг тоолж, journalctl хэрэгслээр дамжуулан шаардлагатай бүртгэлийг өгдөг.

Эндээс journalctl дээр шаардлагатай бүртгэлийн мэдээллийг хэрхэн ашиглах талаар сайн нийтлэл байна.

Үйл ажиллагааны явцад систем нь алдаа, буруу тохиргоо зэргийг засах, дибаг хийх зорилгоор ашиглахад чухал эсвэл шаардлагатай гэж үзсэн зарим үйл явдлыг хянаж, тусгай файлд хадгалдаг. Эдгээр үйл явдлуудыг хадгалах файлуудыг бүртгэлийн файлууд эсвэл бүртгэл гэж нэрлэдэг. файлууд. Ихэнхдээ бүртгэлийн файлууд нь дискний хэт их зай эзэлдэг бөгөөд энэ нь системийн доголдол, тохиргооны алдаа эсвэл бүх зүйлийг хянаж, цуглуулдаг үйл явдлын бүртгэлийн дэмонуудын буруу тохиргоог илтгэж болно. Тиймээс үйл явдлын бүртгэлийн системтэй ажиллах нь системийн үйлчилгээний чанар, үр дүнд нь найдвартай, бат бөх чанар нь бүрэн хамаардаг аливаа системийн администраторын ажлын чухал бүрэлдэхүүн хэсэг юм.

Үйл явдлын бүртгэлийн систем хэрхэн ажилладаг вэ?

Туршлагатай системийн администраторууд бүртгэлийн бүртгэлийг (файл) тогтмол, онцгой анхаарал болгоомжтой хянаж, дүн шинжилгээ хийх шаардлагатай гэдгийг мэддэг. Бүртгэлд агуулагдах мэдээлэл нь ихэвчлэн системийн тохиргоонд байгаа асуудлыг хурдан шийдвэрлэх эсвэл далд асуудлуудыг илрүүлэхэд тусалдаг. Үйл явдлыг системээр хянах, бүртгэлийг шалгах, эдгээр бүртгэлээс мэдээллийг бүртгэх, хадгалах, архивлах, устгахын тулд систем, сервер, сүлжээг ажиллуулж, засвар үйлчилгээ эрхэлдэг байгууллагад тусгай журам боловсруулж, батлах ёстой.

UNIX болон Лину дахь үйл явдлын бүртгэлийн гол хэрэгсэл хэвээр байна syslogd дэмон Syslog системүүд. Гэхдээ UNIX-ийн олон янзын салбаруудаас болж удаан хугацааны туршид та бас санаж байх хэрэгтэй Линукс хувилбаруудОлон програм хангамжийн багцууд, үйлчилгээний скриптүүд болон сүлжээний демонууд нь заримдаа чамин форматтай өөрсдийн логуудыг ашигладаг.

Ерөнхийдөө Syslog систем (болон бусад тусгай програмууд) нь хянаж буй үйл явдлыг таслан зогсоож, бүртгэлийн файлд бүртгэдэг. Бүртгэгдсэн үйл явдал нь өөрөө үйл явдлын огноо/цаг, төрөл, ноцтой байдлын талаархи мэдээллийг агуулсан текстийн мөр юм. Нөхцөл байдлаас шалтгаалан энэ багц нь бусад өгөгдлийг агуулж болно. Бүртгэгдсэн үйл явдлын мөр нь өөрөө заагласан бүрэлдэхүүн хэсгүүдийг тодруулахын тулд хоосон зай, таб, цэг таслал зэрэг тэмдэгтүүдээр хуваагдана.

Бүртгэл нь тогтмол байдаг тул харахад хялбар байдаг текст файлууд. Учир нь үр дүнтэй ажилхамгийн их сэтгүүлүүдтэй стандарт хэрэгсэлаливаа түгээлтийн үндсэн хуваарилалтаас - командууд болон . Хэрэв та маш том, нарийн төвөгтэй логуудыг самнах шаардлагатай бол grep хэрэгслийн оронд ийм даалгаварт илүү бүтээмжтэй, уян хатан өөр хэрэгслийг ашиглаж болно (мөн бүр хэрэгтэй). Perl текст боловсруулах хэл нь үүнд маш тохиромжтой.

Ердийн Syslog системийн бүртгэлийн оруулга нь ихэвчлэн дараах байдлаар харагддаг:

12-р сарын 18 15:12:42 backup.main.superhosting.ru sbatchd: sbatchd/main: ls_info() амжилтгүй болсон: LIM унтарсан; дараа оролдох; оролдож байна ... 12-р сарын 18 15:14:28 system.main.superhosting.ru pop-proxy: 186.115.198.84-аас холболт 12-р сарын 18 15:14:30 control.main.superhosting.ru pingem: office.main.superhosting.ru 42 удаа хариу өгөөгүй байна 12-р сарын 18 15:15:05 service.main.superhosting.ru vmunix: Олон тооны зөөлөн алдаа: SIMM J0201-ээс 100 залруулсан зөөлрүүлэгчийг харсан 12-р сарын 18 15:15:16 backup.main.superhosting.ru (PAMshd) хаалттай "хэрэглэгч trent

Энэ тохиолдолд та Syslog бүртгэлүүдийн аль нэг нь хэд хэдэн эх сурвалжаас авсан үйл явдлуудыг агуулж байгааг харж болно: sbathd, pingem, pop-proxy програмууд. Та мөн энэ системтэй харилцаж буй хэд хэдэн хостуудын үйл явдлуудыг бүртгэж байгааг харж болно: нөөц, систем, оффис, үйлчилгээ.

лог файлууд болон тэдгээрийн Linux дахь байршил

Өмнө дурьдсанчлан, in UNIX системүүдболон Линукс дээр бүртгэлийг хаана, хэрхэн хадгалах талаар тодорхой конвенц байдаггүй. Тэдгээр нь бүхэл бүтэн файлын системд тархсан байж болох тул администратор бүр тохирох бүртгэлийн файлууд хаана, ямар багц, демонуудад зориулагдсан болохыг нэн даруй ойлгох нь чухал юм. Хэдийгээр логуудыг хаана хадгалах талаар тодорхой албан ёсны зохицуулалт байхгүй ч эдгээр файлуудыг /var/log, /var/log/syslog, мөн /var/adm директорт байрлуулах ёстой гэсэн уламжлалт дүрэм байсаар байна.

Дүрмээр бол зөвхөн супер хэрэглэгчдэд заасан лавлах дахь файлуудыг унших эрхийг олгодог боловч системийн чухал мэдээллийг агуулаагүй байнга үздэг логуудад илүү "ардчилсан" хандалтын горимыг тохируулахад буруудах зүйлгүй. Ихэвчлэн /var/log/apache2 эсвэл /var/log/httpd дээр байрладаг Apache вэб сервер гэх мэт зарим логуудыг байнга, тогтмол шалгаж байх шаардлагатай үед энэ сонголтыг тав тухтай байлгах, цаг хэмнэх зорилгоор ашигладаг. .

Бүртгэлийн файлуудын нийт хэмжээ огцом нэмэгдэж, системд гэмтэл учруулах өндөр эрсдэлтэй тохиолдол байдаг гэдгийг санах нь зүйтэй. Хадгалах төхөөрөмж дээрх сул зайг хянах, найдвартай байдлыг хангах үүднээс /var лавлахыг ихэвчлэн тусдаа хэсэгт байрлуулдаг. Файлын системтусдаа хэсэг дээр.

Зарим тусгай бүртгэлийн файлууд

Дараах хүснэгтэд зарим лог файлуудын талаарх мэдээллийг өгсөн бөгөөд эдгээр мэдээлэл нь системийн удирдлагад маш хэрэгтэй байдаг.

Файл Програм Газар Давтамж Системүүд Зорилго
хүчиллэг хүчиллэг Ф 64к Р.З Эрчим хүчний системийн үйл явдлууд
auth.log sudo болон бусад С М У Зөвшөөрлийн мэдээлэл
apache2/* httpd эсвэл apache2 Ф Д ЗҮ Apache вэб серверийн бүртгэл
тохиромжтой* APT Ф М У Багц суулгагчид
boot.log Скриптүүдийг ажиллуул Ф М Р Скриптийн бүртгэлийг ажиллуул
boot.msg Гол IN - З Цөмийн мессежийн буфер зураг
cron cron С Н РАХ Крон демоны талаархи бүртгэлүүд болон мэдээлэл
аяга/* ЦАГААН Ф Н ZRU Хэвлэлийн системтэй холбоотой мессежүүд
daemon.log Төрөл бүрийн С Н У Чөтгөрийн хэрэгслийн мессежүүд
дибаг хийх Төрөл бүрийн С Д У Мессежүүдийг дибаг хийх
dmesg Гол IN - RU Цөмийн мессежийн буфер зураг
dpkg.log dpkg Ф М У Багц суулгагчид
бүтэлгүйтлийн бүртгэл нэвтрэх Н Н РЗУ Амжилтгүй зөвшөөрлийн оролдлогын талаарх мэдээлэл
apache2/* Httpd эсвэл apache2 Ф Д Р /etc директорт зориулсан Apache вэб серверийн бүртгэл
kern.log нэвтрэх IN - Р.З Цөмийн хэрэгслийн бүх мессежүүд
сүүлчийн тэмдэглэл нэвтрэх IN - Р.З Хэрэглэгч бүрийн сүүлийн нэвтрэх хугацаа (энэ файл нь хоёртын файл)
шуудан* Имэйлийн програмууд С Н Бүгд Цахим харилцаа холбоо
зурвасууд Төрөл бүрийн С Н RZUS
rpmpkgs cron.daily IN Д Р Суулгасан RPM багцуудын жагсаалт
самба/* smbd болон бусад Ф Н - Samba серверийн тухай мэдээлэл
аюулгүй sshd болон бусад С М Р Нууц зөвшөөрлийн мессежүүд
сулог су Ф - SAH su командыг ашиглах оролдлого амжилттай болон амжилтгүй болсон тухай мэдээлэл
системийн бүртгэл* Төрөл бүрийн С Х SUH Системийн бүртгэлийн үндсэн файл
анхааруулах wpar С Х З Системийн анхааруулга/алдааны түвшний үйл явдлууд
wpars/* wpar Ф - А Ачаалах хуваалтын үйл явдлын мэдээлэл
wtmp нэвтрэх IN М Бүгд Системийн бүртгэлийн мессеж (хоёртын файл)
xen/* Ксен Ф РЗУ Xen виртуал машины дэлгэцийн мэдээлэл
Xorg.n.log Xorg Ф Н R.S. X Windows серверийн алдааны мессежүүд
yum.log юм Ф М Р Багц удирдлагын бүртгэл

Энэ хүснэгтэд дараах тэмдэглэгээ хамаарна: S - Syslog, B - суурилагдсан нэр, F - тохиргооны файл, D - өдөр бүр, N - долоо хоног бүр, M - сар бүр, NN - килобайт эсвэл мегабайтаар хэмжигдэх хэмжээ, Z - SUSE, R - Red Hat болон CentOS, S - Solaris, H - HP-UX, A - AIX. Давтамж багана нь цаг хугацаа эсвэл файлын хэмжээтэй холбоотой хуучирсан мэдээллийг устгах давтамжийг заана. Програмын багана нь файлыг үүсгэсэн програмыг заана.

Хүснэгтэд үзүүлсэн файлуудын ихэнх мессежийг Syslog систем рүү илгээдэг гэдгийг тэмдэглэх нь зүйтэй. Хүнд байдлын түвшин болон файлыг үүсгэгч программыг /etc/initlog.conf тохиргооны файлд зааж өгсөн болно. - Syslog систем ингэж ажилладаг. faillog файл нь хоёртын файл тул faillog хэрэглүүрээр унших боломжтой.

Хэрэв та алдаа олсон бол текстийн хэсгийг тодруулж, товшино уу Ctrl+Enter.