Score:0

AWS CloudWatch แยกวิเคราะห์ JSON ตัวพิมพ์เล็กและใหญ่

ธง pk

ในส่วน WAF ของคอนโซล AWS มีแท็บสำหรับ "CloudWatch Log Insights" ที่ให้ตัวอย่างข้อความค้นหาบางส่วน หนึ่งในนั้นคือ "โฮสต์ 100 อันดับแรก"

ฟิลด์ @timestamp, @ข้อความ
| แยก @message '{"name":"Host","value":"*"}' เป็นโฮสต์
| สถิตินับ (*) เป็น requestCount โดยโฮสต์
| คำขอเรียงลำดับCount desc
| จำกัด 100

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

วิธีที่ง่ายที่สุดในการทำสิ่งนี้ให้สำเร็จคืออะไร?

Score:2
ธง ua

นี่คือวิธีที่ฉันแก้ไข:

ฟิลด์ @timestamp, @ข้อความ
| แยก @message /\{"name":"(H|h)ost","value":"(?<host>.*?)"\}/
| สถิตินับ (*) เป็น requestCount โดยโฮสต์
| คำขอเรียงลำดับCount desc
| จำกัด 100

การเปลี่ยนจากรูปแบบลูกโลกเป็นกลุ่มจับภาพ regex ช่วยให้สามารถใช้ regexes สำหรับการจับคู่อื่นๆ ได้

kr flag
คุณคือเพชร คำตอบแรกที่ยอดเยี่ยม ขอขอบคุณ!!!!!!
pk flag
ขอบคุณ. สิ่งนี้ได้ผล ลงเอยด้วยการใช้ `(?i)` ด้วยตัวกรองแบบเต็มเช่น: `| แยก @message /(?i)\{"name":"HOST","value":"(?.*?|^www\..*)"\}/`

โพสต์คำตอบ

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