我有一个应用程序,每2分钟以100个数据包的形式发送最多600条日志消息(发送100条日志,暂停2秒...)
此应用会将日志发送到Logstash
-> ElasticSearch
-> Kibana
。
过一会儿(例如10分钟,有时甚至更少),ElasticSearch
崩溃并显示以下消息:
org.elasticsearch.action.search.SearchPhaseExecutionException: all shards failed,
"at org.elasticsearch.action.search.AbstractSearchAsyncAction.onPhaseFailure(AbstractSearchAsyncAction.java:296) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.search.AbstractSearchAsyncAction.executeNextPhase(AbstractSearchAsyncAction.java:139) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.search.AbstractSearchAsyncAction.onPhaseDone(AbstractSearchAsyncAction.java:259) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.search.InitialSearchPhase.onShardFailure(InitialSearchPhase.java:105) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.search.InitialSearchPhase.access$200(InitialSearchPhase.java:50) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.search.InitialSearchPhase$2.onFailure(InitialSearchPhase.java:273) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.search.SearchExecutionStatsCollector.onFailure(SearchExecutionStatsCollector.java:73) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.ActionListenerResponseHandler.handleException(ActionListenerResponseHandler.java:59) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.search.SearchTransportService$ConnectionCountingHandler.handleException(SearchTransportService.java:441) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleException(TransportService.java:1124) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.transport.TransportService$DirectResponseChannel.processException(TransportService.java:1236) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:1210) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.transport.TaskTransportChannel.sendResponse(TaskTransportChannel.java:60) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.action.support.ChannelActionListener.onFailure(ChannelActionListener.java:56) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.search.SearchService$2.onFailure(SearchService.java:366) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.search.SearchService$2.onResponse(SearchService.java:360) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.search.SearchService$2.onResponse(SearchService.java:354) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.search.SearchService$4.doRun(SearchService.java:1069) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:41) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:751) [elasticsearch-7.1.1.jar:7.1.1]",
"at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.1.1.jar:7.1.1]",
"at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]",
"at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]",
"at java.lang.Thread.run(Thread.java:835) [?:?]"
我的docker-compose.yml
文件是这个文件:
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
container_name: elasticsearch
ports:
- "9200:9200"
volumes:
- ./elastic.yml:/config/elastic.yml
environment:
- node.name=elasticsearch
- cluster.initial_master_nodes=elasticsearch
kibana:
image: docker.elastic.co/kibana/kibana:7.1.1
container_name: kibana
ports:
- "5601:5601"
volumes:
- ./kibana.yml:/config/kibana.yml
links:
- elasticsearch
depends_on:
- elasticsearch
logstash:
image: docker.elastic.co/logstash/logstash:7.1.1
container_name: logstash
links:
- elasticsearch
volumes:
- ./logstash.conf:/config/logstash.conf
command: logstash -f /config/logstash.conf
ports:
- "9500:9500"
- "9600:9600/udp"
- "9700:9700"
depends_on:
- elasticsearch
volumes:
elasticsearch:
driver: local
我有容器的最新图片...