Beginner with the elk stack.
Have an api thats sends messages to rabbit mq.
Logstash reads the messages and adds them to elasticsearch. When the api is under peak load the cpu load on elasticsearch is really high.
Its a single node cluster but it has some good hardware.
My logstash output looks like this:
For me it's not completely clear if logstash is sending these messages in bulk to elasticsearch or not.
Anybody could give me some tips on how to improve performance?
Indexing can be quite CPU intensive. What is the average size of your documents? What indexing throughput are you seeing? What is the specification of the hardware your cluster is running on? Is there anything in the logs around long or frequent GC?
Does your template define all fields or are you doing dynamic mapping? The mapping that analyzes text fields and maps them as keyword can do more than you sometimes need.
The mapping template contains:
"dynamic": "false"
So this should be oke.
@rugenl
Analysed the logs from yesterday. And removing the id did give us some improvements. Cpu load is still high but its better than before, so thanks for that one!!
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.