Cloudflare: Deel logbestanden van klanten verloren gegaan door probleem met update
Problemen met een update van Cloudflare hebben ervoor gezorgd dat gebruikers van Cloudflare Logs een deel van de logbestanden die zij hadden moeten ontvangen niet hebben ontvangen. De logbestanden zijn verloren gegaan. Cloudflare biedt zijn excuses aan voor de fout.
Cloudflare Logs zijn gedetailleerde loggegevens die Cloudflare verzamelt over verkeer dat door hun netwerk gaat. Ze bieden inzichten zoals IP-adressen, HTTP-verzoeken, foutmeldingen, cache-hits/misses, en beveiligingsgebeurtenissen. Deze logs worden vaak gebruikt voor debugging, monitoring, en analyse van prestaties of beveiliging.
Meerdere fouten
In een blogpost erkent het bedrijf dat de problemen zijn veroorzaakt door een foutieve update. "Falen binnen grootschalige systemen is onvermijdelijk, en het is cruciaal dat subsystemen zichzelf beschermen tegen fouten in andere delen van het grotere systeem om cascades te voorkomen. In dit geval veroorzaakte een misconfiguratie in één deel van het systeem een cascaderende overbelasting in een ander deel, dat zelf ook verkeerd geconfigureerd was. Als het correct was geconfigureerd, had het het verlies van logs kunnen voorkomen", schrijft het bedrijf.
Cloudflare meldt op 14 november 2024 een update te hebben doorgevoerd om een extra dataset te ondersteunen voor Logpush. Logpush is een Golang-service die logs leest uit Buftee-buffers en de resultaten in batches doorstuurt naar verschillende bestemmingen die door klanten zijn geconfigureerd. De update vereiste een nieuwe configuratie voor Logfwdr, zodat deze wist welke logs van klanten moesten worden doorgestuurd. Een afzonderlijk systeem vernieuwt elke paar minuten de configuratie die Logfwdr gebruikt om te bepalen welke logs doorgestuurd moeten worden. Door een bug in dit systeem kreeg Logfwdr echter een lege configuratie, wat betekende dat er geen logs van klanten waren ingesteld om te worden doorgestuurd. De wijziging werd binnen vijf minuten teruggedraaid.
Deze eerste fout 'activeerde' volgens Cloudflare echter een tweede bug in Logfwdr zelf. Een failsafe die oorspronkelijk bedoeld was om logverlies te voorkomen bij configuratieproblemen, stond ingesteld op “fail open”. Hierdoor werden logs van alle klanten doorgestuurd in plaats van alleen die met een actieve Logpush-job. Dit was oorspronkelijk ontworpen voor een kleiner klantenbestand, maar door de huidige schaal zorgde deze failsafe in slechts vijf minuten voor een enorme toename in logverkeer. Dit leidde tot een overbelasting van Buftee, dat buffers per klant aanmaakt. De plotselinge stijging naar 40 keer meer buffers – ongeveer 40 miljoen wereldwijd – overschreed de capaciteit van de Buftee-clusters, wat uiteindelijk tot de verstoring leidde.
Meer informatie is hier beschikbaar.