远程检查IBM Bluemix PHP实例的CPU,内存和磁盘空间

时间:2016-04-12 09:28:24

标签: php performance monitoring ibm-cloud ibm-cloud-tools

远程检查IBM Bluemix PHP实例的CPU,内存和磁盘空间。

我在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控制台提供的结果进行比较时,它们是不同的。

是否有正确的方法来外部监控这些值?

3 个答案:

答案 0 :(得分:2)

您在正在运行的应用程序中看到的值应该与正在运行的PHP运行时的虚拟进程相关,因此结果可能与您在应用程序仪表板中从IBM Bluemix控制台看到的结果不同,因为您的数字是请注意不要考虑整个运行时使用的资源。

此外,您无法确定检索到的值是否在两次测试之间同时引用。

如果您需要更强大的性能监视工具,可以使用IBM Bluemix上的Monitoring and Analytics服务。不幸的是监控& Analytics服务不提供API来检索其收集的指标。我们意识到支持程序化界面会很有帮助,而且我们在积压工作中添加了该功能。

答案 1 :(得分:2)

您可以使用CF API REST调用检索该信息。您可以在此处找到CF API文档:

在这种特定情况下,您可以从php应用程序执行curl调用,并解析CPU,内存和磁盘空间信息的JSON响应。

  

卷曲“https://api.ng.bluemix.net/v2/apps/YOURAPP_GUID/summary” - X.   GET -H “授权:承载eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTQyNCIsImVtYWlsIjoiZW1haWwtMjkzQHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NjA1MDY2NjF9.iUpeFnPKDWf3sxvDB0RF2_nSLAkqLZP7iN6Nx0bWE-Q”

您可以使用以下命令检索授权标头:

cf oauth-token

登录IBM Bluemix(cf登录)后

如果要从应用程序中检索auth-token,则应在运行第一个curl get之前使用另一个REST API。

  

curl -s -X POST -H“Accept-Encoding:application / json”-d   “grant_type =密码&安培;密码=你的密码&安培;范围=安培;用户名= YOURUSERNAME”   -u“cf:”https://login.ng.bluemix.net/UAALoginServerWAR/oauth/token

答案 2 :(得分:0)

尝试:

bx cf app <app-name>