จะดูบันทึกแบบเรียลไทม์ผ่าน Terminal ได้อย่างไร


16

นี่เป็นคำถามพื้นฐาน - ในภาพยนตร์เรื่อง "The Social Network" มีหลายฉากเมื่อเจ้าหน้าที่ Facebook รุ่นใหม่กำลังเฝ้าดูการล็อกอินของเซิร์ฟเวอร์ PHP / Apache ใน TERMINAL แบบเรียลไทม์

ฉันคุ้นเคยกับวิธีการทำสิ่งนี้ในสภาพแวดล้อม RUBY / RoR - แต่ด้วยสภาพแวดล้อม LAMP Apache / PHP มาตรฐานวิธีการตรวจสอบการกระทำของเซิร์ฟเวอร์ของคุณในเวลาจริง? ฉันเดาว่ามีวิธีง่าย ๆ ในการทำเช่นนี้ใน Terminal


ฉันไม่ได้เห็นภาพยนตร์เรื่องนี้ ทุกคนมีภาพหน้าจอหรือคลิปที่แสดงรายละเอียดว่าพนักงาน Facebook กำลังทำอะไรอยู่ในภาพยนตร์?
Stefan Lasiewski

tail -f ในไฟล์บันทึกมักจะทำ
Fiasco Labs

คำตอบ:


47

บางทีพวกเขาอาจใช้tail -fบันทึกการเข้าถึง?


2
สิ่งนี้จะไม่สามารถจัดการได้อย่างรวดเร็วจริง ๆ สำหรับไซต์ขนาดใหญ่เช่น Facebook ซึ่งมีคำขอนับพันทุกวินาทีหรือไม่
Vilx-

3
tail -f สามารถกรองผ่าน grep หากคุณกำลังมองหาคำขอที่เฉพาะเจาะจง ... ที่สามารถลดปริมาณ
Mark Baker

3
tail -fคือไม่ 1 เหตุผลในการวาง Cygwin น้อยที่สุดไว้ในกล่องหน้าต่าง!
Daniel Earwicker

1
@Daniel ฉันคิดว่า GnuWin32 ยังมีคำสั่งหาง
Jader Dias

1
สำหรับปัญหาความเร็วนั้น ... tail -f /log/any.log | while read line; do echo $line; sleep 3; doneแต่นี่จะไม่ใช่ "เรียลไทม์" อีกต่อไป
theist



6

หากคุณกำลังมองหาตัวบันทึกและตัววิเคราะห์ Apache แบบเรียลไทม์ฉันจะแนะนำ GoAccess อย่างแน่นอน

http://goaccess.prosoftcorp.com/

คุณเรียกใช้งานเป็น (ไม่จำเป็นต้องมีข้อ จำกัด ):

goaccess -f /var/log/apache2/access.log -s -b

3

อีกสิ่งที่คุณสามารถลองได้คือคำสั่ง "เฝ้าดู" ซึ่งสามารถเรียกใช้คำสั่ง grep ซ้ำ ๆ ในไฟล์บันทึกใด ๆ ที่คุณต้องการ การใช้สวิตช์คำสั่งเฝ้าดูคุณสามารถเน้นการเปลี่ยนแปลงในล็อกไฟล์แบบเรียลไทม์

ตัวอย่างเช่น:

ดู -d -n5 สถานะการออนไลน์


2

GoAccess 0.6.1 ควรมีเครื่องมืออย่างน้อยหนึ่งอย่างในกระเป๋าของคุณ โอเพ่นซอร์ส. รวดเร็วและเสถียร

สำหรับ Rhel / Centos 6.4

yum install glib2 glib2-devel glibc make geoip
yum install ncurses-devel
Download GoAccess - http://goaccess.prosoftcorp.com/download
Untar it and cd into it
./configure
make
make install

