<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
繼上次skywalking出故障《解析Arthas協助排查線上skywalking不可用問題》不到一個月,線上skywalking又出毛病了。又是大盤空白,trace列表最近的資料都查詢不出來,但是時間稍久的資料就能查詢出來,如一天前的資料有,一個小時前的資料就沒有,這個只是表象,最終查明癥結是ES的服務寫入瓶頸,導致寫入寫入資料的執行緒阻塞導致的。下面是排錯過程以及解決方案說明。
工具還是那個工具Arthas,不瞭解的可以翻閱我之前的博文,這裡不多說明Arthas。不過這次我們應用了一個新的進階指令thread,它可以檢視當前執行緒資訊,檢視執行緒的堆疊。當skywalking大盤沒有資料時,使用如下指令:
thread -b
有時候我們發現應用卡住了, 通常是由於某個執行緒拿住了某個鎖, 並且其他執行緒都在等待這把鎖造成的。 為了排查這類問題, arthas提供了thread -b, 一鍵找出那個罪魁禍首。最後得到如下的結果:
如上圖,相信大家已經看到問題所在了,重點在紅色字型箭頭指向的部分,不得不說Arthas做的太棒了。癥結就是ES的批次寫入失敗執行緒阻塞了。後從社群瞭解到是因為ES寫入瓶頸,導致skywalking在批次寫入索引的時候執行緒阻塞了。導致阻塞的那段時間的資料都沒有寫到ES,然後查詢是沒有問題的,表象就是skywalking的大盤空白也查詢不到近期的資料了。
skywalking寫入ES的操作是使用了ES的批次寫入介面。我們可以調整這些批次的維度。儘量降低ES索引的寫入頻率,如:
elasticsearch: clusterNodes: 192.168.20.221:9200 indexShardsNumber: 2 indexReplicasNumber: 0 # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html bulkActions: 4000 # Execute the bulk every 2000 requests bulkSize: 40 # flush the bulk every 20mb flushInterval: 30 # flush the bulk every 10 seconds whatever the number of requests concurrentRequests: 2 # the number of concurrent requests receiver-register: default: receiver-trace: default: bufferPath: ../trace-buffer/ # Path to trace buffer files, suggest to use absolute path bufferOffsetMaxFileSize: 500 # Unit is MB bufferDataMaxFileSize: 1000 # Unit is MB bufferFileCleanWhenRestart: false
調整bulkActions預設2000次請求批次寫入一次改到4000次。批次重新整理從20M一次到40M一次。這種設定調優確實生效了,重啟服務後兩三天了都沒有出現過ES寫入阻塞的問題。不過這種設定只是暫時的,你只能期望流量不突發,或者應用不增加。一旦遇到突發流量和應用的增加,ES寫入瓶頸還是會凸顯出來。而且引數設定過大帶來了一個新的問題,就是資料寫入延時會比較大,一次服務互動發生的trace隔好久才能在skywalking頁面上查詢到。所以最終解決方案是優化ES的寫入效能。
如果是自建Elasticsearch服務,在基礎巨量資料團隊負責搜尋引擎 Elasticsearch 優化和開發,博文裡分享了很多可調優設定的引數。不過我們這邊綜合運維人力和支出方面的考慮,決定採用阿里雲提供的Elasticsearch,不過這帶來了一個新的問題,阿里雲的ES服務不論內外網都需要Http Basic認證,但是目前的skywalking並沒有提供這種支援。
skywalking是一款非常不錯的開源apm產品,很多功能特性甚至可以和商業的apm產品一爭高下,比如trace查詢等功能。我們線上的skywalking沒有全面鋪開去接入應用,但是問題還是發生了不少,希望這些線上的踩坑排坑經驗能帶來更多的參考價值。關於Elasticsearch 帶Http Basic 認證skywalking不支援的問題,將在下文詳描述去解決
以上就是Elasticsearch寫入瓶頸導致skywalking大盤空白的詳細內容,更多關於Elasticsearch寫入skywalking空白的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45