Linux Destro คือ: Centos 6.8
ด้านล่างนี้เป็นสิ่งที่ rsyslog.conf ดูเหมือนว่า:
# cat /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides --MARK-- message capability
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template server-dc, "/scratch/rsyslog/%HOSTNAME%/messages.log"
authpriv.* ?server-dc
*.info,mail.none,authpriv.none,cron.none ?server-dc
$IncludeConfig /etc/rsyslog.d/*.conf
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
#*.* @elk-rsyslog:514
ชี้ให้ฉันเข้าใจ
1)
$template server-dc, "/scratch/rsyslog/%HOSTNAME%/messages.log"
enter code here
ดังนั้นในบรรทัดข้างต้น/scratch/rsyslog
เป็นเส้นทางไดเรกทอรีบนเซิร์ฟเวอร์ rsyslog ที่เราจะส่งต่อบันทึกทั้งหมดจากโฮสต์ระยะไกลยูนิกซ์ที่สร้างโครงสร้างไดเรกทอรีดังต่อไปนี้ไฟล์ข้อความเช่น:
/scratch/rsyslog/remot1-Ser1/messages.log /scratch/rsyslog/remot1-Ser2/messages.log
ดังนั้นมันใช้งานได้ดีอย่างไรก็ตามในเวลาเดียวกันเรามีอุปกรณ์เครือข่ายไม่กี่ตัวที่ส่งต่อบันทึกเครือข่ายไปยังตำแหน่งเดียวกันในรูปแบบด้านล่าง:
/scratch/rsyslog/Sep/messages.log /scratch/rsyslog/Oct/messages.log
ในกรณีข้างต้นของเครือข่ายบันทึกมันสร้างไดเรกทอรีตามชื่อเดือนตามไฟล์ข้อความดังนั้นฉันกำลังมองหาวิธีใน rsyslog เพื่อกำหนดเส้นทางที่แตกต่างกันสำหรับบันทึกเครือข่ายเช่นนี้/scratch/rsyslog/network
เพื่อบันทึกเครือข่ายสามารถเก็บลงในโฟลเดอร์แยก เหตุผลเบื้องหลังสิ่งนี้คือฉันกำลังประมวลผลบันทึกเหล่านี้ไปยัง Elasticsearch ดังนั้นฉันจึงใช้ wildcard สำหรับบันทึก unix /scratch/rsyslog/*/messages.log
แต่รวมถึงบันทึกเครือข่ายที่*
เรียกว่าสัญลักษณ์แทน ( )
ดังนั้นมีวิธีที่ฉันสามารถพูดได้ว่าบันทึกมาจากโฮสต์ระยะไกลโดยเฉพาะหรือ IP ควรไปที่โฟลเดอร์เฉพาะในเซิร์ฟเวอร์ rsyslog หรือไม่
2) นี่คือ$template server-dc, "/scratch/rsyslog/%HOSTNAME%/messages.log"
สิ่งที่เข้าสู่ระบบสำหรับการวาง เซิร์ฟเวอร์ -DCเช่นนี้เป็นชื่อโฮสต์อื่นนี่คือการได้รับวัตถุประสงค์ใด ๆ หรือเราสามารถเปลี่ยนสิ่งนี้เป็นสิ่งที่เกี่ยวข้องพิจารณาตามความต้องการข้างต้น
3) เซิร์ฟเวอร์ -dc เดียวกัน ยังรวมอยู่ในพารามิเตอร์การกำหนดค่าอื่นเช่นกัน
ที่ต้องการอยากมี
อยากรู้ว่ามีวิธีที่ฉันสามารถส่งต่อบันทึกสำหรับเช่นระบบเครือข่ายไฟร์วอลล์ในไดเรกทอรีที่แตกต่างกันเช่น ..
1 - /scratch/rsyslog/system/%HOSTNAME%/messages.log
2 - /scratch/rsyslog/network/%HOSTNAME%/messages.log
3 - /scratch/rsyslog/firewall/%HOSTNAME%/messages.log
template
สตริงชอบmysystems
และmynets
เป็นเพียงตัวยึดตำแหน่งหรือพูดตัวแปร kinda ซึ่งสามารถตั้งชื่ออะไร?