message=>"Beats input: The circuit breaker has detected a slowdown or stall in the pipeline, the input is closing the current connection and rejecting new connection until the pipeline recover.", :exception=>LogStash::Inputs::BeatsSupport::CircuitBreaker::OpenBreaker, :level=>:warn}
But I end up changing the settings of the servers to ouput the content of topbeat and packetbeat in to a file and use only filebeat to forward the logs in to the ELK server.
This seems to have sorted the initial problem, I still see the same error on logstash.log but the data now arrive from all 5 servers.
The issue I need to resolve now is a way to index the data properly.
Everything get index under filebeat index now. I need it to get index in the way it happened before.
Any suggestions? if I use the topbeat to deliver the data direct to logstash it get separated automatically, but now it arrives from filebeat and everything gets indexed under the same index...
file:
# Path to the directory where to save the generated files. The option is mandatory.
path: "/var/log/beats/"
# Name of the generated files. The default is `packetbeat` and it generates files: `packetbeat`, `packetbeat.1`, `packetbeat.2`, etc.
filename: packetbeat.log
prospectors:
# Each - is a prospector. Below are the prospector specific configurations
-
# Paths that should be crawled and fetched. Glob based paths.
# To fetch all ".log" files from a specific level of subdirectories
# /var/log//.log can be used.
# For each file found under this path, a harvester is started.
# Make sure not file is defined twice as this can lead to unexpected behaviour.
paths:
- /var/log/varnish/varnishncsa.log
- /var/log/syslog
- /var/log/beats/*.log
ii elasticsearch 2.4.0 all Elasticsearch is a distributed RESTful search engine built for the cloud. Reference documentation can be found at https://www.el
ii filebeat 1.3.0 amd64 Sends log files to Logstash or directly to Elasticsearch.
ii logstash 1:2.3.4-1 all An extensible logging pipeline
ii packetbeat 1.3.1 amd64 A network analyzer tool that sends data to Elasticsearch.
ii topbeat 1.3.1 amd64 Like the top command but outputing periodically Logstash, Elasticsearch or file
logstash uses a circuit breaker with default timeout of 5 seconds. Once pipeline in logstash get's slowed down by too many events, the circuit breaker might trigger closing connections + not allowing any new connections for some time.
One can increase to disable the circuit breaker by setting congestion_threshold to multiple days for example:
Having this option you might still be able to process all events.
Sending via filebeat adds a json in json encoding by default. filebeat 5.0 can parse json logs. Alternatively In logstash apply the json filter to decode the original message and see if you can extract the @timestamp. On trick is to use fields setting in filebeat prospectors to add additional meta-data to events. the meta-data can be used in logstash for additional filtering.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.