elk中es分片數限制導致日志接受異常


事件背景:
早上的時候elk都是正常的,結果下午發現從10點之后很多索引的日志都收不到了,只有極個別索引有日志刷新.
日志有三種接入方式:
1. filebeat-->logstash-->es
2. rsyslog-->logstash-->es
3. filebeat-->kafka-->logstash-->es
第一種方式接入的日志量不大,能正常更新;第二種方式接入的是安全類日志,日志接收異常;第三種應用日志,也接收異常

  1. 查看kibana中的es監控,發現es正常,負載也正常
    image

通過接口查看es健康狀況也沒什么問題
image

  1. 於是懷疑是不是kafka掛了
ps -ef | grep kafka
#查看kafka進程也都沒問題
kafka-console-consumer.sh --bootstrap-server xxx:9092 --topic xxx
#控制台消費者查看kafka數據,發現數據是有的
  1. 看來也不是kafka的問題,再查看logstash的狀態
ps -ef | grep logstash

image

於是查看了logstash的日志:

tail -100f logstash-plain.log
#發現有大量警告信息,如下圖

image

從報錯上來看,就是es的最大打開分片數達到上限,於是在kibana界面,查看es配置
image
發現沒有分片相關配置,說明使用了默認值

參考這篇博客: https://blog.csdn.net/knight_zhou/article/details/105707342

於是設置了參數:"max_shards_per_node":12000

PUT /_cluster/settings
{
  "persistent": {
    "cluster": {
      "max_shards_per_node":12000
    }
  }
}

再次查看配置:
image

然后logstash日志中的警告日志就沒有了,查看日志發現日志也都接收到了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM