ค้นหาเว็บไซต์

4 วิธีในการดูหรือตรวจสอบไฟล์บันทึกแบบเรียลไทม์


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

อ่านเพิ่มเติม: 4 เครื่องมือตรวจสอบและจัดการบันทึกโอเพ่นซอร์สที่ดีสำหรับ Linux

1. คำสั่ง tail – ตรวจสอบบันทึกแบบเรียลไทม์

ดังที่ได้กล่าวไปแล้ว คำสั่ง tail เป็นวิธีการแก้ปัญหาที่พบบ่อยที่สุดในการแสดงไฟล์บันทึกแบบเรียลไทม์ อย่างไรก็ตาม คำสั่งให้แสดงไฟล์มีสองเวอร์ชัน ดังแสดงในตัวอย่างด้านล่าง

ในตัวอย่างแรก คำสั่ง tail จำเป็นต้องมีอาร์กิวเมนต์ -f เพื่อติดตามเนื้อหาของไฟล์

sudo tail -f /var/log/apache2/access.log

เวอร์ชันที่สองของคำสั่งจริงๆ แล้วเป็นคำสั่ง: tailf คุณไม่จำเป็นต้องใช้สวิตช์ -f เนื่องจากคำสั่งนี้มีอาร์กิวเมนต์ -f ในตัว

sudo tailf /var/log/apache2/access.log

โดยปกติแล้ว ไฟล์บันทึกจะถูกหมุนเวียนบ่อยครั้งบนเซิร์ฟเวอร์ Linux โดยยูทิลิตี้ logrotate หากต้องการดูไฟล์บันทึกที่มีการหมุนเวียนรายวัน คุณสามารถใช้แฟล็ก -F เพื่อ คำสั่ง tail

อ่านเพิ่มเติม: วิธีจัดการบันทึกของระบบ (กำหนดค่า หมุนเวียน และนำเข้าสู่ฐานข้อมูล) ใน Linux

tail -F จะติดตามว่ามีการสร้างไฟล์บันทึกใหม่หรือไม่ และจะเริ่มติดตามไฟล์ใหม่แทนที่จะเป็นไฟล์เก่า

sudo tail -F /var/log/apache2/access.log

อย่างไรก็ตาม ตามค่าเริ่มต้น คำสั่ง tail จะแสดงบรรทัด 10 สุดท้ายของไฟล์ ตัวอย่างเช่น หากคุณต้องการดูไฟล์บันทึกสองบรรทัดสุดท้ายแบบเรียลไทม์ ให้ใช้ไฟล์ -n รวมกับแฟล็ก -f ดังที่แสดงใน ตัวอย่างด้านล่าง

sudo tail -n2 -f /var/log/apache2/access.log

2. คำสั่ง Multitail – ตรวจสอบไฟล์บันทึกหลายไฟล์แบบเรียลไทม์

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

หากต้องการติดตั้ง ยูทิลิตี้ mulitail ในระบบที่ใช้ Debian และ RedHat ให้ออกคำสั่งด้านล่างนี้

sudo apt install multitail   [On Debian & Ubuntu]
sudo yum install multitail   [On RedHat & CentOS]
sudo dnf install multitail   [On Fedora 22+ version]

หากต้องการแสดงเอาต์พุตของไฟล์บันทึกสองไฟล์พร้อมกัน ให้ดำเนินการคำสั่งตามที่แสดงในตัวอย่างด้านล่าง

sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log

3. คำสั่ง lnav – ตรวจสอบไฟล์บันทึกหลายไฟล์แบบเรียลไทม์

คำสั่งที่น่าสนใจอีกคำสั่งหนึ่ง ซึ่งคล้ายกับ คำสั่ง multitail ก็คือคำสั่ง lnav ยูทิลิตี้ Lnav ยังสามารถรับชมและติดตามไฟล์หลายไฟล์และแสดงเนื้อหาแบบเรียลไทม์

ในการติดตั้งยูทิลิตี้ lnav ในการกระจาย Linux ที่ใช้ Debian และ RedHat โดยการออกคำสั่งด้านล่าง

sudo apt install lnav   [On Debian & Ubuntu]
sudo yum install lnav   [On RedHat & CentOS]
sudo dnf install lnav   [On Fedora 22+ version]

ดูเนื้อหาของไฟล์บันทึกสองไฟล์พร้อมกันโดยออกคำสั่งดังแสดงในตัวอย่างด้านล่าง

sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log

4. คำสั่งน้อยลง - แสดงเอาต์พุตแบบเรียลไทม์ของไฟล์บันทึก

สุดท้ายนี้ คุณสามารถแสดงเอาต์พุตสดของไฟล์โดยใช้คำสั่งน้อยกว่าได้หากคุณพิมพ์ Shift+F

เช่นเดียวกับ tail utility การกด Shift+F ในไฟล์ที่เปิดด้วย less จะเริ่มต่อท้ายไฟล์ หรือคุณสามารถเริ่มต้นน้อยลงโดยตั้งค่าสถานะ +F น้อยลงเพื่อเข้าสู่การรับชมไฟล์แบบสด

sudo less +F  /var/log/apache2/access.log

แค่นั้นแหละ! คุณสามารถอ่านบทความต่อไปนี้เกี่ยวกับการตรวจสอบและการจัดการบันทึก

  1. จัดการไฟล์อย่างมีประสิทธิภาพโดยใช้คำสั่ง head, tail และ cat ใน Linux
  2. วิธีการตั้งค่าและจัดการการหมุนบันทึกโดยใช้ Logrotate ใน Linux
  3. Petiti – เครื่องมือวิเคราะห์บันทึกโอเพ่นซอร์สสำหรับ Linux SysAdmins
  4. วิธีค้นหาบันทึกการตรวจสอบโดยใช้เครื่องมือ 'ausearch' บน CentOS/RHEL
  5. จัดการข้อความบันทึกภายใต้ Systemd โดยใช้ Journalctl [คู่มือที่ครอบคลุม]

ในบทความนี้ เราได้แสดงวิธีดูข้อมูลที่ถูกผนวกในไฟล์บันทึกแบบเรียลไทม์บนเทอร์มินัลใน Linux คุณสามารถถามคำถามหรือแบ่งปันความคิดของคุณเกี่ยวกับคำแนะนำนี้ผ่านแบบฟอร์มความคิดเห็นด้านล่าง