JSON ошибка синтаксического анализа в fluentd, шаблон бросков не всегда совпадает - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь добавить новый источник в мой fluentd для разбора файла JSON. Файл JSON выглядит следующим образом:

    {
        "local": {
            "cmd_|-start_cmd_2_|-echo 'Starting to run second time'_|-run": {
                "comment": "Command \"echo 'Starting to run second time'\" run",
                "name": "echo 'Starting to run second time'",
                "result": true,
                "duration": 11.144,
                "__sls__": "test",
                "changes": {
                    "pid": 26010,
                    "retcode": 0,
                    "stderr": "",
                    "stdout": "Starting to run second time"
                },
                "__id__": "start_cmd_2"
            },
        }
    }

Это вывод JSON из выполнения стека соли. Я добавил этот источник

    <source>
      @type tail
      tag salt-new
      path /var/log/salt_new.json
      pos_file /tmp/fluentd/new.pos
      <parse>
        @type json
      </parse>
      refresh_interval 10s
    </source>

Я пробовал несколько вариантов, таких как использование 'format json', и он не работает. Он всегда выдает

    2020-03-19 18:05:13 +0000 [info]: #0 following tail of /var/log/salt_new.json
    2020-03-19 18:05:13 +0000 [warn]: #0 pattern not matched: "{"
    2020-03-19 18:05:13 +0000 [warn]: #0 pattern not matched: "    \"local\": {"
    2020-03-19 18:05:13 +0000 [warn]: #0 pattern not matched: "        \"cmd_|-start_cmd_2_|-echo 'Starting to run second time'_|-run\": {"
    .
    .

Я не хочу использовать разбор регулярных выражений, я пытаюсь получить JSON работу плагина парсера.

Любые предложения будут очень полезными. Спасибо

...