2013-07-29 26 views
1

分配多個wildwards變量我有一個log4j的服務器日誌與格式類似於以下多行:的Splunk:在運行時

"10.1.1.1" "AUTH-USER" "22/Jul/2013:22:42:42 -0700" "GET /source1/resources/RESOURCE/ENDPOINT/1111/start HTTP/1.1" 200 4 
"10.1.1.1" "auth2" "22/Jul/2013:22:43:03 -0700" "PUT /source1/resources/RESOURCE/ENDPOINT HTTP/1.1" 200 4 
"10.40.16.254" "auth2" "22/Jul/2013:22:43:03 -0700" "PUT /source1/resources/secure/RESOURCE/v1/ENDPOINT?var1=A&var2=01-01-2013&var4=Allison HTTP/1.1" 200 4 

如果資源是資源列表和端點代表端點的列表。

我想統計一個獨特的RESOURCE:ENDPOINT存在於日誌文件中的次數,以知道每個Web服務在特定時間線中被調用的次數。

我知道我可以執行以下搜索返回的所有值:

( 「/ RevWebServices /資源/ */* HTTP/1.1」 或「/ RevWebServices /資源/安全/ */*/v */* HTTP/1.1「)

但是,如何提取可以計數的鍵值對中的值?

回答

1

我認爲下面的步驟將幫助:

  1. 創建通過現場提取名爲「資源」和「端點」自定義字段。可以在splunk UI或props.conf中執行字段提取(在transforms.conf中進行高級配置)。

  2. 搜索過程中做出一個臨時場,並使用搜索命令像算什麼「...... | EVAL對=資源。‘:

’端點| |統計通過對數...。」