Не удалось проанализировать строку на сегодняшний день в logstash /asticSearch - PullRequest
0 голосов
/ 23 мая 2018

Я создал сценарий logstash для чтения файла журнала, который имеет различную временную метку в формате «2018-05-08T12: 18: 53.506 + 0530».Я пытаюсь проанализировать его на сегодняшний день, используя фильтр даты в журнале stash

date{
     match => ["edrTimestamp","yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","ISO8601"]
     target => "edrTimestamp"
}

При запуске вышеуказанного сценария logstash создается эластичный поисковый индекс.Но все же строка не анализируется до настоящего времени.Это также показывает исключение разбора даты в индексе.

Создает вывод, подобный этому.

{
          "tags": [
            "_dateparsefailure"
          ],
          "statusCode": "805",
          "campaignRedemptionLimitTotal": 1000,
          "edrTimestamp": "2018-05-22T16:41:25.162+0530 ",
          "msisdn": "+919066231327",
          "timestamp": "2018-05-22T16:41:25.122+0530",
          "redempKeyword": "print1",
          "campaignId": "C910101-1527004962-1582",
          "category": "RedeemRequestReceived"
        }

Пожалуйста, скажите мне, что не так в приведенном выше коде> Я пробовал много других альтернатив, но все жеэто не работает.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Ваша проблема в том, что у вашей временной метки есть пробел в конце "edrTimestamp": "2018-05-22T16:41:25.162+0530 ",, что приводит к сбою анализа даты.Вам нужно добавить:

mutate {
  strip => "edrTimestamp"
}

перед фильтром даты.

0 голосов
/ 23 мая 2018

Я не думаю, что вы должны избегать Z. Поэтому вы, вероятно, хотите что-то вроде:

yyyy-MM-dd'T'HH:mm:ss,SSS

Также вы не должны использовать "Z", так как ваше время не Zulu (0 смещение),Вы захотите содержать смещение как часть шаблона.Для этого полезно Heroku Grok отладочное приложение .

Если я передам вашу строку

2018-05-08T12:18:53.506+0530

и воспользуюсь фильтром %{TIMESTAMP_ISO8601}, тогда он совпадет, этот шаблонсостоит из следующих подэлементов:

 TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...