記一次skywalking dashboard 無數據顯示的解決過程

2019年2月28日
1.skywalking dashboard 13:57開始突然沒有數據
顯示如下

å¨è¿éæå¥å¾çæè¿°
此時es狀態:

å¨è¿éæå¥å¾çæè¿°

觀看skywalking 中collector日誌:

å¨è¿éæå¥å¾çæè¿°

其中出現大量的錯誤日誌(本次服務於11點30重啓後就一直存在)

觀看skywalking 中agent的日誌:

å¨è¿éæå¥å¾çæè¿°

出現大量此類日誌,繼續往上查看日誌

å¨è¿éæå¥å¾çæè¿°

發現其中的關鍵在於
es 在寫入的時候 已經沒有資源去處理了,所以會一直顯示有to many request,"es_rejected_execution_exception"這類日誌

所以結合log,可以得出本質問題出現在es處理 skywalking collector 數據寫入時,已經無法分配出資源來。原因主要是機器資源緊張…,所以可以從以下幾個方面去優化

可以修改 es 寫的queue的size,同時修改es bulk處理的一些配置,如調小flush的時間 和 flush的數據大小,同時es的bulk 可以設置忽律數據寫入失敗後的重試(這裏視數據重要程度而定)。
https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
集羣化es
修改queue_size的時候發現 不可動態修改,因此需要在es的yml文件中增加配置來修改
thread_pool.write.queue_size: 1000
官網yml相關參數設置的寫法
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章