воскресенье, 30 октября 2022 г.

Splunk. Передача времени события внутри JSON-объекта

 Приветствую, уважаемый читатель!

Для того чтобы передать время возникновения события в отдельном поле JSON-объекта через Splunk HTTP-коллектор необходимо формировать события в следующем виде (пример на PS):


$JSONDoc = @"
{
"sourcetype":"LOGS",
"time":"$indextime",
"event":{
"Message":"Поле1",
"EventId":"Поле2"
.......

В поле time необходимо указать время возникновения события в UnixEpoch Time. С какой-то версии Splunk по другому не получится.

В PS получить время в таком формате можно с помощью командлета New-TimeSpan: 

(New-TimeSpan -Start (get-Date "01/01/1970") -End $EventTime).TotalSeconds


Если этого не сделать и Splunk не распознает время в JSON-объекте, то временем индексации события будет время получения события сервером Splunk. HTTP-коллектор это не Syslog, так что это может доставить кучу проблем. Хотя и с Syslog не так всё просто.....

Комментариев нет:

Отправить комментарий