DevOps & giám sát

Cloudflare bổ sung tính năng lọc và che giấu nhật ký dựa trên SQL cho Logpush

Cloudflare đã chính thức cung cấp rộng rãi tính năng Transformers cho tất cả các gói tự phục vụ, cho phép người dùng lọc, định hình lại và che giấu nhật ký bằng SQL trước khi xuất.

Illustration of a data funnel filtering log streams
Ảnh minh họa tạo riêng cho bài viết

Bài được dịch tự động từ bản gốc tiếng Anh.

Cloudflare đã mở rộng quyền truy cập vào tính năng Logpush Transformers, đưa nó trở thành phiên bản chính thức (generally available) trên tất cả các gói tự phục vụ trong khuôn khổ sự kiện Birthday Week gần đây. Bản cập nhật này cho phép các nhà phát triển và đội ngũ bảo mật xử lý dữ liệu nhật ký bằng các truy vấn SQL trực tiếp trong quy trình xuất, loại bỏ nhu cầu về các dịch vụ trung gian riêng biệt để làm sạch hoặc định dạng dữ liệu trước khi chúng được lưu trữ hoặc gửi đến các nền tảng phân tích.

Điều gì đã xảy ra

Trước đây, các đội ngũ xuất nhật ký Cloudflare sang hệ thống quản lý thông tin và sự kiện bảo mật (SIEM) hoặc bộ nhớ đối tượng thường phải triển khai và duy trì các dịch vụ xử lý độc lập. Các lớp trung gian này là cần thiết để loại bỏ nhiễu như các kiểm tra sức khỏe (health checks), che giấu các trường nhạy cảm hoặc chuẩn hóa schema từ nhiều mạng phân phối nội dung (CDN). Với việc Transformers trở thành phiên bản chính thức, logic xử lý này hiện chạy bên trong quy trình xuất có thông lượng cao của Cloudflare, giúp giảm cả chi phí vận hành lẫn chi phí dữ liệu ở hạ nguồn.

Tính năng này cho phép người dùng xác định các truy vấn SQL để lọc bản ghi, che giấu các điểm dữ liệu cụ thể và định hình lại cấu trúc đầu ra. Ví dụ: một đội ngũ có thể viết truy vấn để loại trừ lưu lượng nội bộ, che một phần địa chỉ IP khách hàng và thêm các trường siêu dữ liệu tĩnh để xác định nhà cung cấp. Dữ liệu sau khi biến đổi sẽ được xuất dưới định dạng NDJSON, đảm bảo rằng các hệ thống hạ nguồn chỉ nhận được những thông tin liên quan và được định dạng đúng cách mà họ yêu cầu.

Chi tiết chính

  • Transformers hiện có sẵn trên các gói Free, Pro, Business và Enterprise như một phần của tám bản cập nhật lớn về khả năng quan sát (observability).
  • Người dùng xác định các phép biến đổi bằng các truy vấn SQL tiêu chuẩn, được điều chỉnh cho các tập dữ liệu Logpush cụ thể, chẳng hạn như nhật ký yêu cầu HTTP.
  • Hệ thống hỗ trợ lọc dòng qua các mệnh đề WHERE, đổi tên trường, lồng ghép cấu trúc dữ liệu và che giấu các giá trị nhạy cảm bằng biểu thức chính quy.
  • Các phép biến đổi được quản lý theo phiên bản, cho phép các đội ngũ theo dõi thay đổi và hoàn nguyên về cấu hình trước đó nếu cần.
  • Tính năng này được quản lý thông qua Transformer Studio trong bảng điều khiển Cloudflare hoặc qua API, kèm theo chức năng xem trước để thử nghiệm truy vấn với các bản ghi mẫu.
  • Nhật ký sau khi biến đổi được xuất dưới định dạng NDJSON, duy trì tính tương thích với các đích đến Logpush hiện có mà không cần thay đổi cách thức tuần tự hóa dữ liệu.

Bối cảnh

Logpush là dịch vụ của Cloudflare để cung cấp dữ liệu nhật ký theo lô tới các đích đến bên ngoài. Nó xử lý khối lượng dữ liệu khổng lồ, với dịch vụ truyền tải Bufstream nền tảng xử lý hơn 110 triệu bản ghi mỗi giây. Theo cách truyền thống, bất kỳ sửa đổi nào đối với các nhật ký này đều yêu cầu một dịch vụ bên ngoài, dẫn đến độ trễ, chi phí cơ sở hạ tầng bổ sung và các điểm tiềm ẩn gây lỗi. Bằng cách chuyển logic biến đổi vào quy trình xuất, Cloudflare nhằm mục đích hợp lý hóa các quy trình làm việc về khả năng quan sát cho các đội ngũ không muốn tự quản lý cụm xử lý dữ liệu của riêng mình.

Việc triển khai kỹ thuật dựa trên Apache DataFusion, một công cụ truy vấn SQL viết bằng Rust, xây dựng trên nền tảng Apache Arrow. Công cụ này được chọn vì khả năng xử lý hiệu quả các thao tác vector hóa và cột. Hệ thống chuyển đổi các bản ghi Cap’n Proto đầu vào thành các lô Apache Arrow, thực thi truy vấn SQL trong cùng tiến trình và trả kết quả dưới dạng NDJSON. Cách tiếp cận này tránh được các bước nhảy mạng và rủi ro hết thời gian chờ liên quan đến việc gọi các tài nguyên tính toán bên ngoài như Cloudflare Workers cho từng lô dữ liệu.

Tại sao điều này quan trọng

Đối với các đội ngũ vận hành phần mềm riêng, việc quản lý khối lượng và chất lượng nhật ký là một thách thức thường xuyên. Việc thu thập nhật ký thô vào SIEM hoặc các công cụ phân tích có thể tốn kém, đặc biệt khi một phần đáng kể dữ liệu bao gồm các kiểm tra sức khỏe, lưu lượng giám sát nội bộ hoặc các trường dư thừa. Bằng cách lọc bỏ nhiễu ngay tại nguồn, các tổ chức có thể giảm đáng kể chi phí lưu trữ và thu thập dữ liệu. Hơn nữa, việc định hình lại nhật ký để khớp với một schema thống nhất giúp đơn giản hóa việc tương quan giữa các nhà cung cấp khác nhau, làm cho quá trình điều tra sự cố nhanh hơn và đáng tin cậy hơn.

Bảo mật và tuân thủ cũng hưởng lợi từ việc che giấu dữ liệu trước khi xuất. Gửi các địa chỉ IP hoặc user agent chưa được che mặt nạ tới bộ nhớ của bên thứ ba có thể tạo ra các trách nhiệm pháp lý về quyền riêng tư. Transformers cho phép các đội ngũ áp dụng các quy tắc che giấu nhất quán, chẳng hạn như che hai octet cuối của địa chỉ IP, trước khi dữ liệu rời khỏi mạng của Cloudflare. Điều này đảm bảo rằng thông tin nhạy cảm không bao giờ tiếp cận được các hệ thống hạ nguồn, giảm nguy cơ rò rỉ vô tình và đơn giản hóa các cuộc kiểm toán tuân thủ.

Bạn có thể làm gì

  • Xem xét các job Logpush hiện tại của bạn để xác định các trường bị loại bỏ hoặc bỏ qua nhất quán bởi các công cụ phân tích của bạn.
  • Sử dụng Transformer Studio để soạn thảo các truy vấn SQL nhằm lọc bỏ các endpoint kiểm tra sức khỏe và hostname nội bộ.

Tin khác

Tất cả tin