如果,我們花了時間,看了log和檢查了系統狀態,但忽略掉某些細節,讓Trouble Shooting的方向偏了,甚至讓原來正確的設定,都被自己改掉了,造成系統狀態變的更糟,甚至加班到半夜。這個時候,需要檢討的是自己,想辦法消滅這樣的狀況,並且不要對自己的工作或身邊的人、事、物有怨言,因為...這都是自己造成的。
何必一目十行,是第二句話。第一句是什麼,請自行想像。
很多時候,這個行業的工程師,必需閱讀大量的資料,最典型的就是系統設定或是系統log檔,也不一定非要大量,重點就是要閱讀很多資料,閱讀完畢後,才能決定下一步要做什麼。這應該不能理解,如果在看mail server的記錄檔,裡面出現某個帳號認證失敗,應該...不會跟客戶說,不能收發的原因是信箱滿了吧。(雖然我碰過滿多次,我以前的同事這樣告訴客戶...)
如果log檔當中,有錯誤訊息,是我們運氣好。因為那個尋著那個錯誤訊息,把問題解決掉的機率非常大,但如果log檔裡面,沒有任何錯誤訊息...那也是正常的,因為很多時候,並不是系統發生錯誤,而是人為的邏輯錯誤。這時候,只能分析log檔和實際環境,有沒有什麼不合邏輯的地方。
閱讀任何的log檔,都不是一件簡單的事,因為...當一位系統工程師,閱讀log檔的時候,如果只是走馬看花...那就完了。「走馬看花」簡單的解釋就是「隨便看看」,因為「隨便看看」所以「看到什麼就是什麼」。
是的,剛才提到「那就完了」,這四個字很重,但...這是事實。因為走馬看花,除了會讓我們誤判之外,最嚴重的是,還會讓問題變的更大。
log檔記錄的都是結果,但為什麼連不到? 應該只有電影中的超級電腦系統,才會知道無法連線的的原因。現實生活中的系統不會知道,「為什麼無法連線」這件事。這只能靠我們去判斷,也是我們的價值所在之一,但該怎麼判斷?
除了要對現場環境,有一定程度的了解,如果不了解,也該把全貌問出來,或是對當下的情況,有一定的了解之後,再去做判斷。
下面這段log,是在說「連接不到某個I/P位置的1500 port」
09/10/12 07:19:08 ANS5216E Could not establish a TCP/IP connection with address 'xxxxxx:1500'. The TCP/IP error is 'A remote host refused an attempted connect operation.' (errno = 79).
09/10/12 07:19:08 ANS9020E Could not establish a session with a TSM server or client agent. The TSM return code is -50.
09/10/12 07:19:08 ANS1017E Session rejected: TCP/IP connection failure
去年,我的前輩看到這一段,就跟我說「這不要理啦,這一定是防火牆造成的啊,他們的環境怎麼樣,關我們什麼事。」最後發現是要連線的那台主機啟動1500 port的服務,沒有起動。
這樣子的情況,歸類為「沒有詳查並確認後,隨便說說」。
另一種閱讀log的狀況是...log 已經很清楚的顯示錯誤訊息,也不需要查結果,但就是會無視log的內容,就像「吃飯是吃飯、投資是投資」的論述一樣。看著log然後在系統上試了半天跟log描述完全無關緊要的測試,最後問題沒解決,還因為誤用了別的指令,改到了別的東西,最後全錯。
這樣的情況,如果發生在我身上,我又「何必一目十行」呢?
另一種,常發生在「查詢系統設定、事件或狀態」的時候,有時候設定真的很多,但正因為很多,才更需要仔細的去看去分析。很多時候因為設定上所造成的錯誤,是很難查出來的,甚至連原廠的Trouble shooting手冊,都不會提到這些錯誤,原因是大部份Trouble shooting手冊中的內容,都是針對設定正確後,發生的異常狀態,所做的處理說明。
比如像是兩個網段的Router接起來後,兩個網段的PC都Ping不到對方,開始去查switch、網路線、網路卡、DHCP主機上的設定...最後發現是Router上沒有開啟Routing的功能...這是幾年前,我做的好事。「走馬看花」...對喜歡發呆的我來說,出現在我身上的機率還滿大的。
另一個案例,過去這360幾天,因為某個案子,讓我每天工作時,都被一堆人追著跑,有時候忘了一些自己做過的東西...又沒記錄...總之,有一天我要還原一台主機的作業系統,還原程式一進入執行狀態,就出現錯誤訊息。心裡想著...不妙...機房外面有十幾二十個人,在等我的消息。
每天面對的壓力,都像排山倒海、泰山崩於前啊! 趕快...抄下錯誤訊息,到Google去查,看看有沒有類似的案例,可是怎麼查都查不到...這就很怪,因為如果有發生過,那起碼在原廠官網也會有相關的留言和討論(系統工程師面對的系統異常,是和全世界接軌的...),查了快半小時,心底出現一個想法。
我是不是少安裝了一個套件? 因為那主機是不久前,客戶自行重裝作業系統之後,我再去重裝的軟體,重裝那天是臨通知,帶的Source不足,有少裝...但因為沒記錄,少裝這件事,雖然沒有忘記,但也淹沒在轟轟轟的機房裡。
回頭一查,果然沒安裝我心裡想的套件。也就是說,出現的error code,在網路上根本查不到...沒有多少人,會因為自已少裝軟體之後,還上網去留言『請問,我少安裝一個套件,結果出現錯誤訊息,請問該怎麼處理...』
好險那天沒上iT邦幫忙,提出這個問題...不然,就好笑了...
如果,我們花了時間,看了log和檢查了系統狀態,但忽略掉某些細節,讓Trouble Shooting的方向偏了,甚至讓原來正確的設定,都被自己改掉了,造成系統狀態變的更糟,甚至加班到半夜。這個時候,需要檢討的是自己,想辦法消滅這樣的狀況,並且不要對自己的工作或身邊的人、事、物有怨言,因為...這都是自己造成的。
(待)
2012/10/06 太陽哲齡
更多文章都在行雲流水IT人
哈~終於讓我坐到了
太陽大的前輩的工作好像都是專門在訓練太陽大的經驗值
報告pajace2001大大...
人生不如意之事,十有八萬九...就看自己怎麼想,不面對是一天,面對也是一天...就看自己怎麼想
報告太陽大,你說的沒錯,遇到越多問題,解決問題的能力也就越強,記得有位前輩說過(忘了是91哥還是Will寶哥),在這行不是比誰強,而是比誰遇到的問題多,下次再遇到,很容易就可以解掉了,因為這行要學的東西太多了,是學不完的
連接不到某個I/P位置的port
基本上 如果能夠做好每種錯誤訊息的完整測試的話就不怕問題了
最怕就是"那一定是怎樣怎樣造成的"的莫非定律~"~
結果又繞了一大圈才找到問題
sunallen提到:
何必一目十行,是第二句話。第一句是什麼,請自行想像。
想像:
既然過目即忘
話說
Trouble 這字拼錯兩次囉
報告antijava大大:
因為我用了Ctrl+V...所以錯的地方加倍
總是要示範一下