程序員必看:如何處理突發的程序故障?

在互聯網公司中,大家常提到的是用代碼“改變世界”的開發人員。其實,產品上線和維護,除了開發,還有一個崗位也肩負着重要責任。

他們隨時待命,遇到系統故障要立馬解決,還要爲項目上線、維護、更新等重大事情提供IT資源,讓產品能如期運轉。

他們就是運維工程師,就像急診科醫生一樣,總是臨危受命,搶救項目於水火。
但這種臨危不亂,快速解決問題的技能並非人人都會的。在未來,IT崗位越來越需要綜合能力強的人員,無論是開發還是運維,在知識體系上有所重合。運維需要了解開發,而開發也需要掌握運維基礎。

下面爲大家分享優秀的運維工程師必備的兩項技能吧!作爲新手運維和其他互聯網崗位的人員學習參考。

面對問題和故障

與其他Linux系統一樣,在學習OSSIM的過程中也會出現各種問題和故障。由於網上能直接找到的資料有限,所以很多新手都擔心出現問題,在面對問題時都很侷促,特別是當一個個問題接踵而來時會顯得無可奈何。

學習OSSIM可以充分暴露你的“知識短板”,這體現在編程語言、數據庫、操作系統、TCP/IP、網絡安全的各個方面。

不過通過解決OSSIM中遇到的問題,就會逐步彌補這些短板。學習就是一個發現問題與解決問題的過程,只要掌握了OSSIM的體系結構和運行原理,很多問題都可以迎刃而解。

當然,前提是我們已經具備了下面所列的這些紮實的基本功:
◎ 有一定的英文水平;
◎ 瞭解網絡原理尤其是TCP/IP的內容;
◎ Debian Linux系統和網絡管理知識;
◎ MySQL數據庫的基本操作;
◎ 服務器、網絡設備運維基礎;
◎ 系統***與應急響應相關的技能;
◎ IDS部署和SIEM/SOC應用基礎。

要想成爲OSSIM系統運維人員,面對問題時頭腦中必須有一個清晰、明確的故障解決思路,一般有以下5個步驟。

1從報錯提示挖掘幕後問題

OSSIM在Web UI中報錯,主要內容都顯示在屏幕上,只要能看懂錯誤提示(前提是能讀懂英文),就能基本猜出發生問題的幾種可能性。

2查看日誌文件

Web前臺報錯,在後臺日志會有詳細的錯誤日誌。系統日誌在文件/var/log中,OSSIM日誌在/var/log/ossim或/var/log/alienvault/中,結合兩個目錄下的日誌內容就有可能發現問題。

3定位問題

這個過程相對複雜,查看Web裏的提示和挖掘日誌就能基本推測出現問題的幾種途徑。

4解決問題

抓住最有可能的途徑進行排查,最後就能解決真正的問題。

5 不戀戰

一些人特別執着,有着不解決問題誓不罷休的架勢。當遇到一些OSSIM故障問題時,若在嘗試各種思路後依然無法得到自己想要的結果,這時就不要再戀戰了,而是跳過這個問題,繼續前進。通過休息等方式來疏解一下心中的情緒,沒準在過幾天的實驗結果中會聯想到實驗失敗的教訓,激發出新的靈感來解決以前的問題。

以上只是解決問題的基本步驟,實驗失敗是一段充滿教育性的成長經歷,沒有失敗積累經驗,何談成功呢?失敗次數越多,你對它的理解就越深,離突破性成功就越近。但很多人卻不這麼看,他們在安裝配置OSSIM的過程中,接連遇到一兩個失敗的經歷就對這款工具沒什麼興趣以至於最後放棄。

在安裝階段遇到的典型問題有下面這些。
無法找到硬盤或者網卡驅動。這主要是硬件驅動問題,初學者只要選擇VMware虛擬機進行安裝就能解決。

