Настройка новой версии logstash - проблемы с выходным шаблоном Elasticsearch для сопоставления моих журналов - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь настроить новую версию logstash (7.x)

Все работает как префект, logstash запущен, и я вижу свои журналы на kibana: small_smile:.НО сопоставление / синтаксический анализasticsearch не работает :(

После этого конфигурация нового logstash:

Мой конфигурационный файл: logstash.conf (Это нормально работает, но часть шаблона не 'я думаю, что он хорошо настроен).

input {
    kafka {
        topics => ["nifi-xxx-fab","nifi-yyy-fab"]
        client_id => "logstash-FAB"
        group_id => "Logs-FAB"
        bootstrap_servers => '10.200.175.xxx:15011,10.200.175.xxx:15012,10.200.xxx.152:15013'
        consumer_threads => 3
    }
}

filter {
if [type] == "weblogic-xxx" {
    date {
        match => [ "date", "MMM d, yyyy, H:mm:ss,SSS a" ]
        }
    }
}

output {
    elasticsearch {
        hosts => ["elastixxxx:xxxx", "elastixxxx:xxxx", "elastixxxx:xxxx"]
    index => "logstash-%{+YYYY.MM.dd}"
    **template => "/usr/share/logstash/pipeline/elasticsearch-template.json"**
    template_overwrite => "true"
}
}

мойasticsearch-template.json выглядит следующим образом:

{
  "index_patterns" : "logstash-*",
  "settings" : {
    "index" : {
      "refresh_interval" : "5s"
    }
    },
    "mappings" : {
    "dynamic_templates" : [
    {
      "message_field" : {
        "match" : "message",
        "match_mapping_type" : "string",
        "mapping" : {
          "type" : "string"
        }
      }
    },
    {
      "string_fields" : {
        "match_mapping_type" : "string",
        "mapping" : {
          "type" : "string",
          "fields" : {
            "raw" : {
              "type": "string",
              "ignore_above" : 256
            }
          }
        }
      }
    }
    ]
  }
}

Мой конфиг докстера logstash .yml

logstash:
    image: docker-virtual.artefact-repo.pole-emploi.intra/logstash/logstash:7.0.1
    ports:
      - "xxxx:xxxx"
      - "xxxx:xxxx"
    volumes:
      - /nas/donapp/docke/_fsb/swmxor10/oxxx/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
      - /nas/donapp/docke/_fsb/swmxor10/oixxx/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
      - /nas/donapp/docke/_fsb/swmxor10/oi071/logstash/pipeline/elasticsearch-template.json:/usr/share/logstash/pipeline/elasticsearch-template.json

Итак, когда я развернул logstash, я получил следующее сообщение об ошибке:

message=>"Expected one of #, input, filter, output at line 1, 

и без шаблона все работает, поэтому я уверен, что ошибка возникла из-за конфигурации моегоasticsearch-шаблона

мой старый конфиг шаблона следующий (и это работало очень хорошо)


{
  "template" : "logstash-*",
  "settings" : {
    "index.refresh_interval" : "5s"
  },
  "mappings" : {
    "_default_" : {
       "_all" : {"enabled" : true, "omit_norms" : true},
       "dynamic_templates" : [ {
         "message_field" : {
           "match" : "message",
           "match_mapping_type" : "string",
           "mapping" : {
             "type" : "string", "index" : "analyzed", "omit_norms" : true
           }
         }
       }, {
         "string_fields" : {
           "match" : "*",
           "match_mapping_type" : "string",
           "mapping" : {
             "type" : "string", "index" : "analyzed", "omit_norms" : true,
               "fields" : {
                 "raw" : {"type": "string", "index" : "not_analyzed", "ignore_above" : 256}
               }
           }
         }
       } ],
       "properties" : {
         "@version": { "type": "string", "index": "not_analyzed" },
         "geoip"  : {
           "type" : "object",
             "dynamic": true,
             "properties" : {
               "location" : { "type" : "geo_point" }
             }
         }
       }
    }
  }
}


Спасибо, ребята, за вашу помощь.

С уважением

...