Шаблон не совпадает с ошибкой в ​​файле fluentd при отслеживании файла json - PullRequest
0 голосов
/ 14 мая 2018

Я установил Fluentd Logger и хочу, чтобы он отслеживал логи моего кода Python. Журналы являются журналами JSON и выглядят так:

{
    "FileNo": 232,
    "FileClass": "timitry",
    "FileLevel": "24",
    "DataCount": 5,
    "Data": {
        "User1": <Username>,
        "User2": <Username>,
        "User3": <Username>,
        "User4": <Username>,
        "User5": <Username>"
    },
    "time": "2018-05-14T05:33:02.071793"
}

Это обновляется каждые 5 минут. Мне нужно написать свободный входной плагин для него, чтобы он мог читать новые данные json и публиковать его в elastic search. Я действительно не знаю, какой плагин ввода использовать здесь, но я использовал tail, что выдает мне ошибки ниже:

2018-05-14 05:31:04 +0000 [warn]: #0 pattern not match: "    \"FileClass\": \"timitry\","

Это одинаково для всех данных. Может кто-нибудь, пожалуйста, предложите мне, как я могу решить эту проблему. Ниже приведен файл конфигурации:

<source>
  @type tail
  format json
  path /home/user/Documents/logs/file_log.json
  tag first
</source>

<match first*>
  @type elasticsearch
  hosts 192.168.111.456:9200
  user <username>
  password <password>
</match>

Я видел, как другие использовали regex и другие форматы. Нужно ли мне это тоже использовать. Как я могу использовать журналы, сгенерированные кодом Python для использования Fluentd, и опубликовать их в elastic search.

Спасибо

1 Ответ

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

Не могли бы вы попробовать удалить символ подстановки после первого в вашей директиве о совпадении? Нравится:

<match first>
 @type elasticsearch
 hosts 192.168.111.456:9200
 user <username>
 password <password>
</match>
...