การปรับเอาต์พุตของ tail -f ในบันทึกของเว็บไซต์ [ปิด]


-2

ฉันกำลังติดตามเว็บไซต์ของฉันแบบเรียลไทม์tail -fแต่ฉันมีปัญหาในการรับสิ่งต่อไปนี้เพื่อแสดงในผลลัพธ์ตามลำดับนี้:

Host Name - IP Address - Page - Date & Time

นี่คือสิ่งที่ฉันพยายามทำ

http://qph.cf.quoracdn.net/main-qimg-fde4d84bf459d14aff0ef930e4f8c7fe

ขอบคุณ Stephan และผู้ใช้ 157574 ฉันใกล้เคียงกับเป้าหมายของฉันมาก !!


นี่เป็นสิ่งที่เลวร้ายมาก .. คุณพยายามที่จะแยกและแสดง apache access_logs? โปรดเจาะจงมากขึ้น
omercnet

โพสต์ตัวอย่างของบันทึกดั้งเดิม
David

ใช่ฉันใช้ access_log จาก apache นี่คือภาพหน้าจอ qph.cf.quoracdn.net/main-qimg-fde4d84bf459d14aff0ef930e4f8c7fe นอกจากนี้ยังแสดงให้เห็นว่าโหลดดูโดย <=======>
157574

คำตอบ:


1

ต่อไปนี้เป็นตัวอย่างการบันทึก nginx ที่จะพาคุณไปที่นั่นประมาณ 80%:

# tail -f /var/log/nginx/hostname.log | awk '{ print "hostname" $1 $7 $4 }'

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

อัปเดต: หากคุณต้องการบันทึกข้อมูลนี้เป็นบันทึกใหม่คุณสามารถทำสิ่งต่อไปนี้:

# tail -f /var/log/nginx/hostname.log | awk '{ print "hostname" $1 $7 $4 }' > /path/to/new/log.log

และจะปฏิบัติตามที่บันทึก

# tail -f /path/to/new/log.log

ทุกครั้งที่มีการเพิ่มข้อมูลใหม่ลงในบันทึก tail -f (-f for follow) จะแยกเนื้อหาของล็อกออกจากหน้าจอของคุณ

แก้ไข:

โปรดทราบว่า "ชื่อโฮสต์" เป็นสิ่งที่คุณจะพิมพ์เช่นชื่อโฮสต์ของบันทึกที่คุณกำลังอ่าน วิธีที่คุณใช้ตัวแปรนั้นขึ้นอยู่กับคุณทั้งหมด (คุณสามารถตั้งค่าตามชื่อไฟล์บันทึกคือ '{print "somefancyserver.com" $ 1 $ 7 $ 4}'

สำหรับการควบคุมระบบการบันทึกแบบเรียลไทม์ของคุณคุณอาจต้องการค้นหา

graylog2.org

logstash.net

หรือ (ถ้าคุณมีกระเป๋าลึก)

splunk.com


ขอบคุณสิ่งนี้จะช่วยให้ปัญหาของฉันในการรับหลายบรรทัดเพื่อแสดงการใช้ awk เมื่อฉันเรียกใช้ดังต่อไปนี้ฉันได้รับข้อผิดพลาดดังต่อไปนี้ cat ไม่สามารถเปิดบันทึก
user157574

ไม่ดีนี่เป็นรุ่นที่อัพเดทแล้ว: # tail -f /var/log/nginx/hostname.log | awk '{พิมพ์ "ชื่อโฮสต์" $ 1 $ 7 $ 4}'
เตฟาน

cat ไม่สามารถเปิด log และ hostname ได้เพียงแสดงเป็น hostname ขอบคุณมากสำหรับความช่วยเหลือนี่คือสิ่งที่ฉันกำลังจะไปที่นี่คือภาพหน้าจอของสคริปต์เหมือนกับที่ฉันพยายามทำ qph.cf.quoracdn .net / main-qimg-fde4d84bf459d14aff0ef930e4f8c7fe
157574

บันทึกที่ฉันใช้คือ / var / log / httpd / access_log
user157574

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