2008-11-12 26 views
8

我有一個用ColdFusion編寫的Web應用程序,它定期開始使用100%的服務器CPU並使ColdFusion服務崩潰。錯誤的ColdFusion應用程序的Windows CPU通知

因爲我一直無法重現自己的問題,我想找到一個實用程序時的CPU佔用率開始上升,這將通過電子郵件通知我,這樣我就可以在服務器上跳,看FusionReactor看發生了什麼事情,並找出行爲不端的代碼。

我用Google搜索,並一直未能找到合適的工具,所以我認爲我會問其他的程序員是否已經找到了一個工具,它可以做這樣的監測。鑑於我的需求的具體情況,我寧願不寫我自己的監測工具。

如果您有其他建議來解決整體問題,我很樂意聽到這些。

迴應的答案:

使用Windows性能監視器來觸發命令行聽起來前途。任何人都可以指導我如何做到這一點的教程?

我們沒有設置接收SNMP陷阱的監控系統。

我們正在運行ColdFusion 8 Standard Edition,它不包含ColdFusion性能監視工具 - 只有Enterprise包含這些工具。

彼得·鮑的答案很可能將使我能夠解決的問題,但它並不能幫助我主動解決問題爲CPU開始秒殺,所以我還在尋找一個通知解決方案。

回答

4

幾個星期前我有類似的問題,並被定向到一個名爲AlwaysUp的程序。

http://www.coretechnologies.com/products/AlwaysUp/

顯示器通過任意組合的任何過程:

  • 內存使用率
  • CPU使用率
  • 反應遲鈍
  • 運行自定義腳本,以確定是否應當重置

從這裏您可以重新啓動服務,或發送通知電子郵件,或運行腳本記錄東西,等等。

他們有30天的演示,我在第二天被出售..一個很好的快速修復你會發現問題的最底層。

+0

謝謝,這聽起來像我正在尋找解決這個持久但偶然的問題。 – davidcl 2009-01-19 20:16:30

2

在Windows上,您可以使用Windows標準的性能和監視工具(perfmon)。當CPU達到某個特定點時,它可以觸發一個SNMP通知,該通知可以被大多數系統監視工具採用,並以這種方式提醒您。它也可以運行命令或做其他各種有用的事情,這些事情可能會幫助你完成任務。

+0

你可以提供更多有關perfmon運行命令的細節嗎?我認爲這將符合我的需求。 – davidcl 2008-11-12 03:29:00

1

如果您正在運行Coldfusion 8 - 性能監視器,則可以使用另一種方法。您可以設置警報以發送電子郵件,根據不同的標準調用另一個CFC等。

我使用的服務器監控了很多 - 這是即使我沒有用警報自己太多,他們可能是值得尋找到,因爲他們看起來很容易設置一個偉大的工具。

至於整體的方法...

在我們公司,我們使用Windows性能監視器從一臺服務器輪詢我們所有的CF服務器每30秒得到一些指標,如總的CPU和平均響應時間。我們將其記錄到一個CSV文件。每隔幾分鐘運行一次計劃任務,讀取這些文件的詳細信息並將其保存到數據庫表中。然後截斷這些文件,以免它們變得太大。

最後的話,每天一次,我們獲取發送詳細說明所有的服務器指標,我們該圖表爲我們所有的服務器CPU和平均響應時間技術部門的報告。

我們認爲,這是初守在開發商的憂患意識和發現趨勢(如CPU利用率差)服務器性能的好辦法。我們發現它非常有效,因爲在開始衡量指標之前,您無法確定自己是否表現糟糕。

1

您不一定需要此通知 - FusionReactor具有日誌文件,因此您可以在發生這些事件後檢查它們,並確定當時正在運行的腳本。

如果您不確定它何時發生,我相當肯定其中一個日誌包含內存和CPU使用情況 - 儘管我現在不記得名稱是什麼,但是有一個關於日誌和你應該找到相關的信息。

+0

好點。我可能需要擴展FR的日誌記錄以確保請求日誌保留足夠長的時間以將它們關聯到資源日誌,但這是一個很好的觀點。 – davidcl 2008-11-13 16:31:36

相關問題