Как разобрать массив метрик JSON в Splunk

Я получаю JSON от API в следующем формате:

[
    {
    "scId": "000DD2",
    "sensorId": 2,
    "metrics": [
        {
            "s": 5414,
            "dateTime": "2018-02-02T13:03:30+01:00"
        },
        {
            "s": 5526,
            "dateTime": "2018-02-02T13:04:56+01:00"
        },
        {
            "s": 5631,
            "dateTime": "2018-02-02T13:06:22+01:00"
        }
}, .... ]

В настоящее время пытаюсь отобразить эти метрики на линейном графике с dateTime для оси X и "s" для Y.

Я использую следующий поисковый запрос:

index="main" source="rest://test3" | spath input=metrics{}.s| mvexpand metrics{}.s
| mvexpand metrics{}.dateTime | rename metrics{}.s as s 
| rename metrics{}.dateTime as dateTime| table s,dateTime

И я получаю данные в следующем формате, который не применим для линейного графика. Дело в том, как правильно проанализировать JSON для применения даты и времени из dateTime поле в JSON для _time в Сплунке.

Результаты запроса

1 ответ

@ Макс Желочкин,

Можете ли вы попробовать следующий поиск?

index="main" source="rest://test3" 
| spath input=metrics{}.s 
| mvexpand metrics{}.s 
| mvexpand metrics{}.dateTime 
| rename metrics{}.s as s 
| rename metrics{}.dateTime as dateTime 
| table s,dateTime
| eval _time = strptime(dateTime,"%Y-%m-%dT%H:%M:%S.%3N")

Спасибо

Другие вопросы по тегам