Кибана не создает, показатель моих данных - PullRequest
0 голосов
/ 08 ноября 2018

Что мне нужно?

Мне нужно иметь возможность создавать индекс с данными моих файлов журналов.

logstash missing index

Это /etc/logstash/conf.d/apache-01.conf (я пытался использовать /dev/null для sincedb и удалить .sintedb_xxx файлы из /var/lib/logstash/plugins/inputs/file):

input {
    file {
        path => "/test/domainname*"
        start_position => "beginning"
        id => "NEWTRY2"
    }

}

filter {
    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
    }
    date {
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
    }

    geoip {
        source => "clientip"
    }
}

output {
  elasticsearch {
    hosts =>  ["localhost:9200"]
    index => "new-index2"
  }
}

Когда явыполнить команду

>> curl http://localhost:9200/_cat/indices
green  open .kibana                     N2gR01kcSMaT74Pj93NqwA 1 0     1 0   4kb   4kb
yellow open metricbeat-6.4.3-2018.11.08 rpBMeq-XS7yGeOd49Wakhw 1 1 14285 0 7.9mb 7.9mb

Обычно следует возвращать помеченные файлы как logstash-2018.11.01

В файле журнала /var/log/logstash/logstash-plain.logпоказывает это:

[2018-11-08T10:05:15,808][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"6.4.3"}
[2018-11-08T10:05:17,493][INFO ][logstash.pipeline        ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>8, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50}
[2018-11-08T10:05:17,825][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://localhost:9200/]}}
[2018-11-08T10:05:17,834][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://localhost:9200/, :path=>"/"}
[2018-11-08T10:05:17,997][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>"http://localhost:9200/"}
[2018-11-08T10:05:18,048][INFO ][logstash.outputs.elasticsearch] ES Output version determined {:es_version=>6}
[2018-11-08T10:05:18,051][WARN ][logstash.outputs.elasticsearch] Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>6}
[2018-11-08T10:05:18,075][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//localhost:9200"]}
[2018-11-08T10:05:18,093][INFO ][logstash.outputs.elasticsearch] Using mapping template from {:path=>nil}
[2018-11-08T10:05:18,109][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>60001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date"}, "@version"=>{"type"=>"keyword"}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}}
[2018-11-08T10:05:18,212][INFO ][logstash.filters.geoip   ] Using geoip database {:path=>"/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-filter-geoip-5.0.3-java/vendor/GeoLite2-City.mmdb"}
[2018-11-08T10:05:18,440][INFO ][logstash.inputs.file     ] No sincedb_path set, generating one based on the "path" setting {:sincedb_path=>"/var/lib/logstash/plugins/inputs/file/.sincedb_ae5e62ef229d5a1776eda86789823900", :path=>["/test/domainname*"]}
[2018-11-08T10:05:18,528][INFO ][logstash.pipeline        ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x45edc3cf run>"}
[2018-11-08T10:05:18,566][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2018-11-08T10:05:18,576][INFO ][filewatch.observingtail  ] START, creating Discoverer, Watch with file and sincedb collections
[2018-11-08T10:05:18,784][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

Папка / test / и файлы имеют разрешение 777, а владельцы - это собственный "logstash" folder permission

Когда я выполняю команду curl -XGET 'http://localhost:9200/_cluster/state?pretty', в ней появляются такие строки: (я удалил с помощью curl -XDELETE localhost:9200/* индекс, потому что я хочу изменить файлы журналов и обновить все)

"index-graveyard" : {
  "tombstones" : [
    {
      "index" : {
        "index_name" : "logstash-2018.11.01",
        "index_uuid" : "K8CPa4gYTSO-l4NfnrtTog"
      },
      "delete_date_in_millis" : 1541649663075
    },
    {
      "index" : {
        "index_name" : "logstash-2018.09.01",
        "index_uuid" : "-thB_LnfQlax6tLcS11Srg"
      },
      "delete_date_in_millis" : 1541649663075
    },
    {
      "index" : {
        "index_name" : "logstash-2018.10.31",
        "index_uuid" : "Fm8XcdcTTT2U-Xm1Vw0Gbw"
      },
      "delete_date_in_millis" : 1541649663075
    },
    {
      "index" : {
        "index_name" : "logstash-2018.08.31",
        "index_uuid" : "_FqmkcRNTKOx1oJbnpeyjw"
      },
      "delete_date_in_millis" : 1541649663075
    },
    {
      "index" : {
        "index_name" : "logstash-2018.11.02",
        "index_uuid" : "ZU04EZDaS_eeqD0auI9o5Q"
      },
      "delete_date_in_millis" : 1541649663075
    },
    {
      "index" : {
        "index_name" : ".kibana",
        "index_uuid" : "sZEoKhVlRRy7e8gAAnAEZw"
      },
      "delete_date_in_millis" : 1541653339359
    },
    {
      "index" : {
        "index_name" : "metricbeat-6.4.1-2018.11.06",
        "index_uuid" : "T5UZFMHiRJSMsBjTw40ztA"
      },

Что я пробовал?

  • Использование / dev / null вместо .sjectedb по умолчанию
  • Удаление файлов .sjectedb
  • изменение имени идентификатора во входных данных {}
  • изменить имя индекса в выходных данных {}
  • Удалить что-либо с помощью curl -XDELETE localhost:9200/*
  • изменить файлы и разрешения для папок
  • killall -9 java
  • Все связанные службы kibana останавливаются, перезапускаются
  • Перезагрузите компьютер
  • ПРОЧИТАЙТЕ столько тем об этой проблеме T_T

Важно: , когда я выполнил это в первый раз, все работало хорошо, но теперь не работает

Примечание: я новичок в этой теме Спасибо.

1 Ответ

0 голосов
/ 09 ноября 2018

При отладке конвейеров Logstash с использованием файловых входов я хотел бы упростить его с stdin и stdout

input {
  stdin {}
}
filter {
  ...your filter
}
output {
  stdout { codec => rubydebug }
}

Тогда

cat mylogfile > logstash -f mypipeline.conf

Цель - посмотреть, сможем ли мы получить данные. Если так, то что-то не так с конфигурацией ввода файла или выводом Elasticsearch. Разберитесь с каждым, пока не выясните, что не работает. Кроме того, убедитесь, что вы действительно можете прочитать файл, выполнив что-то вроде stat /path/to/your/file

Как правило, проблема с вводом файла - это права доступа или sincedb, но, похоже, вы смогли устранить оба. В этом случае я ожидаю, что stdin будет успешным.

...