แนะนำฉันผ่านไฟล์บันทึก Linux (โปรด)


11

ฉันเพิ่งลองโหลดไฟล์ 2MB ใน gedit และมันก็เสียชีวิตอย่างเงียบ ๆ กับฉัน ฉันสงสัยว่ามีสิ่งใดที่อาจปรากฏในไฟล์บันทึกที่อาจช่วยฉันวินิจฉัยสิ่งนี้: ฉันตรวจสอบsyslogและพบว่ามันถูกแบ่งออก ขณะทำสิ่งนี้ฉันรู้ว่าฉันไม่รู้อะไรเลยเกี่ยวกับวิธีการจัดระเบียบการบันทึกบนเครื่อง * nix

ทั้งหมดที่ฉันรู้คือหมอ

  1. บันทึกมักจะถูกเก็บไว้ใน/var/log/... มีที่ไหนอีกบ้างที่ฉันควรรู้

  2. ฉันคุ้นเคยกับบันทึกเฉพาะแอปพลิเคชันเช่นของ apache

  3. ฉันเข้าใจว่าdmesgเป็นบันทึกการบูตและsyslogเป็นบันทึกระบบทั่วไป ... ใช่ไหม? แก้ไข: Bobby บอกว่าdmesgเป็นวัตถุประสงค์ทั่วไป ... อะไรคือความแตกต่างระหว่างทั้งสอง?

ดังนั้นบางคนจะพาฉันผ่านบันทึกที่มีประโยชน์มากที่สุด บันทึกสองรายการที่ฉันพูดถึงในตอนท้ายเป็นบันทึกทั่วไปเท่านั้นหรือไม่ และตัวเลขขี้ขลาดคืออะไรที่จุดเริ่มต้นของบรรทัดในdmesg? วินาทีตั้งแต่เริ่มต้น?

โปรดระบุสิ่งใดในคำตอบที่คุณคิดว่าจะปรับปรุงความเข้าใจของฉันที่นี่และช่วยฉันติดตามความผิดปกติ!

TIA

แอนดี้


dmesgหรือ/var/log/messagesเป็นบันทึกข้อความทั่วไปไม่เพียง แต่สำหรับการบูต นอกจากนี้การเริ่มต้นแอปพลิเคชันจากเทอร์มินัลสามารถช่วยแก้ไขปัญหาได้
Bobby

ใช่ฉันสังเกตเห็นว่าถ้าฉันเริ่มต้นสิ่งต่าง ๆ ผ่านบรรทัดคำสั่งฉันมักจะได้รับใบสมัครกลับมา ถ้าฉันเริ่มโปรแกรมเดียวกันผ่านตัวเรียกใช้งานแบบกราฟิกข้อความนั้นจะหายไปหรือไม่ ถือว่าเป็นแนวปฏิบัติที่ดีสำหรับแอปกราฟิกที่จะส่งข้อความออกไปstdoutหรือไม่?
Andy

หากคุณเริ่มโปรแกรมแบบกราฟิกแล้ว stdout และ stderr จะเชื่อมต่อกับที่ใด (หรือ / dev / null สำหรับเรื่องนั้น) ซึ่งหมายความว่าข้อความทั้งหมดจะหายไป หากคุณต้องการก็ให้เริ่มจากบรรทัดคำสั่งหรือเปลี่ยนทิศทางเอาต์พุตไปยังไฟล์โดยการตั้งค่าคำสั่งในไฟล์. desktop เป็นดังนี้: "some_command &> some_logfile"
petersohn

คำถามจริงคือฉันต้องการหรือไม่! โปรแกรมส่วนใหญ่ปล่อยผลลัพธ์ที่มีประโยชน์มากขึ้นในบันทึกหรือไม่ พื้นบ้าน Linux ขั้นสูงมักใช้stdoutเพื่อช่วยวินิจฉัยปัญหาเกี่ยวกับซอฟต์แวร์ (ไม่ใช่ของตัวเอง) หรือไม่? (โดยทั่วไปฉันคุ้นเคยกับวิธีการที่จะคว้าตัวstdoutแต่ไม่ได้มีวิธีที่มีประโยชน์การส่งออกอาจจะเป็นจริง ... )
แอนดี้

