I use filebeat to send logs to logstash who is running in a docker's container on ubuntu.
Since the gathered log files format was modified, i have a lot of grokparse failure. I don't know if there is a relation but know, my logstash server crashes.
I have this error :
Unhandled Java exception: java.lang.BootstrapMethodError: call site initialization exception
java.lang.BootstrapMethodError: call site initialization exception
[.....]
Caused by:
[2018-07-26T14:08:42,862][WARN ][io.netty.channel.AbstractChannelHandlerContext] The exceptionCaught() event that was failed to submit was:
java.util.concurrent.RejectedExecutionException: event executor terminated
[...]
[2018-07-26T14:08:45,241][WARN ][io.netty.channel.AbstractChannelHandlerContext] Failed to submit an exceptionCaught() event.
java.util.concurrent.RejectedExecutionException: event executor terminated
[...]
[2018-07-26T15:40:15,319][WARN ][logstash.filters.json ] Error parsing json {:source=>"json_column", :raw=>"base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5[...]AX9KtJ4U09Rwv6VMnhewH8P6VctdBs4Xyq/pWkthCBgCl+ww5zinCxh9KclnEvIWphAg7UxrZG6037HF6Uv2SL0pPscXpSGyi9KQ2MJ7Uz+zYPSl/s6D+7SjT4B/DThYQf3amS2iRcBRX//2Q==\"}", :exception=>#<LogStash::Json::ParserError: Unrecognized token 'base64': was expecting ('true', 'false' or 'null')
at [Source: (byte[])"base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5[...]AX9KtJ4U09Rwv6VMnhewH8P6VctdBs4Xyq/pWkthCBgCl+ww5zinCxh9KclnEvIWphAg7UxrZG6037HF6Uv2SL0pPscXpSGyi9KQ2MJ7Uz+zYPSl/s6D+7SjT4B/DThYQf3amS2iRcBRX//2Q=="}"; line: 1, column: 8]>}
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid1.hprof ...
Unable to create java_pid1.hprof: File exists
here are my logstash container stats :
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
8b377d4515b8 logstash 78.27% 1.279GiB / 11.73GiB 10.90% 9.57MB / 22.5MB 19.6MB / 5.2MB 78
Thank you Magnus.
I'm running logstash in a docker container on an ubuntu distribution, and i'm really not comfortable with this
So, i would be glad if you give me the command line to increase the JVM heap memory through the docker container.
Yes, that's what it looks like. I suppose that image uses the usual jvm.options file to control the JVM configuration, so you should be able to modify that file to your needs and use one of the methods described in https://www.elastic.co/guide/en/logstash/current/docker-config.html to replace the original jvm.options with the one you've changed.
But it's empty, so i tried to increase the jvm memory with this command :
java -Xms4g -Xmx4g
And i get this message :
OpenJDK 64-Bit Server VM warning: Insufficient space for shared memory file:
112
Try using the -Djava.io.tmpdir= option to select an alternate temp location.
When i check the available space (inside the logstash container), i get :
I'm sure there is, but how you in your particular case should increase the amount of available space on one of your storage volumes is a question best asked elsewhere.
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.