Score:0

ฉันจะหรือเป็นไปได้อย่างไรใน rsyslog แมปชื่อฟิลด์ที่ไม่เป็นมาตรฐานกับตัวแปรมาตรฐาน

ธง de

ฉันกำลังดำเนินการรวมศูนย์บันทึกของฉันไปยังเซิร์ฟเวอร์ syslog และจะมีเซิร์ฟเวอร์ fortigate และ Windows (2016) ส่ง syslogs ไปยังเซิร์ฟเวอร์ linux เดียวที่เรียกใช้ rsyslog และจัดเก็บไว้ใน mysqlฉันกำหนดค่าให้ fortigate ส่ง syslogs แต่แถวใน mysql จาก fortigate ไม่มีชื่อฟิลด์เหมือนกัน ดังนั้นข้อมูลจะไม่ถูกบันทึกในทุกคอลัมน์ใน mysql

ตัวอย่างเช่น syslog จากเซิร์ฟเวอร์ linux ประกอบด้วยสิ่งต่อไปนี้:

2 พฤศจิกายน 11:15:25 เคอร์เนล fps-linux-01: [3716995.353386] การตรวจสอบ: type=1400 การตรวจสอบ (1635869725.570:17): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/ sbin/tcpdump" pid=25552 comm="apparmor_parser"

ซึ่งส่งผลให้ฟิลด์ฐานข้อมูล "FromHost" มีค่าเป็น "fps-linux-01" แต่ข้อความจากฟอร์ติเกตกล่าวว่า:

3 พ.ย. 09:04:46 น. date=2021-11-03 เวลา=09:03:56 devname="Frederick-200F" devid="FG200FT920907269" eventtime=1635948236739611958 tz="-0500" logid="0000000013" type="traffic" subtype="forward" level="notice" vd="root" srcip=xxxxxxxx srcport=59142 srcintf="lan" srcintfrole="lan" dstip=172.98.64.173 dstport=443 dstintf="port16" dstintfrole="wan" srccountry="สงวนไว้" dstcountry ="สหรัฐอเมริกา" sessionid=408405616 proto=6 action="start" policyid=8 policytype="policy" poluuid="2f7b990a-a844-51eb-73cf-8a7dcbe631da" policyname="Filter - Staff" user="xxxxxx" group ="xxxxxxxx" authserver="xxxx" service="HTTPS" trandisp="snat" transip=xxxxxxxxx การขนส่ง=59142 ระยะเวลา=0 sendbyte=0 rcvdbyte=0 sendpkt=0 rcvdpkt=0 appcat="ไม่ได้สแกน"

จากนี้ FromHost จะว่างเปล่าในฐานข้อมูลเพราะ (ฉันถือว่า) รายการ fortigate มีจุดในฟิลด์ชื่อโฮสต์

นี่คือการกำหนดค่าที่เกี่ยวข้อง: $ template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" . ?บันทึกระยะไกล & ~

โมดูล (โหลด = "ommysql") *.* การกระทำ (ประเภท = "ommysql" [ข้อมูลการเชื่อมต่อ])

ฉันเห็นว่าฉันสามารถรับคุณสมบัติของข้อความและจัดรูปแบบได้ตามต้องการ แต่การดำเนินการนั้นอยู่เหนือฉันในขณะนี้ (หมายถึง ฉันไม่รู้ว่าจะนำไปใช้อย่างไร)

นี่คือการคาดเดาที่ดีที่สุดของฉันในขณะนี้ โปรดแก้ไขสิ่งที่ผิดหรือขาดหายไป: แม่แบบ (ชื่อ = "RSYSLOG_StdFmt" ประเภท = "รายการ") { คุณสมบัติ (ชื่อ = "devname") ค่าคงที่ (ค่า = "") คุณสมบัติ (ชื่อ = "ประเภท") ค่าคงที่ (ค่า = ": ") *** วางส่วนที่เหลือของข้อความที่นี่ **** }

เป็นไปได้หรือไม่ที่จะให้ข้อมูลที่เหลือหลังจากฟิลด์ "ประเภท" สำรอกไปยังเอาต์พุตจากจุดนั้น ถ้าเป็นเช่นนั้นฉันจะทำอย่างไร?

ที่ควรใส่รายการลงในไฟล์บันทึกคล้ายกับ syslog native rsyslog-mysql จะเลือกสิ่งนั้นและวางลงในฐานข้อมูลอย่างถูกต้องหรือไม่ หรือฉันต้องสร้างเทมเพลตเฉพาะสำหรับ mysql ด้วย ถ้าเป็นเช่นนั้น ฉันจะใช้เทมเพลตของฉันกับเฉพาะบันทึกที่มาจาก fortigate ไม่ใช่กับรายการในเครื่องหรือจากเซิร์ฟเวอร์ Windows ได้อย่างไร

โพสต์คำตอบ

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