為Web Application Firewall (WAF)防護對象開啟日誌採集後,您可以通過日誌查詢,對防護對象的日誌資料進行查詢與分析,並基於查詢與分析結果產生統計圖表、建立警示等。
適用範圍
WAFLog Service已開啟。操作指引:參見開啟或關閉Log Service。
已存在防護對象(已將Web業務接入WAF)。操作指引:參見接入概述。
WAF防護對象的日誌投遞已開啟。操作指引:參見管理日誌投遞狀態。
查詢與分析日誌
-
登入Web Application Firewall3.0控制台。在頂部功能表列,選擇WAF執行個體的資源群組和地區(中國內地、非中國內地)。
在左側導覽列,選擇
在Log Service頁面左上方,選擇要查詢日誌的防護對象。
重要防護對象必須開啟日誌採集(狀態為已開啟),否則WAF無法採集其日誌資料。若所選防護對象未開啟日誌採集,請在當前頁面搜尋該防護對象,單擊其名稱,並開啟狀態開關以啟用日誌採集。
在日誌查詢頁簽,通過查詢與分析語句,對WAF日誌資料進行查詢與分析。
在語句輸入框,輸入查詢語句。
查詢語句採用阿里雲Log Service專用文法,關於該文法的詳細介紹,請參見查詢文法與功能。查詢語句中使用WAF日誌包含的欄位作為查詢欄位,關於支援使用的查詢欄位,請參見日誌欄位說明。
如果您不瞭解日誌查詢文法,推薦使用進階搜尋。只需在語句輸入框上方展開進階搜尋,設定搜尋條件並單擊搜索,語句輸入框即可自動產生與搜尋條件匹配的日誌查詢語句。下表描述了進階搜尋支援設定的搜尋條件。
搜尋條件
說明
IP
發起請求的用戶端的IP地址。
請求ID
WAF為用戶端請求產生的唯一標識。WAF向用戶端返回攔截頁面或者滑塊驗證響應時會提供該ID,用於問題分析與故障排查。
規則ID
請求命中的WAF防護規則的ID。您可以防護規則頁面,查詢具體規則的規則ID;或者在安全報表頁面,通過規則命中紀錄或統計資料,擷取請求命中的規則ID。更多資訊,請參見安全報表。
伺服器響應狀態代碼
來源站點伺服器響應WAF回源請求的HTTP狀態代碼。
WAF返回客戶端響應碼
WAF響應用戶端請求的HTTP狀態代碼。
防護模組
請求命中的WAF防護模組的類型。關於WAF防護模組的介紹及不同模組防護規則的配置方法,請參見防護配置概述。
如果您需要對查詢結果進行計算和統計分析,可以在語句輸入框已輸入的查詢語句後,輸入分析語句;如果您只需要查詢滿足條件的日誌資料,可以跳過該步驟。
分析語句和查詢語句間使用豎線(|)分隔。分析語句採用標準的SQL 92文法,關於分析語句的更多介紹,請參見查詢與分析概述。
通過時間選取器,設定要查詢的日誌的建立時間範圍。
單擊查詢 / 剖析。
查詢與分析結果(即命中查詢條件的WAF日誌資料)將會顯示在頁面下方,包含日誌分布長條圖、原始日誌、統計圖表、日誌聚類。可以基於查詢結果進行快速分析、產生統計圖表、設定警示等,具體說明,請參見查詢/分析頁面說明。
常見查詢情境樣本
以下樣本展示 WAF 日誌常見的查詢與分析情境。查詢語句中的時間範圍通過控制台上方的時間選取器設定,無需在語句中編寫時間過濾條件。
請根據實際業務情況,將下文中的網域名稱與IP地址等資訊替換為真實值。
查詢訪問IP TOP 10:
host:example.com |SELECT real_client_ip,COUNT(*) as c group by real_client_ip order by c desc limit 10查詢訪問URL TOP 10:
host:example.com |SELECT request_path,COUNT(*) as c group by request_path order by c desc limit 10查詢某個IP訪問的URL(遭受CC攻擊時,被攻擊的介面通常較為集中):
host:example.com and real_client_ip:1.2.3.4 |SELECT request_path,COUNT(*) as c group by request_path order by c desc limit 10查詢某個介面訪問TOP 10 IP(遭受攻擊時,通常惡意IP排行靠前):
host:example.com and request_path: "/login.php" |SELECT real_client_ip,COUNT(*) as c group by real_client_ip order by c desc limit 10查詢狀態代碼(通過異常狀態代碼確認業務是否正常):
host:example.com|select status, upstream_status,COUNT(*) as c GROUP by status, upstream_status order by c desc limit 10尋找命中CC防護模組的IP:
host:example.com and final_plugin:cc |select real_client_ip,COUNT(*) as c group by real_client_ip order by c desc limit 10
匯出查詢結果
執行查詢後,您可以在原始日誌頁簽單擊下載日誌,將當前查詢結果中的原始日誌資料匯出為 CSV 檔案。
統計圖表頁簽不支援直接下載資料表。
巨量資料量日誌分析建議
當 WAF 日誌資料量較大時(例如百萬級以上),不建議匯出全量原始日誌後在本地處理。推薦直接使用日誌查詢頁面的 SQL 分析功能進行彙總統計,在雲端完成計算後僅下載統計結果。
例如,統計各防護規則的命中數量:
* | SELECT matched_host, final_action, COUNT(*) as c GROUP BY matched_host, final_action ORDER BY c DESC LIMIT 1000統計指定時間段內各網域名稱的訪問量:
* | SELECT host, COUNT(*) as pv GROUP BY host ORDER BY pv DESC LIMIT 100利用 GROUP BY、COUNT、SUM 等 SQL 彙總函式在雲端完成計算,可以顯著提高巨量資料量情境下的分析效率,避免因匯出全量原始日誌導致的逾時或檔案過大問題。
查詢/分析頁面說明
頁面概覽
長條圖

