Đẩy Cloudflare HTTP Logpush Về ClickHouse: Định Cỡ Lưu Trữ WAF Trên ClickHouseCalc
Trong mô hình định lượng ClickHouseCalc, luồng NDJSON từ Cloudflare HTTP Logpush đi qua Vector vào bảng MergeTree nén gọn mã trạng thái HTTP, ASN, RayID và hành động WAF trên 11.5 lần với ZSTD(3) mà không tốn cước phí nạp SIEM theo từng GB.
Bảng Định Cỡ Đĩa Nén & RAM ClickHouseCalc Cho cloudflare-http-logpush-sink
| Quy Mô Luồng Ghi | Dữ Liệu Thô | Đĩa Nén MergeTree | Cấu Hình RAM & vCPU | Đối Chiếu Chi Phí (2026-11-12) |
|---|---|---|---|---|
| 100M Edge Hits/Day (30d · 92 GB/d) | 2.76 TB Raw NDJSON | 265 GB NVMe (ZSTD-3 + 22% Buffer) | 16–32 GB RAM / 8 vCPU | ~$1,480/tháng Cloud SIEM vs $19.99/tháng Hostinger KVM 8 |
| 500M Edge Hits/Day (90d · 460 GB/d) | 41.4 TB Raw NDJSON | 3.95 TB Enterprise Disk | 64 GB RAM / 16 vCPU | ~$8,900/tháng Cloud SIEM vs $79.00/tháng InterServer Ryzen |
Bảng MergeTree Lưu Log HTTP Cloudflare & Kiểu `IPv6` Trên ClickHouseCalc
CREATE TABLE edge_logs.cloudflare_http
(
EdgeStartTimestamp DateTime64(3) CODEC(DoubleDelta, LZ4),
ClientIP IPv6 CODEC(ZSTD(3)),
ClientASN UInt32 CODEC(T64, LZ4),
ClientCountry LowCardinality(FixedString(2)),
ClientRequestHost LowCardinality(String),
ClientRequestMethod LowCardinality(String),
ClientRequestURI String CODEC(ZSTD(3)),
EdgeResponseStatus UInt16 CODEC(T64, LZ4),
EdgeResponseBytes UInt64 CODEC(T64, ZSTD(1)),
CacheCacheStatus LowCardinality(String),
WAFAction LowCardinality(String),
RayID FixedString(16) CODEC(ZSTD(1))
)
ENGINE = MergeTree
PARTITION BY toDate(EdgeStartTimestamp)
ORDER BY (ClientRequestHost, CacheCacheStatus, EdgeResponseStatus, toStartOfMinute(EdgeStartTimestamp));
Danh Mục Tinh Chỉnh MergeTree ClickHouseCalc Cho cloudflare-http-logpush-sink
- Chuẩn hóa cả địa chỉ IPv4 lẫn IPv6 vào chung cột nhị phân `IPv6` 16 byte (`toIPv6(ClientIP)`) để lọc dải mạng CIDR trực tiếp không cần Regex.
- Bật `async_insert = 1` và `wait_for_async_insert = 0` cho tài khoản `logpush_ingest` khi nhận các lô HTTPS trực tiếp.
- Gắn thêm Materialized View cộng dồn lỗi 5xx và băng thông theo từng phút để bảng điều khiển Grafana chỉ đọc dữ liệu đã tổng hợp sẵn.
Câu Hỏi Kỹ Thuật ClickHouseCalc Về cloudflare-http-logpush-sink
- Khi nào ClickHouseCalc khuyến nghị dùng bộ đệm đĩa Vector (Rust) thay vì dựng cụm Kafka cho Cloudflare Logpush?
-
Dưới ngưỡng ~300 triệu request HTTP/ngày, tiến trình `Vector` bật bộ đệm đĩa cục bộ 20 GB đủ sức giữ gói tin an toàn khi khởi động lại ClickHouse mà không tốn RAM nuôi cụm Kafka.
- ClickHouseCalc tối ưu truy vết mạng ASN tấn công xuyên suốt 90 ngày log Cloudflare trên MergeTree bằng cách nào?
-
Bổ sung chỉ mục nhảy `INDEX asn_idx ClientASN TYPE set(1000) GRANULARITY 4` giúp ClickHouse bỏ qua toàn bộ các khối 8.192 dòng không chứa mã ASN đang điều tra.