Tags:
Node Thumbnail

Cloudflare เปิดเผยว่าบริการเก็บล็อกไฟล์ Cloudflare Logs ล่มไปราว 3.5 ชั่วโมงในวันที่ 14 พฤศจิกายน 2024 ส่งผลให้ไฟล์ล็อกสูญหายไป 55% ของไฟล์ล็อกทั้งหมดที่ควรเก็บในช่วงเวลานั้น

บริการ Cloudflare Logs เป็นการเก็บล็อกไฟล์ของเหตุการณ์ต่างๆ ที่เกิดขึ้นในเครือข่าย เนื่องจากเครือข่ายของ Cloudflare ใหญ่มาก ในหนึ่งวันต้องเก็บล็อก 4.5 ล้านล้านครั้ง (นับตามอีเวนต์หรือเหตุการณ์ที่เกิดขึ้นและต้องบันทึกล็อก) และส่งข้อมูลล็อกเหล่านี้ให้กับลูกค้า

No Description

กระบวนการจัดการล็อกของ Cloudflare ประกอบด้วยซอฟต์แวร์ 4 ตัว (ทั้งหมดเขียนด้วย Go) ทำงานต่อเนื่องกัน เริ่มจาก Logfwdr รับล็อกจากระบบของ Cloudflare มาส่งต่อเป็นแบตช์, Logreceiver รับข้อมูลแบตช์แล้วนำมาคัดแยกประเภท, Buftee ตัวจัดการบัฟเฟอร์เพื่อแยกงานเป็นส่วนๆ, Logpush นำล็อกในบัฟเฟอร์ไปส่งต่อให้ลูกค้า

No Description

สาเหตุของปัญหาครั้งนี้เกิดจากทีม Cloudflare ไปเพิ่มประเภทของข้อมูลให้ Logpush ทำให้ต้องเพิ่มคอนฟิกเข้าไปใน Logfwdr ทราบด้วยว่าเป็นล็อกประเภทไหน แต่เกิดบั๊กในระบบทำให้ค่าคอนฟิกนี้กลายเป็นว่างเปล่า (blank) ทำให้ Logfwdr เข้าใจว่าไม่ต้องเก็บล็อกส่งให้เลย

ทีมงาน Cloudflare ค้นพบปัญหานี้ และแก้ปัญหาได้ตั้งแต่ 5 นาทีแรก แต่ไม่ทันการณ์ เพราะบั๊กคอนฟิกว่างเปล่ากลับสร้างปัญหาที่สอง ไปเรียกโหมด failsafe ของ Logfwdr ให้ทำงาน ส่งอีเวนต์ล็อกของลูกค้าทุกคน แทนที่จะส่งเฉพาะลูกค้าตามค่าคอนฟิกไว้ ฟีเจอร์นี้ถูกสร้างขึ้นมานานตั้งแต่ Cloudflare คนใช้ไม่เยอะ เลยไม่ได้คิดถึงกรณีว่าการเก็บล็อกส่งให้ลูกค้าทุกคนจะสร้างทราฟฟิกมหาศาล ส่งผลสะเทือนต่อไปยังซอฟต์แวร์อื่นๆ ในคิว เช่น Buftee ต้องสร้างบัฟเฟอร์เพิ่ม 40 เท่าจากปกติ ระบบเกิดโอเวอร์โหลด และสุดท้ายทีมงานต้องรีเซ็ตระบบใหม่ทั้งหมด

No Description

Cloudflare ยอมรับว่าบั๊กในระบบ failsafe ของ Logfwdr เกิดจากการทดสอบที่ไม่บ่อยพอ เพื่อลองดูว่าระบบใหญ่ของ Cloudflare มีขีดความสามารถในการรองรับเหตุการณ์ผิดพลาดแบบนี้ได้หรือไม่ โดยจุดตายสำคัญอยู่ที่ Buftee ซึ่งควรทำหน้าที่เป็น "บัฟเฟอร์" กันชนความผิดพลาด แต่ตัวมันเองกับพังไปเองเมื่อเจอโหลดจำนวนมากๆ

แนวทางแก้ไขของ Cloudflare คือการทำ overload test ทดสอบปัญหาระบบมีโหลดเพิ่มเยอะๆ เป็นประจำ เพื่อป้องกันไม่ให้ปัญหาแบบนี้เกิดขึ้นได้อีก

ที่มา - Cloudflare

Get latest news from Blognone

Comments

By: kajokman
ContributorAndroidIn Love
on 28 November 2024 - 13:42 #1328000
kajokman's picture

แต่ตัวมันเองกับพังไปเอง

แต่ตัวมันเองกลับพังไปเอง ;)

By: KuLiKo
ContributoriPhoneWindows PhoneAndroid
on 28 November 2024 - 16:10 #1328014
KuLiKo's picture

นานๆ ทีจะเห็น Cloudflare พลาดกับเค้าบ้าง

By: PH41
ContributorAndroidUbuntuWindows
on 28 November 2024 - 17:01 #1328022 Reply to:1328014
PH41's picture

❌ ไม่พลาด
✅ ไม่ได้ออกมาเล่า

By: btoy
ContributorAndroidWindows
on 29 November 2024 - 08:28 #1328050
btoy's picture

อ่านแล้วหนาวกับจำนวนข้อมูลที่ระบบต้องจัดการ


..: เรื่อยไป