У меня проблема с моим logstash s3 iinput. Последние сообщения, которые я вижу в моем кибане, являются несколькими днями раньше. На самом деле у меня есть ловушка AWS с включенным журналом. Я тестировал из командной строки, и я вижу, что logsstash постоянно обрабатывает входные данные и никогда не выводит. В ведро elb s3 есть одна папка в день/месяц/год, и каждая папка содержит несколько файлов журнала и имеет общий размер около 60 ГБ.Logstash продолжает делать s3-входную задачу, но nerver посылает события ouput
В начале это работало нормально, но по мере того, как журналы растут, оно становится медленным, и теперь я вижу свои журналы в размере outpiut. Logstah продолжает выполнять входную задачу, фильтровать и никогда не выводить журналы.
Я создал специальный конфигурационный файл для теста только с s3 в качестве входных данных, и испытания в специальной машине из командной строки:
/opt/logstash/bin/logstash agent -f /tmp/s3.conf --debug 2>&1 | tee /tmp/logstash.log
```
the s3.conf file :
```
[email protected]:~$ cat /tmp/s3.conf
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# !!!!!!!!! This file is managed by SALT !!!!!!!!!
# !!!!!!!!! All changes will be lost !!!!!!!!!
# !!!!!!!!! DO NOT EDIT MANUALLY ! !!!!!!!!!
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#--[ INPUT ]----------------------------------------------------------------
input
{
# Logs ELB API
s3
{
bucket => "s3.prod.elb.logs.eu-west-1.mydomain"
prefix => "rtb/smaato/AWSLogs/653589716289/elasticloadbalancing/"
interval => 30
region => "eu-west-1"
type => "elb_access_log"
}
}
#--[ FILTER ]---------------------------------------------------------------
filter
{
# Set the HTTP request time to @timestamp field
date {
match => [ "timestamp", "ISO8601" ]
remove_field => [ "timestamp" ]
}
# Parse the ELB access logs
if [type] == "elb_access_log" {
grok {
match => [ "message", "%{TIMESTAMP_ISO8601:timestamp:date} %{HOSTNAME:loadbalancer} %{IP:client_ip}:%{POSINT:client_port:int} (?:%{IP:backend_ip}:%{POSINT:backend_port:int}|-) %{NUMBER:request_processing_time:float} %{NUMBER:backend_processing_time:float} %{NUMBER:response_processing_time:float} %{INT:backend_status_code:int} %{INT:received_bytes:int} %{INT:sent_bytes:int} %{INT:sent_bytes_ack:int} \"%{WORD:http_method} %{URI:url_asked} HTTP/%{NUMBER:http_version}\" \"%{GREEDYDATA:user_agent}\" %{NOTSPACE:ssl_cipher} %{NOTSPACE:ssl_protocol}" ]
remove_field => [ "message" ]
}
kv {
field_split => "&?"
source => "url_asked"
}
date {
match => [ "timestamp", "ISO8601" ]
remove_field => [ "timestamp" ]
}
}
# Remove the filebeat input tag
mutate {
remove_tag => [ "beats_input_codec_plain_applied" ]
}
# Remove field tags if empty
if [tags] == [] {
mutate {
remove_field => [ "tags" ]
}
}
# Remove some unnecessary fields to make Kibana cleaner
mutate {
remove_field => [ "@version", "count", "fields", "input_type", "offset", "[beat][hostname]", "[beat][name]", "[beat]" ]
}
}
#--[ OUTPUT ]---------------------------------------------------------------
output
#{
# elasticsearch {
# hosts => ["10.3.16.75:9200"]
# }
#}
{
# file {
# path => "/tmp/logastash/elb/elb_logs.json"
# }
stdout { codec => rubydebug }
}
И я могу увидеть входную обработку, фильтр, и сообщение, как «будет начать работу рабочего ..... ", но не выходное событие получено, никогда.
Я создал новую папку (с именем test_elb) на ведро, и скопировать журналы из однодневной папки (31/12/2016, например) в него, а затем установить новый созданный в качестве префикса в моей конфигурация входов, как это:
s3
{
bucket => "s3.prod.elb.logs.eu-west-1.mydomain"
prefix => "rtb/smaato/AWSLogs/653589716289/test_elb/"
interval => 30
region => "eu-west-1"
type => "elb_access_log"
}
и с этим s3 префиксом, logstash делает всю конвейерную обработку данных (ввод, фильтр, выход), как ожидают, и я вижу, мои журналы выходов. поэтому для меня это похоже на ведро большого и losgstash-s3 плагин имеет сложную обработку. Может ли кто-нибудь здесь посоветовать по этой проблематике, пожалуйста?
Моя версия logstash: 2.2.4 Операционная система: Debian Jessie
Я искать и спросить в discuss.elastic форуме, в elasticseach IRC чан, и никакого реального решения. Возможно ли это, что это может быть ведро Размер вопроса
Спасибо за помощь.
С уважением.