色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

grok對json日志

錢衛國2年前8瀏覽0評論

Grok是一種流行的日志解析工具,可將任何結構化和非結構化數據解碼為可查詢的格式。當與JSON日志一起使用時,Grok可以輕松地匹配和提取JSON數據。下面將介紹如何使用Grok對JSON日志進行解析。

input {
file {
path =>"/var/log/nginx/access.log"
codec =>json
}
}
filter {
grok {
match =>{ "message" =>"%{COMBINEDAPACHELOG}" }
}
date {
match =>[ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}

在上面的代碼片段中,我們使用了一個名為“codec”的參數,它表示輸入數據的編碼格式。在這種情況下,我們使用了JSON的編碼格式。然后,我們使用Grok將帶時間戳的消息提取出來,并使用DATE插件將時間戳正確地解碼為可用的日期格式。

下面是Grok如何匹配JSON數據的示例:

{
"timestamp": "2020-06-01T12:01:43+00:00",
"client_ip": "192.168.1.1",
"request": "GET /index.html HTTP/1.1",
"response_code": 200,
"bytes_sent": 1250
}

我們可以使用以下Grok表達式來匹配上面的JSON數據:

%{TIMESTAMP_ISO8601:timestamp} %{IPV4:client_ip} %{WORD:method} %{URIPATHPARAM:path} HTTP/%{NUMBER:http_version} %{NUMBER:response_code} %{NUMBER:bytes_sent}

上面的代碼片段將時間戳、客戶端IP地址、請求方法、請求路徑、HTTP版本、響應代碼和發送的字節數提取為字段。現在,我們可以使用Logstash的json插件將數據重新轉換為JSON格式:

output {
stdout {
codec =>json
}
file {
path =>"/var/log/nginx/access.log-json"
codec =>json
}
}

在上面的代碼片段中,我們使用了兩個輸出插件,一個是stdout,它將輸出轉儲到控制臺,另一個是file,它將輸出轉儲到文件中。

總之,使用Grok對JSON日志進行解析和提取是一項非常強大且常用的技能。我們可以使用JSON編碼格式來輕松讀取并提取JSON數據,然后將它們轉換回JSON格式以供使用。