Score:0

บล็อกตัวกรองของเอาต์พุตบันทึกจากสตรีมบันทึก

ธง gb

นี่คืองานของฉัน:

ฉันมีสตรีมต้นทางของเอาต์พุตบันทึกสดจากกระบวนการส่งข้อความ ผลลัพธ์จำนวนมากไม่เกี่ยวข้องกับฉัน แต่มีส่วนที่ฉันต้องการรวบรวมและประเมินแยกต่างหาก บล็อกเหล่านั้นเริ่มต้นด้วย "---BEGIN Request---" ที่ส่วนท้ายของบรรทัดแยกต่างหากซึ่งขึ้นต้นด้วยวันที่/เวลา ชื่อโฮสต์ และกระบวนการ[pid]: และบล็อกจะลงท้ายด้วย "---END Request---" ที่ท้ายบรรทัดอื่น ระหว่างสองสิ่งนี้คือสิ่งที่ฉันต้องการจับภาพ

ความพยายามของฉันที่ sed ด้วยไฟล์บันทึกที่ตัดตอนมาล้มเหลว ฉันเข้าใกล้สิ่งนี้โดยพยายามลบทุกอย่างที่อยู่นอกจุดโฟกัส แต่ฉันก็ยังได้ทุกๆ บรรทัด อาจมีคนเห็นข้อผิดพลาดของฉัน:

sed -r '/---สิ้นสุดคำขอ---$/{
   $!{ น 
     s/---สิ้นสุดคำขอ---.?\n([^:]+: )---BEGIN คำขอ---$/---สิ้นสุดคำขอ---\n\1---BEGIN คำขอ- --/
     ตีย่อย
     :sub-พลาด
     พี          
     ง          
     :ซับฮิต
   }    
 }' ตัวอย่าง.ล็อก

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

มีคนที่มีวิธีแก้ปัญหาเสมอโดยใช้ python หรือภาษาอื่น ๆ ฉันเปิดรับ แต่พิจารณาว่าฉันวางแผนที่จะใช้สิ่งนี้กับสตรีมบันทึกไม่ใช่ไฟล์ข้อความคงที่

นี่คือข้อความที่ตัดตอนมาจากตัวอย่างบันทึกอย่างง่ายของฉันสำหรับการทดสอบ ฉันไม่เปิดเผยตัวตนและลบบางสิ่งออก

20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: ---BEGIN Request---
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: PUT /token/connect HTTP/2.0
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: โฮสต์: host-230-17-17-10
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: ยอมรับ: */*
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: ยอมรับการเข้ารหัส: gzip, deflate, br
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: ยอมรับภาษา: de-de
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: การควบคุมแคช: ไม่มีแคช
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: ความยาวเนื้อหา: 306
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: Content-Type: text/xml
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: User-Agent: TokenHandler/3.2
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: [ข้อมูล 1B blob]
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: <?xml version="1.0" encoding="UTF-8"?>
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: <!DOCTYPE และอื่น ๆ จงใจตัดสั้นที่นี่สำหรับ askubuntu
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: --- สิ้นสุดคำขอ ---
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: ---BEGIN Response---
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: HTTP/1.1 200 ตกลง
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: การเชื่อมต่อ: ปิด
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: [ข้อมูล 1B blob]
20 ม.ค. 14:20:47 น. host-230-17-17-10 tokenhandler[4230]: --- สิ้นสุดการตอบกลับ ---
20 มกราคม 14:20:47 host-230-17-17-10 tokenhandler[4230]: transport=http method=PUT status=200 proto=HTTP/2.0 host=10.17.17.240 user_agent=TokenHandler/3.2 path=/token/ เชื่อมต่อ
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: ---BEGIN Request---
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: POST /v3/token/033aaed70bdce765ace3223a5dc5 HTTP/1.1
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: โฮสต์: host-230-17-17-10
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: การเชื่อมต่อ: ปิด
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: การอนุญาต: Basic bWljcm9tZG06MjVuWjdWV3BjMkZaalRkZlRNVTNzaWdyS2xwZlRsVQ==
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: การเชื่อมต่อ: ปิด
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: ความยาวเนื้อหา: 0
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: [ข้อมูล 1B blob]
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: --- สิ้นสุดคำขอ ---
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: level=info component=tknzr method=add udid=033aaed70bdce765ace3223a5dc5 err=null take=145.419185ms
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: ---BEGIN Response---
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: HTTP/1.1 200 ตกลง
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: การเชื่อมต่อ: ปิด
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: Content-Type: application/json; ชุดอักขระ = utf-8
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: [ข้อมูล 1B blob]
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: {
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: "สถานะ": "สำเร็จ",
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: "notification_id": "FC88CDE8-D3AD-4607-602F-6005E70E83E2"
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: }
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: --- สิ้นสุดการตอบกลับ ---
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: transport=http method=POST status=200 proto=HTTP/1.1 host=10.17.17.230 user_agent=path=/v3/token/033aaed70bdce765ace3223a5dc5
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: ---BEGIN Request---
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: PUT /token/connect HTTP/2.0
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: โฮสต์: host-230-17-17-10
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: ยอมรับ: */*
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: ยอมรับการเข้ารหัส: gzip, deflate, br
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: ยอมรับภาษา: en-US,en;q=0.9
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: การควบคุมแคช: ไม่มีแคช
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: ความยาวเนื้อหา: 306
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: Content-Type: text/xml
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: User-Agent: TokenHandler/3.2
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: [ข้อมูล 1B blob]
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: <?xml version="1.0" encoding="UTF-8"?>
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: <!DOCTYPE และอื่น ๆ จงใจตัดสั้นที่นี่สำหรับ askubuntu
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: --- สิ้นสุดคำขอ ---
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: ---BEGIN Response---
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: HTTP/1.1 200 ตกลง
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: การเชื่อมต่อ: ปิด
20 มกราคม 14:20:48 host-230-17-17-10 tokenhandler[4230]: [ข้อมูล 1B blob]
20 ม.ค. 14:20:48 น. host-230-17-17-10 tokenhandler[4230]: --- สิ้นสุดการตอบกลับ ---
Score:0
ธง in

ในสตรีม (บันทึกสด) คุณสามารถใช้ตัวเลือก sed -u (ไม่มีบัฟเฟอร์)

คุณสามารถใช้เพิ่มเติม |ตัด -c55-10000 ต่อท้ายคำสั่งตัดวันที่ hostname เป็นต้น..

Andreas avatar
gb flag
สวัสดีเดนิส ฉันชอบพารามิเตอร์ที่ไม่มีบัฟเฟอร์ แนวคิดของคุณที่จะใช้การตัดด้วยตำแหน่งคงที่จะไม่ทำงานหาก pid (รหัสกระบวนการ) ในวงเล็บเหลี่ยมมีตัวเลขมากกว่าหรือน้อยกว่า 4 ฉันรู้อยู่แล้วว่าฉันจะใช้ `cut -d':' -f 4- ` เพื่อ บรรลุสิ่งนั้น

โพสต์คำตอบ

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