ฉันเริ่มแอปพลิเคชันจากเทอร์มินัลก็ต่อเมื่อฉันมีปัญหา (เรียกข้อมูลการดีบักและข้อความแสดงข้อผิดพลาดซึ่งอาจถูก GUI กลืนเข้าไป) และใช่มันเป็นแนวปฏิบัติที่ดีและเป็นพฤติกรรมมาตรฐานของแอปพลิเคชันทั้งหมดภายใต้ Linux
Bobby

คำตอบ:


7

: มีการเริ่มต้นที่ LinuxHomeNetworking เป็นHOWTO ด่วน: Ch05: การแก้ปัญหา Linux กับ syslog

คุณอาจยังชอบอูบุนตูเคล็ดลับ: วิธีการดูล็อกระบบแฟ้มใน GUI

อูบุนตู LinuxLogFilesหน้ายังเป็นแหล่งอ้างอิงที่ดี
(โพสต์ในความคิดเห็นโดยPulseคำตอบอื่นที่นี่)


12

ขอบคุณมากที่ชีพจรสำหรับแนะนำhttps://help.ubuntu.com/community/LinuxLogFiles ฉันตัดบางส่วนออกและทิ้งวิธีใช้syslogdและคำสั่งที่จำเป็นอื่น ๆ เพื่อวางแนวทางเล็ก ๆ ไว้สำหรับอ้างอิงในอนาคต นี่คือจากเว็บไซต์อูบุนตูและฉันไม่รู้ว่าจะค้างไว้นานเท่าใดสำหรับ distros อื่น ๆ

บันทึกของระบบ

บันทึกระบบส่วนใหญ่เกี่ยวข้องกับการทำงานของระบบ Ubuntu ไม่จำเป็นต้องมีแอปพลิเคชันเพิ่มเติมที่เพิ่มโดยผู้ใช้ ตัวอย่าง ได้แก่ กลไกการอนุญาต, daemons ระบบ, ข้อความระบบ, และบันทึกระบบทั้งหมดที่ครอบคลุม, syslog

บันทึกการอนุญาต: /var/log/auth.log

บันทึกการอนุญาตติดตามการใช้งานของระบบการอนุญาตกลไกการอนุญาตผู้ใช้ที่พร้อมท์ให้ใส่รหัสผ่านผู้ใช้เช่นระบบ Pluggable Authentication Module (PAM) sudoคำสั่งการล็อกอินระยะไกลไปsshdเรื่อย ๆ

บันทึกภูต: /var/log/daemon.log

บันทึกภูตมีข้อมูลเกี่ยวกับระบบและการประยุกต์ใช้การทำงานภูตเช่น Gnome ภูตจัดการการแสดงผลgdm, ภูตบลูทู ธ HCI หรือภูตฐานข้อมูลของhcid MySQLmysqld

แก้ไขข้อบกพร่องบันทึก: /var/log/debug

บันทึกการตรวจแก้จุดบกพร่องแสดงข้อความการตรวจแก้จุดบกพร่องโดยละเอียดจากระบบ Ubuntu และโปรแกรมประยุกต์ที่เข้าสู่ระบบsyslogdที่ระดับ DEBUG

บันทึกเคอร์เนล: /var/log/kern.log

บันทึกเคอร์เนลจัดทำบันทึกรายละเอียดข้อความจากเคอร์เนล Ubuntu Linux ข้อความเหล่านี้อาจเป็นประโยชน์สำหรับการแก้ปัญหาเคอร์เนลใหม่หรือที่สร้างขึ้นเองเช่น

บัฟเฟอร์แหวนเคอร์เนล: dmesg

บัฟเฟอร์วงแหวนเคอร์เนลไม่ได้เป็นไฟล์บันทึกข้อมูลจริงๆ แต่เป็นพื้นที่ในเคอร์เนลที่กำลังทำงานคุณสามารถค้นหาข้อความเริ่มต้นเคอร์เนลผ่านdmesgยูทิลิตี้ได้ เพื่อดูข้อความใช้สิ่งนี้:

