# Product: Web Access
# Category: Custom - HTTP Access Parser
# Last Updated: 08-Sep-2025
# Author: Ayush Gupta
# Version: 0.1
#
# Fields Mapped to UDM (ACCESS LOGS ONLY)
# metadata.event_timestamp ← timestamp (from [01/Sep/2025:07:20:09 +0000])
# metadata.event_type ← GENERIC_EVENT
# network.application_protocol← HTTP
# principal.ip ← client_ip
# principal.platform ← user_agent (client device info)
# intermediary.hostname ← observer_id (web server instance)
# target.hostname ← vhost
# target.url ← http://{vhost}{request_path}
# network.http.method ← http_method
# network.http.response_code ← status
# network.http.user_agent ← user_agent
# network.http.referral_url ← referrer (when present)
filter {
# Initialize working variables
mutate {
replace => {
"observer_id" => ""
"client_ip" => ""
"vhost" => ""
"ident" => ""
"ts" => ""
"http_method" => ""
"request_path" => ""
"http_version" => ""
"status" => ""
"bytes" => ""
"referrer" => ""
"user_agent" => ""
"req_url" => ""
}
}
grok {
match => {
"message" => [
'(%{DATA:observer_id} %{IP:client_ip} %{HOSTNAME:vhost} %{DATA:ident} \[%{HTTPDATE:ts}\] "%{WORD:http_method} %{DATA:request_path} HTTP/%{NUMBER:http_version}" %{INT:status} %{INT:bytes} "%{DATA:referrer}" "%{DATA:user_agent}")'
]
}
overwrite => ["observer_id","client_ip","vhost","ident","ts","http_method","request_path","http_version","status","bytes","referrer","user_agent"]
on_error => "no_match"
}
# Event type & protocol
mutate {
replace => {
"event.idm.read_only_udm.metadata.event_type" => "GENERIC_EVENT"
"event.idm.read_only_udm.metadata.vendor_name" => "WP Engine"
"event.idm.read_only_udm.metadata.product_name" => "NGINX SERVER"
}
}
if [observer_id] != "" {
mutate {
replace => {
"event.idm.read_only_udm.principal.asset_id" => "%{observer_id}"
}
}
}
# Hand off to UDM
mutate { merge => { "@output" => "event" } }
}
---
Raw Log
web-97071-i-0928c2ewewwf08f2092 98.23.66.172 gptssd.co.uk - [05/Sep/2025:02:45:35 +0000] "GET /blog/changing-face-of-luxury-retirement-living/ HTTP/1.0" 200 161665 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36"---In UDM I can only see the static fields
-
metadata.event_type: "GENERIC_EVENT"
-
metadata.vendor_name: "WP Engine"
-
metadata.product_name: "NGINX SERVER"
-
metadata.log_type: "NGINX"
I tried to get the observer_id first but no success I think the issue is with the grok pattern I am using. Can any one help !!





