在公司搭建的分布式實時統一日誌平台,是通過felk的方式組建的,大致流程是
filebeat是和應用部署在乙個pod中的(k8s部署)。目前的量為70-80個應用,資料一天50g.
事故回放:
有同學通知在kibana中查日誌,發現當天的某個時間段後都沒有日誌了,查之前的日誌都是ok的。
找問題經過:
1)kibana查詢其他專案的日誌,發現都是在這個時間段後沒有日誌;
2)進容器排查,發現應用日誌在這個時間段後都有日誌輸出,基本可以判定問題在logstash及後續流程中,應該是沒有把日誌放入到es。
3)檢視es情況,發現es集群狀態正常,3個節點狀態都 ok
4) 當時懷疑是否是網路問題,進入容器,telnet logstash 埠都是通的,檢視filebeat的日誌,日誌也沒報錯。
5) 懷疑是logstash問題,應為出問題前一天,一下子在logstash中接入了20個應用,會不會是資料太大把logstash沖垮了。
於是在這台機器上發布了另外乙個logstash例項,並且做了測試,發現新的logstash例項是可以接受資料,並且傳入到es.
至此,基本可以判定問題在logstash上了,各種查資料,效能引數優化,都沒有效果。
偶爾通過ps -ef|grep logstash檢視程序發現,logstash啟動引數記憶體只有1g,預設就是1g。
於是在config\jvm.option中修改logstash啟動引數,把記憶體改為4g。
重新啟動,發現問題解決。
ELK日誌系統 redis解決資料丟失問題
主機名 功能server1 elasticsearch kibana server2 logstash elasticsearch apache server3 logstash elasticsearch redis 用elasticsearch head 介面化集群操作和管理工具 管理elast...
測試環境好的,線上環境有問題排查
今天遇到乙個問題,寫了乙個整點的定時任務,整點的時候獲取當前時間,然後計算出當前時間的小時內的60個分鐘數,然後去更資料庫中60個資料。如下頁面 現在的問題就是測試環境我這邊都是ok的,都會定時整點更新資料 但是線上的資料到了整點 卻沒有更新時間。排查 1.定時是否生效 通過列印日誌,定時是生效的 ...
一次線上記憶體洩漏的問題排查
上線了好久的專案今天突然出現cpu到達100 的情況,先將專案緊急重啟,恢復正常後登入伺服器排查gc日誌,發現存在記憶體洩漏的情況。top命令檢視程序情況,top hp pid檢視執行緒,再jstack匯出日誌。過程匆忙,忘了截圖 搜尋jsatck日誌看到許多執行緒阻塞在這一行 基本可以定位到問題,...