ต่อไปนี้เป็นตัวอย่างการบันทึก 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