將滑鼠懸浮在綠色資料區塊上時,您可以查看該資料區塊代表的時間範圍和日誌叫用次數。
雙擊綠色資料區塊,您可以查看更細時間粒紋的日誌分布,同時原始日誌頁簽中將同步展示指定時間範圍內的查詢結果。
原始日誌
統計圖表
統計圖表是Simple Log Service根據查詢與分析語句渲染出的結果。Simple Log Service提供表格、線圖、柱狀圖等多種圖表類型。具體操作,請參見統計圖表。 執行查詢和分析語句後,您可以在統計圖表頁簽中查看可視化的查詢和分析結果。 
本頁簽其他功能說明:
新增到儀錶盤:儀錶盤是Simple Log Service提供的即時資料分析大盤。單擊新增到儀錶盤,將查詢和分析結果以圖表形式儲存到儀錶盤中。具體操作,請參見可視化概述。
另存新檔定時SQL:Simple Log Service提供定時SQL功能,用於定時分析資料、儲存彙總資料、投影與過濾資料。具體操作,請參見定時SQL。
互動事件:互動事件是資料分析中不可缺少的功能之一,通過改變資料維度的層次、變換分析的粒度從而擷取資料中更詳盡的資訊。具體操作,請參見為儀錶盤添加互動事件實現下鑽分析。
日誌聚類
在日誌聚類頁簽中,單擊開啟日誌聚類,可實現在採集日誌時彙總相似性高的日誌。具體操作,請參見日誌聚類。
SQL增強
單擊右上方
表徵圖,可單次開啟SQL獨享版。當您在使用SQL分析時,如果資料量較大,Log Service無法在一次查詢中完整分析這個時間段內的所有日誌。通過開啟SQL獨享版,增加計算資源,可以提升單次分析的資料量。如需設定預設開啟,請參見高效能完全精確查詢與分析(SQL獨享版)。
警示
單擊右上方
表徵圖,將查詢和分析結果另存新檔警示。具體操作,請參見警示設定快速入門。
快速查詢
單擊右上方
表徵圖,將當前查詢和分析語句另存新檔快速查詢。您可通過儲存的歷史操作,快速執行查詢和分析操作。具體操作,請參見快速查詢。
分享
單擊右上方
表徵圖,複製本頁面連結,分享給其他使用者。具體操作,請參見控制台內嵌及分享。

> 下載日誌
>JSON設定:設定JSON展示類型和展示層級。
:查看指定日誌在原始檔案中的上下文資訊。只有通過Logtail採集到的日誌才支援上下文瀏覽功能。具體操作,請參見
:即時監控日誌內容,提取關鍵日誌資訊。只有通過Logtail採集到的日誌才支援LiveTail功能。 具體操作,請參見
>tag設定:將欄位設定為系統Tag。