2016-04-12 70 views
1

遠程檢查CPU,內存和磁盤空間IBM Bluemix PHP實例。遠程檢查CPU,內存和磁盤空間IBM Bluemix PHP實例

我有一個運行在IBM Bluemix中的php實例。

現在我想通過調用一個php的網頁來檢查外部程序的CPU,內存和磁盤空間。

對於CPU我嘗試了以下功能:

function get_server_cpu_usage(){ 
    $load = sys_getloadavg(); 
    $cores = shell_exec("grep 'model name' /proc/cpuinfo | wc -l"); 
    $load[2] = ($load[2]/$cores) * 100; 
    return $load[2]; 
} 

對於內存我用下面的功能:

memory_get_usage(true) 

磁盤空間我用下面的功能:

disk_free_space("/") 

但是,當我將這些結果與IBM Bluemix Console提供的結果進行比較時,它們是不同的。

有沒有正確的方法來外部監測這些值?

回答

2

您可以使用CF API REST調用檢索該信息。您可以在CF的API文檔在這裏:

在這種特定的情況下,你可以做從PHP應用程序的捲曲調用和分析針對CPU,內存和磁盤空間信息的JSON響應。

捲曲 「https://api.ng.bluemix.net/v2/apps/YOURAPP_GUID/summary」 -X GET -H「授權:承載eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTQyNCIsImVtYWlsIjoiZW1haWwtMjkzQHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NjA1MDY2NjF9。iUpeFnPKDWf3sxvDB0RF2_nSLAkqLZP7iN6Nx0bWE-Q」

可以檢索與授權頭:登錄IBM Bluemix(CF登陸)後

cf oauth-token 

如果你想檢索您的應用程序的身份驗證令牌你應該在運行第一個curl get之前使用另一個REST API

curl -s -X POST -H「Accept-Encoding:applica灰/ JSON」 -d 「grant_type =密碼&密碼=你的密碼&範圍= &的用戶名= YOURUSERNAME」 -u 「CF:」 https://login.ng.bluemix.net/UAALoginServerWAR/oauth/token

+0

我只看到安裝的內存和磁盤空間。當它運行時,不會佔用內存和磁盤空間。 –

+1

@arjankroon 比照呼籲得到詳細的信息是 GET/V2 /應用/ [您的應用程序GUID] /統計 https://apidocs.cloudfoundry.org/234/apps/get_detailed_stats_for_a_started_app.html 編輯答案 –

+0

tx @ v.bontempi那是我正在尋找的東西。 –

2

在正在運行的應用程序中看到的值應與正在運行的執行PHP運行時的虛擬進程相關,因此結果可能與您在應用程序儀表板中從IBM Bluemix Console看到的結果不同,您看到不考慮整個運行時使用的資源。

此外,您不能確定檢索到的值是指在兩次測試之間的同一時刻。

如果您需要更強大的性能監控工具,則可以使用IBM Bluemix上的Monitoring and Analytics服務。不幸的是,監測& Analytics服務不提供API來檢索其收集的指標。我們認識到支持編程接口會很有幫助,並且在我們的積壓中添加該功能。

+0

這是不幸的。 是否有另一種方式來外部檢索一個php實例的內存使用情況和CPU使用情況。 –

相關問題