Từ SPL sang BQL
Nếu bạn đã quen với Splunk SPL, hướng dẫn này sẽ giúp bạn ánh xạ các lệnh SPL phổ biến sang BQL tương ứng.
Bảng ánh xạ lệnh
| Lệnh SPL | Lệnh BQL tương ứng | Ghi chú |
|---|---|---|
search | search hoặc where | Cú pháp giống nhau |
WHERE | where hoặc search | Cú pháp giống nhau |
eval | eval | Cú pháp giống nhau |
stats | stats | Hạn chế hơn về hàm tổng hợp |
sort | sort | Hỗ trợ asc/desc |
dedup | dedup | Cú pháp giống nhau |
head / limit | head hoặc limit | Cả hai đều dùng được |
tail | tail | Cú pháp giống nhau |
rename | rename | Cú pháp giống nhau |
top | top | Cú pháp giống nhau |
rare | rare | Cú pháp giống nhau |
lookup | lookup | Cần cấu hình phía server |
join | join | Giới hạn inner/left/right |
timechart | timechart | Cú pháp span giống nhau |
table | Không hỗ trợ | Dùng stats thay thế |
fields | Không hỗ trợ | Dùng eval kèm chọn trường |
NOT | != | Không có toán tử NOT |
!= | != | Cú pháp giống nhau |
<, >, <=, >= | Không hỗ trợ | Dùng != hoặc khớp chính xác |
Khác biệt quan trọng
Không có toán tử NOT
SPL:
search NOT status=errorBQL:
search status!=errorKhông dùng regex trong điều kiện search
SPL:
search message=/error.*/BQL:
search message=errorDùng match() trong eval để sử dụng regex:
eval is_error=match(message, "error.*") | search is_error=1Không có toán tử < > <= >=
SPL:
search port>1024BQL: Không hỗ trợ trực tiếp. Dùng khớp chính xác hoặc !=:
search port!=22 and port!=80Phân biệt chữ hoa chữ thường
SPL: Mặc định không phân biệt hoa/thường BQL: Phân biệt hoa/thường. "Error" khác "error"
Cú pháp Stats By
SPL:
stats count by hostBQL:
stats count by hostCú pháp giống nhau, nhưng BQL có ít hàm tổng hợp hơn.
AND ngầm
SPL:
search status=200 host=web01BQL:
search status=200 host=web01Behavior tương tự. Các từ liền nhau mà không có and/or sẽ tự động được AND lại.
Toán tử logic
SPL:
search status=error OR status=warnBQL:
search status=error or status=warnDùng and/or viết thường. Không dùng ký hiệu && hoặc ||.
Các mẫu SPL phổ biến
Mẫu 1: Tìm kiếm đơn giản
SPL: search index=firewall action=denyBQL: from firewall-* | search action=deny
Mẫu 2: Khoảng thời gian
SPL: search index=auth earliest=-24hBQL: from auth-* | timerange earliest=2026-07-05T19:00:00Z latest=2026-07-06T19:00:00Z
Mẫu 3: Stats với By
SPL: stats count by src_ip | sort -count | head 10BQL: stats count by src_ip | sort count desc | head 10
Mẫu 4: Dedup
SPL: dedup user action | table user actionBQL: dedup user, action
Mẫu 5: Eval với hàm
SPL: eval upper_user=upper(user)BQL: eval upper_user=upper(user)
Mẫu 6: Nhiều bộ lọc
SPL:
search index=firewall action=deny src_ip=10.0.0.1BQL:
from firewall-* | search action=deny src_ip=10.0.0.1Mẫu 7: Sắp xếp và giới hạn
SPL:
search index=auth | sort -timestamp | head 20BQL:
from auth-* | sort timestamp desc | head 20Mẫu 8: Đổi tên trường
SPL:
rename source_ip as srcBQL:
rename source_ip as srcCú pháp giống nhau.
Mẫu 9: Giá trị xuất hiện nhiều nhất
SPL:
top 5 hostBQL:
top 5 hostCú pháp giống nhau. Trả về 5 giá trị xuất hiện nhiều nhất.
Mẫu 10: Giá trị xuất hiện ít nhất
SPL:
rare 5 hostBQL:
rare 5 hostCú pháp giống nhau. Trả về 5 giá trị xuất hiện ít nhất.
Những gì BQL chưa có
| Tính năng SPL | Trạng thái | Giải pháp thay thế |
|---|---|---|
Toán tử NOT | Không hỗ trợ | Dùng != |
< > <= >= | Không hỗ trợ | Dùng != hoặc khớp chính xác |
Lệnh table | Không hỗ trợ | Dùng stats |
Lệnh fields | Không hỗ trợ | Dùng eval |
makemv | Không hỗ trợ | Không có giải pháp |
mvexpand | Không hỗ trợ | Không có giải pháp |
rex | Không hỗ trợ | Dùng match() trong eval |
transaction | Không hỗ trợ | Không có giải pháp |
chart | Không hỗ trợ | Dùng timechart hoặc stats |
xmlkv | Không hỗ trợ | Không có giải pháp |
spath | Không hỗ trợ | Không có giải pháp |
tstats | Không hỗ trợ | Dùng stats |
datamodel | Không hỗ trợ | Không có giải pháp |
predict | Không hỗ trợ | Không có giải pháp |
anomalousvalue | Không hỗ trợ | Không có giải pháp |
Chủ đề liên quan
- Bắt đầu — Mới sử dụng BQL? Bắt đầu từ đây
- Tham chiếu lệnh — Cú pháp đầy đủ của các lệnh
- Cookbook — Các truy vấn sẵn sàng sử dụng
- Hạn chế đã biết — Những gì BQL chưa làm được