dmesg | less

โดยค่าเริ่มต้นสคริปต์การเริ่มต้นระบบ/etc/init.d/bootmisc.shจะส่งข้อความบูตทั้งหมดไปยังไฟล์/var/log/dmesgเช่นกัน

บันทึกข้อความ: /var/log/messages

บันทึกข้อความประกอบด้วยข้อความที่ให้ข้อมูลจากแอพพลิเคชั่นและสิ่งอำนวยความสะดวกของระบบ บันทึกนี้มีประโยชน์สำหรับการตรวจสอบเอาต์พุตข้อความจากแอ็พพลิเคชันและระบบอำนวยความสะดวกที่บันทึกไปยังsyslog/ sysklogdaemon ที่ระดับ INFO

บันทึกของระบบ: /var/log/syslog

บันทึกของระบบมักจะมีข้อมูลจำนวนมากโดยค่าเริ่มต้นเกี่ยวกับระบบ Ubuntu ของคุณ มันอาจมีข้อมูลบันทึกอื่น ๆ ไม่ได้ ดูบันทึกระบบเมื่อคุณไม่สามารถหาข้อมูลบันทึกที่ต้องการในบันทึกอื่น

บันทึกการใช้งาน

แอปพลิเคชั่นจำนวนมากยังสร้างการเข้า/var/logสู่ระบบ หากคุณแสดงรายการเนื้อหาของ/var/logไดเรกทอรีย่อยของคุณคุณจะเห็นชื่อที่คุ้นเคยเช่นการ/var/log/apache2แทนบันทึกสำหรับเว็บเซิร์ฟเวอร์ Apache 2 หรือ/var/log/sambaที่มีบันทึกสำหรับเซิร์ฟเวอร์ Samba

บันทึกเซิร์ฟเวอร์ Apache HTTP: /var/log/apache2

การติดตั้งเริ่มต้นสำหรับ Apache2 บน Ubuntu จะสร้างไดเรกทอรีย่อยของบันทึก ภายในไดเรกทอรีย่อยนี้มีสองล็อกไฟล์โดยมีวัตถุประสงค์ที่แตกต่างกันสองประการ:

  • /var/log/apache2/access.log - บันทึกทุกหน้าที่เสริฟและทุกไฟล์ที่โหลดโดยเว็บเซิร์ฟเวอร์
  • /var/log/apache2/error.log - บันทึกเงื่อนไขข้อผิดพลาดทั้งหมดที่รายงานโดยเซิร์ฟเวอร์ HTTP

บันทึกระบบการพิมพ์ CUPS: /var/log/cups/error_log

Common Unix Printing System (CUPS) ใช้ไฟล์บันทึกเริ่มต้น/var/log/cups/error_logเพื่อจัดเก็บข้อความแสดงข้อมูลและข้อผิดพลาด

บันทึก Rootkit Hunter: /var/log/rkhunter.log

ยูทิลิตี้ Rootkit Hunter ( rkhunter) ตรวจสอบระบบ Ubuntu ของคุณสำหรับแบ็คดอร์ sniffers และรูทคิทซึ่งเป็นสัญญาณของการประนีประนอมในระบบของคุณ

บันทึกเซิร์ฟเวอร์ Samba SMB: /var/log/samba

เซิร์ฟเวอร์ Server Message Block Protocol (SMB), Samba นิยมใช้ในการแชร์ไฟล์ระหว่างคอมพิวเตอร์ Ubuntu ของคุณและคอมพิวเตอร์อื่น ๆ ที่รองรับโปรโตคอล SMB แซมบ้าเก็บบันทึกสามประเภทที่แตกต่างกันในไดเรกทอรีย่อย:

  • log.nmbd - ข้อความที่เกี่ยวข้องกับ NETBIOS ของแซมบ้าผ่านฟังก์ชั่น IP (เนื้อหาของเครือข่าย)
  • log.smbd - ข้อความที่เกี่ยวข้องกับฟังก์ชั่น SMB / CIFS ของแซมบ้า (ไฟล์และสิ่งที่พิมพ์ร่วมกัน)
  • log.[IP_ADDRESS] - ข้อความที่เกี่ยวข้องกับการร้องขอบริการจากที่อยู่ IP ที่มีอยู่ในชื่อไฟล์บันทึก

