More complete logs with debugging logs enabled -d '*' will help us seeing when metricbeat did start publishing the events and when the i/o timeout was triggered.
Is Logstash stuck? The error happens when metricbeat is waiting for an ACK or keep-alive signal from Logstash. Normally logstash will send a keep-alive signal every few seconds, resetting the timer in metricbeat. Maybe you can get a pcap with tcpdump so we can see if communication takes place properly.
What happens if you increase the timeout from default 30s to e.g. 1h. Is Logstash processing events? Can metricbeat send more events?
Here's some more details about my Elastic Stack configuration. I haven't had the opportunity to put logging into debug mode or change the timeout. Did try adding Djava.net.preferIPv4Stack=true in jvm.options but no luck. Below is logstash-json.log from the same server.
Elastic Stack configuration:
Same configuration running in multiple AWS regions
Logstash - All regions are processing application logs
Metricbeat - Only one regions is expiring metricbeat timeouts
Thanks for the help and suggestions! The metricbeat i/o timeouts threw me off, I'm in the last phase of migrating from ES 1.7.1 to Elastic Stack 5. Part of my strategy is to do apples to apples which is why I'm doing metricbeats to logstash.
But after diving into it further the following changes solved the problem.
Metricbeat: Reduced metricbeats period from 10 to 60
Logstash Shipper: Redis output added batch and batch_events
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.