Score:0

ไม่พบ Amplify access logs ในกลุ่มบันทึกของ CloudWatch

ธง ge

ฉันกำลังสร้างแดชบอร์ด CloudWatch และฉันต้องการตรวจสอบขยายบันทึกการเข้าถึงนอกเหนือจากเมตริกอื่นๆ ฉันสามารถค้นหาบันทึกการเข้าถึงภายในแดชบอร์ด Amplify (ภาพหน้าจอด้านล่าง) แต่ฉันไม่พบบันทึกเดียวกันนี้ในกลุ่มบันทึกของ CloudWatch ทำไมถึงเป็นเช่นนั้น? ฉันควรเปิดอะไรไหม

ป้อนคำอธิบายรูปภาพที่นี่

Score:1
ธง gb

กำลังติดตาม ขยายเอกสาร AWS ใน Access Logs ดูเหมือนว่าจะถูกจัดเก็บไว้ใน Amplify เท่านั้น และ ณ วันนี้ ยังไม่สามารถพุชไปยัง CloudWatch Logs ได้

เอกสารระบุว่าคุณสามารถดาวน์โหลดได้ใน CSV และอัปโหลดกลับไปที่ S3 เพื่อการวิเคราะห์ (ใช้ประโยชน์จาก Athena) ในกรณีสุดท้าย คุณควรก่อน สร้างตารางแล้วสอบถาม:

เลือกผลรวม (ไบต์) เป็น total_bytes
จากบันทึก
ที่ "วันที่" ระหว่างวันที่ '2018-06-09' และวันที่ '2018-06-11'
จำกัด 100;
Score:0
ธง ge

ตามที่กล่าวไว้ที่นี่[1] ใน aws docs Amplify เก็บบันทึกการเข้าถึงสำหรับแอปทั้งหมดที่คุณโฮสต์ใน Amplify กล่าวอีกนัยหนึ่ง ข้อมูลนี้ไม่ได้จัดเก็บไว้ในบันทึก CloudWatch รายการใดรายการหนึ่งของคุณ และจะมองเห็นได้บนแดชบอร์ดของ Amplify Console แต่จัดเก็บและเข้าถึงได้โดยตรงผ่าน Amplify Console ดังนั้น คุณจะไม่พบบันทึกดังกล่าวในกลุ่มบันทึก CloudWatch ใดๆ ของคุณ ซึ่งระบุไว้ในแท็บบันทึกการเข้าถึงคอนโซลขยายเสียงด้วยคลิกที่ปุ่ม 'แก้ไขช่วงเวลา' และคุณจะเห็น: 'คุณสามารถเข้าถึงบันทึกสำหรับช่วงเวลาสองสัปดาห์ใดก็ได้ โดยเริ่มจากวันที่และเวลาที่ระบุด้านล่าง หากคุณต้องการเข้าถึงบันทึกที่เก่ากว่า คุณจะต้องตั้งค่าฟังก์ชัน Lambda ที่ ทำงานทุกสองสัปดาห์และเก็บผลลัพธ์ไว้ใน S3' อย่างที่เราเห็น ไม่เหมือนกับบันทึกของ CloudWatch หากเราต้องการเข้าถึงบันทึก Amplify แบบเก่า เราจะต้องส่งออกและจัดเก็บไว้ในที่ใดที่หนึ่งอย่างชัดเจน ไม่ว่าจะในเครื่องหรือในที่เก็บข้อมูลเช่น S3

ในกรณีที่คุณต้องการประมวลผลเพิ่มเติมในบันทึกเหล่านี้ คุณสามารถดาวน์โหลดได้ผ่านคอนโซลและดำเนินการดังกล่าว ในกรณีที่คุณต้องการสร้างโซลูชันอัตโนมัติสำหรับการประมวลผลบันทึก Amplify Access คุณสามารถใช้ขั้นตอนด้านล่าง:

  1. เราสามารถใช้การเรียก AWS Api 'GenerateAccessLogs'[2] เพื่อรับบันทึกการเข้าถึงเว็บไซต์สำหรับช่วงเวลาที่กำหนดโดยใช้ URL ที่กำหนด โปรดดูส่วนด้านล่างสุดของเอกสารนี้[2] พร้อมลิงก์ไปยังคำสั่ง AWS CLI หรือการเรียกใช้ SDK ที่สอดคล้องกันสำหรับการดำเนินการนี้ เราสามารถใช้การเรียก CLI/API/SDK นี้ในสคริปต์หรือโค้ดของเราเพื่อดึงข้อมูลบันทึกการเข้าถึงโดยทางโปรแกรมและจัดเก็บไว้ในที่ใดที่หนึ่ง (ทั้งในไฟล์ในเครื่องหรือใน S3)

  2. หากคุณต้องการทำให้การส่งออกบันทึกข้างต้นเป็นแบบอัตโนมัติ ให้ตั้งเวลาให้สคริปต์ของคุณทำงานภายในเครื่อง หรือคุณสามารถเรียกใช้โค้ดเดียวกัน (เช่น สคริปต์ Python) ผ่าน AWS Lambda และกำหนดเวลาให้ lambda ดำเนินการทุกๆ สองสัปดาห์ผ่าน AWS EventBridge

  3. เมื่อเราส่งออกบันทึกการเข้าถึงแล้ว ไม่ว่าจะพูด S3 แบบเป็นโปรแกรมหรือแบบแมนนวล เราก็สามารถดำเนินการเพิ่มเติมกับข้อมูลนั้นได้ ตัวอย่างเช่น ตามที่กล่าวไว้ในส่วน 'การวิเคราะห์บันทึกการเข้าถึง' ใต้ส่วนนี้ที่นี่[2] คุณสามารถใช้ AWS Athena เพื่อวิเคราะห์บันทึก S3 คุณยังสามารถพุชผลลัพธ์ของ Athena ไปยังเมตริก CloudWatch ได้หากจำเป็น[3]

อ้างอิง

[1] https://docs.aws.amazon.com/amplify/latest/userguide/access-logs.html#using-access-logs

[2] https://docs.aws.amazon.com/amplify/latest/APIReference/API_GenerateAccessLogs.html

[3] https://stackoverflow.com/questions/63715926/creating-a-cloudwatch-metrics-from-the-athena-query-results

โพสต์คำตอบ

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