ตำแหน่งไฟล์ล็อกตามชื่อโฮสต์ที่มี syslog-ng


0

ฉันใช้ syslog-ng สำหรับเซิร์ฟเวอร์จำนวนมาก เพื่อให้ทุกอย่างมีรูปร่างมากขึ้นในโครงสร้างโฟลเดอร์ฉันใช้ตัวกรองหลายตัวกับ regex และหลายปลายทางและบันทึกบรรทัดใน syslog-ng.conf

สิ่งที่ฉันต้องการทำให้สำเร็จคือให้ syslog ตัดสินใจที่จะวางไฟล์บันทึกตามส่วนของชื่อโฮสต์และวางไว้ใน 1 ตัวกรองโดยมี 1 ปลายทางและบรรทัดบันทึก

ตัวอย่าง:

fl-app-dev-01   =>   /var/log/fl/dev/app01.log
fl-app-prd-32   =>   /var/log/fl/prd/app32.log
fl-man-prd-02   =>   /var/log/fl/prd/man02.log
am-app-prd-12   =>   /var/log/am/prd/app12.log
rd-app-dev-02   =>   /var/log/rd/dev/app02.log

ดังที่คุณเห็นในตัวอย่างข้างต้นเซิร์ฟเวอร์ทั้งหมดอยู่ในรูปแบบเดียวกัน {location} - {function} - {environment} - {number}

ฉันต้องการที่จะแยกพวกเขาไปยังสถานที่ตั้งแล้วกับสภาพแวดล้อมและมี logfile ตั้งชื่อตามฟังก์ชั่นและหมายเลขเซิร์ฟเวอร์

คำตอบ:


0

เพื่อให้บรรลุเป้าหมายนี้คุณจะต้องวิเคราะห์ชื่อโฮสต์และแยกออกเป็นฟิลด์ต่างๆโดยใช้ csv-parser จากนั้นใช้ชื่อฟิลด์เป็นมาโครในเทมเพลตไฟล์ปลายทางของคุณ ดูตัวอย่างที่สองที่นี่: การแบ่งชื่อโฮสต์ใน syslog-ng


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