安裝過程停滯。在OpenVAS解包安裝時,界面上出現卡死現象(其實是後臺更新腳本時間比較長,在安裝界面表現爲停滯狀態)。很多人在這個環節直接將機器重啓,認爲自己的操作或者安裝文件出了問題,其實只要耐心等待20分鐘就能過去。
系統引導應是短暫的,但有時候卻長期停留在引導界面。其實這是假象,只要在控制檯按下Ctrl+Alt+F3組合鍵就會出現命令行登錄界面。
安裝完成,經過長時間的系統引導後,發現無法登錄Web UI。

登錄Web UI後設置的admin密碼不符合系統的複雜度要求,其實採用8位字母數字的組合就能快速解決這個問題。

除此之外,還有路由不通、圖形無法顯示、抓不到包、採集不到日誌等許多故障。
無論你是新手還是專家,只要堅持學習OSSIM,就會不斷遇到各種問題。老問題解決了,換個環境,新問題還會不斷髮生。如果都能逐一化解,那麼你的業務能力和分析問題、解決問題的能力會逐步增強。

有效的提問技巧

在系統出現問題時,大家通常會上網尋找答案,比如通過QQ羣、百度或者AlienVault社區、Blog等方式。在這些地方,他們往往將自己的報錯信息粘到網上,便坐等答案出現(其實“坐等”“跪求”都無濟於事)。

在專家眼裏,是否對你提出的技術問題進行解答,很大程度上取決於提問的方式與此問題的難度。一些讀者在提問前不深入思考,也不做功課,而是隨便提出問題,想利用守株待兔的方式輕易獲取問題的答案,這樣能取得真經嗎?不經歷風雨又怎能見到彩虹!
從另一個方面看,專家會覺得你不願意自己付出,在浪費他們的時間,因此你自然也不會得到想要的結果。專家最喜歡那些真正對問題有興趣並願意主動參與解決問題的人,而且只有提出有技術含量的問題,他纔會花時間爲你回答問題。
提問前的準備工作
作爲提問者,必須表現出解決此問題的積極態度,應該提前做些功課,舉例如下。
善於利用搜索引擎在網絡中搜索。在相關技術論壇發帖時要注意,不要在面向高級技術的論壇上發佈初級的技術問題,反之亦然。發帖時不要在同一論壇反覆發佈同一問題,以免被管理員認定爲“灌水”。
OSSIM幫助系統比較完善,如果善用幫助系統,那麼可以解決大部分參數的使用問題。
自己檢查,反覆做實驗。
嘗試閱讀OSSIM源代碼。
問題描述技巧
在描述問題時,請遵循以下技巧。
描述症狀時不做猜測:明確表達問題的原始狀態。

按時間順序描述問題症狀:解決問題最有效的線索就是故障出現之前發生的情況。所以,應準確地記錄計算機和軟件在崩潰前的情況。在使用命令行處理的情況下,對話日誌的記錄會非常有幫助。如果崩潰的程序有診斷選項,就試着選擇能生成排錯日誌的選項。
大段問題的處理:如果你的問題記錄很長(如超過3段),那麼在開頭簡述問題,然後按時間先後詳細描述過程也許更有用。
附件格式及注意事項

有些同學在提問時,喜歡貼一堆日誌或者幾張圖然後發問,什麼前因後果都不講清楚,就想着獲得答案。提問都懶得說清楚,專家也懶得回覆。所以,請稍微花一些時間組織語言,把問題說清楚。注意體現文字的準確性和你思考問題的積極性。
最好把問題連同故障截圖(提供完整截圖)作爲附件發給專家,建議使用標準的文件格式發送,以下是參考格式。

◎ 使用純文本或者PDF格式,也可以使用DOC、RTF格式。
◎ 發送郵件時如有多個附件,壓縮打包後檢查附件內容是否能正常打開。
◎ 發送原始數據,並保持內容一致,例如截屏或者屏幕錄像。
◎ 如果使用Windows操作系統發送電子郵件,關閉“引用”功能,以免在郵件中出現亂碼。

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