iT邦幫忙

0

有一台已9年的webserver(SCSI Raid 5),httpd有時候會自動停止,這個情形是怎麼?

各位先進好! 事情是這樣子,我公司有一台已經9年的webserver(SCSI Raid 5),最近以來,httpd有時候會自動停止,必須在command下下達apachectl restart 指令重啟動,那像這樣的情形是怎麼呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
26
linyt
iT邦研究生 1 級 ‧ 2009-06-30 10:07:31
最佳解答

硬體方面這要看現場可能才比較清楚, 如果機器還有MA的話, 請廠商協助抓問題

如果機器是過保固與沒MA的話, 建議以下做法

  1. 在server端放支監控程式每10秒檢查 "處理程序"中的apache(是否為tomcat.exe)是否存在, 如果沒work就執行restart的程序
  2. 不然就是用類似Host monitor程式, 當apache服務未執行時, 就發出簡訊或是發信機制
james112 iT邦新手 5 級 ‧ 2009-06-30 10:19:25 檢舉

謝謝你的解答! 那我再問一下,像這樣子的情形發生,會跟硬體老舊有很大的關係嗎?

16
japues
iT邦高手 2 級 ‧ 2009-06-30 10:15:02

9年????他老了,請準備編預算換新

24
灌籃高手
iT邦高手 1 級 ‧ 2009-06-30 10:23:54

建議先查一下系統跟apache的log,看看是否有什麼錯誤訊息

14
soly
iT邦新手 4 級 ‧ 2009-07-01 11:11:05

不知開版大的系統為何,不過基本上可以看看system logs跟apache logs,說不定可以找出httpd停止時是否有什麼共同的跡象,例如都是在某個時間點停止、每一段固定時間(如20分鐘)就會停一次。也可以考慮安裝一些監控程式如Nagios之類的,看看httpd停止時是否有規則可循。當監控軟體通知httpd停止時,也可以立即登入系統看看立即的系統資源像是CPU、記憶體、硬碟I/O、網路使用活動、連線數之類的。同時也要觀察是不是某個程式一旦執行後就會使httpd當掉,或是某個程式的instance數過多導致系統無法負荷。

有時寫程式的人員沒有優化程式碼,又加上大大的主機有點老舊,可能無法處理吃系統資源過大的程式。我們之前有個httpd常常自動停止的案例是因為apache domlogs總大小過大,印象中apache 1.x的domlogs好像不可超過2GB左右,否則httpd會常常當掉,而且會連restart指令都沒用變成完全無法啟動。

我要發表回答

立即登入回答