
Cloudflare Logpush ixrac axınına SQL Transformers əlavə etdi
Cloudflare Logpush ixracdan əvvəl SQL Transformers ilə logları filtrir, həssas məlumatları gizlədir və sahələri dəyişir. Komandalar dəst üçün sorğular yazır və saxlanılan versiyanı uyğun NDJSON Logpush tapşırığına bağlayır.
Transformers nə edir
Cloudflare Logpush-i bütün xidmət planlarında əlçatan etdi və eyni ixrac axını üçün Transformers-ı umumiləşdirdi. Müşahidə komandaları artıq loglar Logpush-dən SIEM-lərə, analitik platformalara və ya obyekt deposuna çıxmadan əvvəl qeydləri filtrləyə, həssas dəyərləri gizlədə və sahələri yenidən formalaşdıra bilər. Bu, sonrakı məlumat həcmi və xərcləri azalda bilər, çünki komandalara yalnız lazım olmayan qeydləri ixrac etmək, qəbul etmək və saxlamaq qalmayacaq.
Transformer yalnız bir Logpush verilənlər dəsti üçün yazılan SQL sorğusudur. Logpush onu ixracdan əvvəl hər partiyada icra edir, WHERE şərtinə cavab verməyən qeydləri silir və SELECT nəticəsini ixrac edilmiş NDJSON qeydi kimi istifadə edir. Komandalar sahələri əlavə edə, adlandıra, silə və ya daxil edə bilər, o cümlədən bir neçə CDN-dən gələn qeydləri normallaşdırmaq üçün statik provider sahəsini.
İcra necə işləyir
İstifadəçilər Transformers-ı Transformer Studio-da yaradır, önizləyir və idarə edir ya da API ilə saxlayır, sonra yadda saxlanılan versiyanı eyni verilənlər dəsti üçün uyğun NDJSON Logpush tapşırığına bağlayır. Hər yeniləmə yeni versiyanı yaradır. Cloudflare SQL sorğusunu R2-də saxlayır, Bufstream isə onu çoxqatlı keş vasitəsilə alır, tapşırığın müvəqqəti seqmenti üçün yenidən istifadə oluna bilən DataFusion məntiqi planını hazırlayır və eyni seqmentin hər Arrow partiyasında yenidən istifadə edir.
Bufstream Buftee-dən sıxılmış Cap'n Proto partiyalarını alır, onların sıxılmasını açır, uyğun logları parse edir və icraya qədər yazılmış Apache Arrow RecordBatch qurur. Apache DataFusion və Arrow ona görə seçildi ki, DataFusion artıq Cloudflare Basin-i işləyir. Go xidməti Arrow IPC buferlərini Rust mühərriki ilə FFI sərhəddindən keçirərək dəyişir; bu C ABI vasitəsilə ifşa olunub cgo ilə çağrılır. Go giriş buferi göstəricisini yalnız cgo çağrışları üçün verir, çıxış buferi Rust-a aiddir, Go isə nəticəni Go yaddaşına kopyalayır, Rust ayrılmış yaddaşı buraxana qədər.
Çatdırılma, sağlamlıq və sazlanma
Transformers fail-closed prinsipi ilə işləmək üçün hazırlanıb. Əgər transformasiya yerinə yetmirsə, Bufstream nə tapşırıq təchizat ofsetini irəli sürür, nə də transformasiya olunməmiş partiyaları göndərir; əksinə uğursuz transformasiyanı yenidən cəh edir. O tədricən yenidən cəhdləri sıxır, xətaları tapşırıqda qeyd edir və uzun müddət uğursuz qalan tapşırıqları söndürür. Transformer Health baxışı uğurlu və uğursuz transformasiyaları, transformasiyadan əvvəl və sonra məlumatın həcmini və transformasiyanın müddətini göstərir.
İcradan sonra Bufstream Arrow nəticəsini NDJSON-ə çevirir, logları partiyalara qruplaşdırır, gzip ilə sıxır, sonra təyinat nöqtəsinə yükləyir və yükləmə goroutine-lərini təyinat nöqtəsinin konkurensiya limitləri daxilində tənzimləyir. Şirkət daha geniş verilənlər konveyerinin saniyədə milyarddan çox hadisə emal etdiyini, Bufstream-in isə saniyədə 110 milyondan çox Logpush qeydi çatdırdığını bildirdi. Transformers Free, Pro, Business və Enterprise planlarında əlçatandır.
Mənbələr: The Cloudflare Blog
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.