Logstash http_poller входной JSON-объект, содержащий события - PullRequest
0 голосов
/ 14 октября 2019

У нас есть конечная точка http, которая возвращает объект событий, которые мы хотим запустить через logstash:

{
  "EVENTID1": {
    "some": "data",
  },
  "EVENTID2": {
    "some": "other data"
  }
}

Я попытался запустить его через фильтр ruby, который возвращает значения. Но безрезультатно:

input {
    http_poller {
        urls => {
            ev => "ENDPOINT"
        }
        schedule => { cron => "* * * * * UTC"}
        codec => "json"
    }
}
filter {
    ruby {
        code => "event.values"
    }
}
output {
    stdout {
        codec => rubydebug
    }
}

Желаемый результат - отправка двух отдельных событий: Событие 1:

{
  _id: "EVENTID1",
  _body: {
    "some": "data",
  }
}

Событие 2:

{
  _id: "EVENTID2",
  _body: {
    "some": "data",
  }
}
...