Inputs: HEC JSON-Format
Aus Wiki-WebPerfect
Version vom 17. Februar 2021, 16:01 Uhr von Admin (Diskussion | Beiträge)
PowerShell to create a JSON-Object and send to Splunk
#Create a PowerShell-Object and convert it to the JSON-Format $Body = [PSCustomObject]@{ host = $HVNode.ToUpper() event = @{ <YourFieldName> = <YourValue> <YourFieldName> = <YourPowerShell-Command> } } | ConvertTo-Json -Depth 4 #Splunk Variables $SplunkPort = 8088 $SplunkHeader = @{Authorization = "Splunk <Splunk_HEC-Token>"} $SplunkURL = "http://<Splunk-URL>:$SplunkPort/services/collector/event" #Send the created JSON to the Splunk HEC Input Invoke-WebRequest -Uri $SplunkURL -Method Post -Body $Body -Headers $SplunkHeader -UseBasicParsing
Splunk configurations
Normally you can use the default Splunk Sourcetype "_json", but if this is not working as you expect, following this guide:
Whether or not the Splunk JSON parser for 'INDEXED_EXTRACTIONS' strips curly braces from names of fields that are defined as arrays in JSON events.
With the Splunk "option" JSON_TRIM_BRACES_IN_ARRAY_NAMES=true you can exclude the curly braces "{}" from array field names.
props.conf
[qCheck:Compute:JSON] JSON_TRIM_BRACES_IN_ARRAY_NAMES = true INDEXED_EXTRACTIONS = JSON BREAK_ONLY_BEFORE = ^{ SHOULD_LINEMERGE = true TRUNCATE = 500000
More information's about the props.conf: https://docs.splunk.com/Documentation/Splunk/latest/Admin/Propsconf