บันทึกเซิร์ฟเวอร์ X11: /var/log/Xorg.0.log

เซิร์ฟเวอร์ Windowing X11 เริ่มต้นที่ใช้กับ Ubuntu คือเซิร์ฟเวอร์ Xorg X11 บันทึกนี้มีประโยชน์สำหรับการวินิจฉัยปัญหาเกี่ยวกับสภาพแวดล้อม X11 ของคุณ

บันทึกที่ไม่สามารถอ่านได้

ไฟล์บันทึกบางไฟล์ที่พบใน/var/logไดเรกทอรีย่อยได้รับการออกแบบให้สามารถอ่านได้โดยแอปพลิเคชันไม่จำเป็นต้องเป็นของมนุษย์ ตัวอย่างบางส่วนปฏิบัติตาม

เข้าสู่ระบบล้มเหลวเข้าสู่ระบบ: faillog

บันทึกความล้มเหลวในการเข้าสู่ระบบอยู่ที่/var/log/faillogได้รับการออกแบบให้แยกวิเคราะห์และแสดงโดยfaillogคำสั่ง

ลงชื่อเข้าใช้ล่าสุด: lastlog

โดยทั่วไปการเข้าสู่ระบบครั้งสุดท้ายที่/var/log/lastlogไม่ควรแยกวิเคราะห์และตรวจสอบโดยมนุษย์ แต่ควรใช้ร่วมกับlastlogคำสั่ง

บันทึกการเข้าสู่ระบบ: who

ไฟล์/var/log/wtmpมีบันทึกการเข้าสู่ระบบ แต่ไม่เหมือน/var/log/lastlogด้านบน/var/log/wtmpจะไม่ใช้เพื่อแสดงรายการการเข้าสู่ระบบล่าสุด แต่ถูกใช้แทนโดยยูทิลิตี้อื่นเช่นwhoคำสั่งเพื่อแสดงรายการผู้ใช้ที่เข้าสู่ระบบในปัจจุบันแทน


1

syslog (หรือมากกว่าsyslog.d) /var/logเป็นระบบการเข้าสู่ระบบซึ่งเป็นผู้รับผิดชอบสำหรับการเขียนบันทึกมากที่สุดใน มีโครงการอื่นที่คล้ายคลึงกันเช่นsyslog-ng

system.log เป็นเพียงไฟล์ที่มีชื่อเฉพาะที่ syslog เกิดขึ้นกับการเขียน


ขอบคุณสำหรับคำตอบ: ฉันสนใจภาพรวมของการบันทึก Linux มากขึ้น ตัวอย่างของฉันกับ syslog เป็นเพียงคำนำเพื่ออธิบายว่าฉันได้รับคำถามทั่วไปนี้ได้อย่างไร
Andy

0

คุณไม่ได้พูดว่าคุณอยู่ที่ไหน แต่รูปแบบ Linuxมีบทความในฉบับที่ 132 ที่ครอบคลุมไฟล์บันทึก คุณอาจต้องหาใครสักคนพร้อมสำเนาหรือซื้อปัญหาย้อนหลังเพื่อให้ได้มา


ฉันอาศัยอยู่ในสหราชอาณาจักร แต่ก็ยังหวังว่าฉันจะได้รับข้อมูลโดยไม่ต้องเสียเงิน (:
Andy

2
ฉันยังคงเรียนรู้ linux และฉันพบว่านี่เป็นหน้าข้อมูลที่เป็นประโยชน์ของhelp.ubuntu.com/community/LinuxLogFiles
Pulse

นั่นคือสิ่งที่ฉันเป็นหลังจากนั้น!
Andy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.