Logstash - Solr Интеграция - PullRequest
1 голос
/ 21 мая 2019

Ниже мой фактический журнал,

--2019-05-09 06:49:05.590 -TRACE 6293 --- [ntainer#0-0-C-1] c.s.s.service.MessageLogServiceImpl      : [41a6811cbc1c66eda0e942712a12a003d6bf4654b3edb6d24bf159b592afc64f1557384545548] Event => Message Failure Identified : INVALID_STRUCTURE

Мой заданный шаблон фильтра Грока,

match => {
         "message" => "--%{TIMESTAMP_ISO8601:logtime} -%{LOGLEVEL:level} (?<pid>\d+) --- \[(?<thread>[^\]]+)] (?<classname>[\w.]+)\s+: \[(?<token>[^\]]+)] Event \=> Message Failure Identified : (?<code>[\w]+)"
     }

После некоторого добавления / удаления требуемой области ниже моя токенизированная форма,

{
   "code" => "INVALID_STRUCTURE",
  "event" => "message_failure",
  "token" => "41a6811cbc1c66eda0e942712a12a003d6bf4654b3edb6d24bf159b592afc64f1557384545548",
"logtime" => "2019-05-09 06:49:05.590"
}

Теперь я хочу отправить его в solr, но при отправке это дает мне предупреждение,

[WARN] [logstash.outputs.solrhttp] Произошла ошибка при индексации: неопределенный метод `iso8601 'для nil: NilClass

Я думаю, что это относится к полю "logtime", поскольку это единственная часть, которая имеет дело с ISO8601. Никакой дополнительной информации в логах не найдено. В чем здесь проблема?

1 Ответ

2 голосов
/ 22 мая 2019

Наконец-то получил ответ. Спасибо этот блог

Logstash будет использовать рубиновую библиотеку Rsolr для подключения к Solr. Logstash установит последнюю версию Rsolr, но последняя версия Rsolr имеет пузырек с типом метки времени, который не позволяет индексировать Solr. Чтобы предотвратить это, нам нужно будет вручную установить рабочую версию Rsolr.

Изменен плагин rsolr по умолчанию, как упомянуто в посте, и все начало работать

...