Удаленно проверьте ЦП, память и дисковое пространство Экземпляр IBM Bluemix PHP.
У меня есть экземпляр php, работающий в IBM Bluemix.
Теперь я хочу проверить процессор, память и дисковое пространство из внешней программы, вызвав веб-страницу php.
Для процессора я попробовал следующую функцию:
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, они отличаются.
Есть ли правильный способ внешнего мониторинга этих значений?
Вы можете получить эту информацию, используя CF API REST call. Вы можете найти документацию по API CF здесь:
В этом конкретном случае вы можете выполнить вызов curl из вашего php-приложения и проанализировать JSON-ответ для информации о процессоре, памяти и дисковом пространстве.
завитокhttps://api.ng.bluemix.net/v2/apps/YOURAPP_GUID/summary» -ИКС
GET -H «Авторизация: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTQyNCIsImVtYWlsIjoiZW1haWwtMjkzQHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NjA1MDY2NjF9.iUpeFnPKDWf3sxvDB0RF2_nSLAkqLZP7iN6Nx0bWE-Q носитель»
Вы можете получить заголовок авторизации с помощью:
cf oauth-token
после входа в IBM Bluemix (см. вход в систему)
Если вы хотите получить токен авторизации из вашего приложения, вы должны использовать другой REST API перед запуском первого curl get.
curl -s -X POST -H «Принять-Кодирование: application / json» -d
«Grant_type = пароль&пароль = ВАШ ПАРОЛЬ&Объем =&username = YOURUSERNAME «-u» cf: » https://login.ng.bluemix.net/UAALoginServerWAR/oauth/token
Значения, которые вы видите в запущенном приложении, должны быть связаны с запущенным виртуальным процессом, выполняющим среду выполнения PHP, и по этой причине результат может отличаться от того, что вы видите в консоли IBM Bluemix на панели инструментов приложения, поскольку числа, которые вы видите, не ‘ t учитывать ресурсы, используемые всей средой выполнения.
Более того, вы не можете быть уверены, что полученные значения ссылаются в одно и то же время между двумя тестами.
Если вам нужен более мощный инструмент для мониторинга производительности, вы можете использовать Мониторинг и Аналитика сервис на IBM Bluemix. К сожалению, мониторинг & Служба аналитики не предлагает API для извлечения собранных показателей. Мы понимаем, что поддержка программного интерфейса была бы полезной, и мы должны добавить эту возможность в наше отставание.
пытаться:
bx cf app <app-name>