Проблема с logstash Dissect - PullRequest
0 голосов
/ 01 июля 2019

У меня возникли серьезные проблемы при разборе нижеследующего текстового объекта в моем стеке ELK.

Это поле -

INFO [2019-06-20 10:37:42,734] 
com.something.something.something.information.core.LoggingPiracyReporter: 
Informational request: ip_address="1.1.1.1" domain_name="domain.com" 
some_random_id="HrmwldM4DQNXoQF3AnYosJ0Mtig=" 
random_id_2="Isl/eC4ERnoLVEBMXYtWeMjwqkSKA2MPSsDnGHe4EzE=" number=1000 
timestamp=1561027064 valid_token_present=true everything_ok=true 
[Http/1.1] [8.8.8.8, 8.8.8.8, 8.8.8.8]

. В настоящее время у меня ниже -

* 1007.*

Кажется, что он разбивает поле числа, если я удаляю число, все работает нормально (хотя и выдает предупреждение, но работает нормально и показывает поля в моей кибане)

Может кто-нибудь предложитьспособ получения IP-адреса / домена some_random_id / random_id_2, а также блока [http / 1.1].

1 Ответ

0 голосов
/ 02 июля 2019

Кавычки около %{number} в вашем отображении отсутствуют в журнале, который вы указали, что и нарушает ваш фильтр.

При такой конфигурации:

dissect { 
    mapping => { 
        "message" => '%{} ip_address="%{ip}" domain_name="%{name}" some_random_id="%{some_random_id}" random_id_2="%{random_id_2}" number=%{number} timestamp=%{timestamp} valid_token_present=%{valid} everything_ok=%{ok} [%{http}]'
    } 
}

I 'получаю этот результат:

{
  "ok": "true",
  "random_id_2": "Isl/eC4ERnoLVEBMXYtWeMjwqkSKA2MPSsDnGHe4EzE=",
  "message": "INFO [2019-06-20 10:37:42,734] com.something.something.something.information.core.LoggingPiracyReporter: Informational request: ip_address=\"1.1.1.1\" domain_name=\"domain.com\" some_random_id=\"HrmwldM4DQNXoQF3AnYosJ0Mtig=\" random_id_2=\"Isl/eC4ERnoLVEBMXYtWeMjwqkSKA2MPSsDnGHe4EzE=\" number=1000 timestamp=1561027064 valid_token_present=true everything_ok=true [Http/1.1] [8.8.8.8, 8.8.8.8, 8.8.8.8]\r",
  "ip": "1.1.1.1",
  "http": "Http/1.1",
  "name": "domain.com",
  "valid": "true",
  "some_random_id": "HrmwldM4DQNXoQF3AnYosJ0Mtig=",
  "timestamp": "1561027064",
  "number": "1000"
}
...