Finally: goaccess -f /var/log/httpd/access.log (or wherever your access logs are [maybe even /etc/httpd/logs/access_log]

geoip ทำผิดพลาดเมื่อ CENTOS 6
Mike Castro Demaria

1

นี่เป็นคำถามพื้นฐาน - ในภาพยนตร์เรื่อง "The Social Network" มีหลายฉากเมื่อเจ้าหน้าที่ Facebook รุ่นใหม่กำลังเฝ้าดูการล็อกอินของเซิร์ฟเวอร์ PHP / Apache ใน TERMINAL แบบเรียลไทม์

สำหรับระบบขนาดใหญ่เช่น Facebook คุณจะต้องสงสัยว่าได้รับใบอนุญาตทางศิลปะ (อาคา bullsh * t) ในการสร้างภาพยนตร์มากแค่ไหน ในสภาพแวดล้อมที่มีระบบหลายพันระบบและหลายพันคลัสเตอร์การดูบันทึกเซิร์ฟเวอร์การเลื่อนบนเทอร์มินัลไม่จำเป็นต้องเป็นกิจกรรมการตรวจสอบ # 1

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


สำหรับไซต์ที่มีขนาดเล็กเพียงพอการดูบันทึกเป็นเรื่องสนุกและสามารถให้ความรู้สึกทั่วไปเกี่ยวกับความคาดหวังของคุณ ไม่ว่าในกรณีใดคำถามก็ใช้ภาพยนตร์เป็นแรงบันดาลใจถามว่า "ฉันจะทำอะไรแบบนั้นได้อย่างไร" แทนที่จะเป็น "พวกเขาทำเช่นนั้นได้อย่างไร"
eswald

สิ่งหนึ่งคือให้เปิดเทอร์มินัลด้วยหาง -f เลื่อนลง มันอาจได้รับวงกว้างมากที่มีราคาแพง ก็จะได้รับราคาแพงมาก CPU ที่ชาญฉลาดที่ลูกค้าถ้าคุณมีการพูด, การเลื่อนบันทึกในความเป็นขั้วระยะไกลที่แสดงผ่าน VNC หรือใช้ Remote Desktop โซลูชันอื่น ๆ ที่เกี่ยวข้องกับการส่งเอาต์พุตบันทึกไปยัง syslog (และให้ส่งไปยังเซิร์ฟเวอร์ syslog จากระยะไกล) หรือแม้กระทั่งส่งชุดของบันทึกการทำงาน (บีบอัดและผ่าน UDP) ไปยังไคลเอ็นต์การมอนิเตอร์ ในภายหลังอาจเกี่ยวข้องกับการสูญเสียบางบรรทัดเนื่องจากเป็น UDP แม้ว่ามันอาจเป็นที่ยอมรับในบางเงื่อนไข
luis.espinal

0

ในขณะที่ฉันตื่นเต้นที่ The Social Network ใช้ศัพท์แสงและคำศัพท์ที่แม่นยำเป็นส่วนใหญ่ แต่สิ่งที่พวกเขาทำเพื่อการแสดงเท่านั้น

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

ฉันพบว่าฉากการแฮ็คเซิร์ฟเวอร์ Python สนุกมากแม้ว่า


0

Logtoolจะทำการบันทึก colorized ที่ดี Apache สามารถเขียนบันทึกเป็นเซิร์ฟเวอร์ NFS ส่วนกลางหรือสามารถเขียนบันทึกโดยใช้ syslogและ syslog สามารถส่งข้อมูลบันทึกไปยังเซิร์ฟเวอร์กลาง syslog

คลิกที่ลิงค์เพื่อดูคำอธิบายอย่างละเอียด

tail -F /export/syslog/log/apache/access.log | logtool


0

คุณสามารถใช้โปรแกรมดูบันทึกเรียลไทม์ในบางสิ่งเช่น LogLogic และกรองสิ่งที่คุณไม่ต้องการดู วิธีนี้คุณสามารถรวบรวมมากกว่าบันทึก apache คุณสามารถรับบันทึกเราเตอร์บันทึก ftp และอื่น ๆ


0

คุณสามารถเขียนสคริปต์การลงคะแนนได้อย่างง่ายดาย jsut เปรียบเทียบเวลาประทับหรือขนาดไฟล์และหากมีการเปลี่ยนแปลงให้ทำ tail -n1


0

Apachetailยังให้มุมมอง / การวิเคราะห์บันทึก Apache แบบเรียลไทม์โดยเชื่อมต่อโดยตรงไปยังเซิร์ฟเวอร์ Apache ของคุณจากแอพ windows desktop ไม่จำเป็นต้องติดตั้งซอฟต์แวร์บนเซิร์ฟเวอร์ Apache

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