国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ABRTD進程引發ES血案的故事

IT那活兒 / 1632人閱讀
ABRTD進程引發ES血案的故事
點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!

故障背景

某集團割接,數據同步驗證日志一致性時,連接ES失敗,無法寫入和讀取,es數據寫入不了,影響最新日志入es,應用割接大部分廠商需要查詢最新的日志,間接影響到了割接進度,為了保障業務恢復,秉承先搶通后搶修原則,在上級領導及業務廠商溝通下,立即啟用應急處理措施,進行切換至災備ES,切換后索引讀寫正常,通知廠商恢復業務。


故事發生過程

晚上吃完飯,和同事一起趕現場做好支撐準備,我們說,今天割接非常順利,沒什么異常,早點回去休息,正要回去的時候, 突然有個業務系統說,查詢日志異常,我們馬上查詢一下手機短信,未發現什么異常短信,是否是業務誤報,不管了,以‘飛奔‘的速度跑回現場,所有領導已在現場,下面我們就展開了一系列分析。
我們這套ES是6主機24節點的集群,專門提供業務日志寫入,打開kibana看所有集群節點也都正常,看狀態也是Green 。
但是集群寫入失敗,肯定存在問題,于是看看節點情況,結果節點的索引信息獲取失敗,ES集群命令已經查不到ES集群節點信息及索引信息,此時需通過日志來分析為什么會如此
分析ES集群日志,發現日志中最早的報錯信息發生在5點33分39秒左右,報錯信息為連接超時導致無法獲取集群和索引信息,并且其它節點也有超時現象。
存在ES節點超時,就會觸發ES集群索引分片重新路由分配,分片移動到其它節點導致磁盤占比上升,引發es集群自動觸發提高磁盤水位,過高的IO和負載使整個集群Hang住,
此時ES級別分析完成,是185節點與集群通信失敗超時,處于假死狀態,而為什么185節點會這樣,我們進一步對操作系統進行分析,通過自動化運維平臺,發現6臺主機,有其中一個主機的負載故障前非常高,于是對操作日志進行分析, 檢查操作系統messages信息,發現185存在系統守護進程abrtd異常導致連接數過多及主機hang現象:
abrtd: Too many clients, refusing connections to 
/var/run/abrt/abrt.socketAug 21 05:33:37 hnes09 kernel: 
INFO: task java:21133 blocked for more than 120 seconds.Aug
21 05:33:37 hnes09 kernel: "echo 0 >
/proc/sys/kernel/hung_task_timeout_secs" disables this message.
我們通過日志發現引發這臺主機的‘罪魁禍首’是abrtd進程引起,而該進程是在操作系統BUG或異常情況會觸發,由于是開源的centos未有相應dump生成,只能先重啟主機解決。

重啟主機并重啟ES集群 ,查看 es日志顯示集群狀態正常,集群包含的6臺主機共24個節點正常加入集群,集群恢復正常,kibana訪問正常。

為了防止后續重蹈覆轍,在其它的未發生故障的主機進行梳理,并停止abrtd進程服務,至此整個事件告一段落。

故事發生引發的思考:

在我們未來的運維場景越來越復雜的情況下,開源組件會越來越多,業務使用開源的場景也會增多,單純的技術深度已無法滿足未來的需求,我們應該從架構設計出發,在出現問題的時候架構上做冗余,秉承‘業務優先,先搶通后搶修’的原則,在日常運維中使用平臺工具代替手工勞作。真正意義實現’故障來了我不背鍋’。

文章首發于2021年9月15日




本文作者:唐田壽(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129232.html

相關文章

  • 增量部署class文件引發血案

    摘要:背景項目中通過遠程調用服務框架調用了許多其它的服務其中有一個服務需要升級其升級不是版本上的升級而是整個服務重新取了一個名字使用的也是全新的包但是調用的方法沒有改變因此在升級時只是在調用服務類中修改了調用地址和調用返回實體由改為該中返回該調用 背景 項目中通過遠程調用服務框架調用了許多其它的服務,其中有一個服務wx/subscribe/contract/CircleService 需要升...

    lolomaco 評論0 收藏0
  • 記一次Content-Length引發血案

    摘要:除非使用了分塊編碼,否則首部就是帶有實體主體的報文必須使用的。 背景 新項目上線, 發現一個奇怪的BUG, 請求接口有很小的概率返回400 Bad Request,拿到日志記錄的請求的參數于POSTMAN中測試請求接口, 發現能夠正常響應. 排查過程 首先服務器能夠正常響應400 Bad Request, 排除接口故障問題. 對比日志過程中發現 { hello:world ...

    thekingisalwaysluc 評論0 收藏0
  • 一道JS面試題引發血案

    摘要:項目組長給我看了一道面試別人的面試題。打鐵趁熱,再來一道題來加深下理解。作者以樂之名本文原創,有不當的地方歡迎指出。 showImg(https://segmentfault.com/img/bVbur0z?w=600&h=400); 剛入職新公司,屬于公司萌新一枚,一天下午對著屏幕看代碼架構時。BI項目組長給我看了一道面試別人的JS面試題。 雖然答對了,但把理由說錯了,照樣不及格。 ...

    fantix 評論0 收藏0
  • 一個由“大頭兒子帶小頭兒子吃飯”引發血案

    摘要:在群里討論,然后得出了這幾種寫法,感覺是層層遞進,想了想,最后選擇發布成文章大頭兒子小頭爸爸叫去吃飯大頭兒子小頭爸爸叫去吃飯大頭兒子小頭爸爸叫去吃飯吃完了背小頭兒子回去正在牽著的手正在吃給所有對象擴展一個繼承的方法繼承爸爸要繼承人的功能正在 在群里討論JavaScript,然后得出了這幾種寫法,感覺是層層遞進,想了想,最后選擇發布成文章 ({ baby : 大頭兒子, ...

    forrest23 評論0 收藏0
  • 空數組返回true引發血案

    摘要:但是在這個判斷的情況下,則會很神奇的發現打印出來了,說明此時為,為什么呢因為這里執行了一個對象到布爾值的轉換故返回。 ????之前做項目的時候,總會處理各式各樣的數據,來進行繪圖。但是當后臺返回一個空數組的時候,頁面中并不會顯示沒有數據的圖。代碼如下: var arr = [] if(arr){console.log(124)}else{console.log(無數據)} 我明明判斷了...

    piglei 評論0 收藏0
  • 在PHP應用程序開發中不正當使用mail()函數引發血案

    摘要:在我們向廠商提交漏洞,發布了相關的漏洞分析文章后,由于內聯函數導致的類似安全問題在其他的應用程序中陸續曝出。淺析的函數自帶了一個內聯函數用于在應用程序中發送電子郵件。 前言 在我們 挖掘PHP應用程序漏洞 的過程中,我們向著名的Webmail服務提供商 Roundcube 提交了一個遠程命令執行漏洞( CVE-2016-9920 )。該漏洞允許攻擊者通過利用Roundcube接口發送一...

    Galence 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<