2016-04-12 10 views
1

CPU, Speicher und Festplattenspeicher remote prüfen IBM Bluemix PHP-Instanz.CPU, Speicher und Festplattenspeicher remote überprüfen IBM Bluemix PHP-Instanz

Ich habe eine PHP-Instanz in IBM Bluemix ausgeführt.

Jetzt möchte ich die CPU, Speicher und Speicherplatz von einem externen Programm überprüfen, indem Sie eine PHP-Webseite aufrufen.

Für CPU habe ich versucht, die folgende Funktion:

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]; 
} 

Für Speicher ich die folgende Funktion verwenden:

memory_get_usage(true) 

Für Speicherplatz ich die folgende Funktion verwenden:

disk_free_space("/") 

Wenn ich diese Ergebnisse mit den Ergebnissen der IBM Bluemix Console vergleiche, unterscheiden sie sich jedoch.

Gibt es eine korrekte Möglichkeit, diese Werte extern zu überwachen?

Antwort

2

Sie können diese Informationen mithilfe des CF API REST-Aufrufs abrufen. Sie können die CF-APIs-Dokumentation finden Sie hier:

In diesem speziellen Fall, dass Sie eine Locke Anruf von Ihrer PHP-Anwendung tun könnten und analysieren die JSON-Antwort für CPU-, Speicher- und Speicherplatzinformationen.

curl "https://api.ng.bluemix.net/v2/apps/YOURAPP_GUID/summary" -X GET-H „Authorization: Inhaber eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTQyNCIsImVtYWlsIjoiZW1haWwtMjkzQHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NjA1MDY2NjF9.iUpeFnPKDWf3sxvDB0RF2_nSLAkqLZP7iN6Nx0bWE-Q“

können Sie den Authorization-Header mit abrufen:

cf oauth-token 

nach der Anmeldung IBM Bluemix (siehe Anmeldung)

Wenn Sie die Auth-Token aus Ihrer Anwendung abrufen möchten Sie sollte eine andere REST-API verwenden, bevor die erste Locke ausgeführt wird.

curl -s -X POST -H "Accept-Encoding: applica tion/json“-d "grant_type = Passwort & password = IhrKennwort & scope = & username = IhrBenutzername" -u "cf:" https://login.ng.bluemix.net/UAALoginServerWAR/oauth/token

+0

Ich sehe nur den Speicher und Speicherplatz, die installiert sind. Nicht der Speicher und der Speicherplatz, der während der Ausführung der Instanz genommen wird. –

+1

@arjankroon der cf Anruf für detaillierte Informationen bekommen ist GET/v2/apps/[IHRE APP GUID]/stats https://apidocs.cloudfoundry.org/234/apps/get_detailed_stats_for_a_started_app.html die Antwort bearbeiten –

+0

tx @ v.bontempi das war das Ding, nach dem ich suche. –

2

Die Werte, die Sie in der laufenden Anwendung sehen, sollten sich auf den laufenden virtuellen Prozess beziehen, der die PHP-Runtime ausführt. Aus diesem Grund kann das Ergebnis von dem in der IBM Bluemix-Konsole im Anwendungs-Dashboard abweichen Sie sehen nicht, welche Ressourcen von der gesamten Laufzeit verwendet werden.

Darüber hinaus können Sie nicht sicher sein, dass sich die abgerufenen Werte im selben Moment zwischen den beiden Tests beziehen.

Wenn Sie ein leistungsfähigeres Tool zur Leistungsüberwachung benötigen, können Sie den Service auf IBM Bluemix verwenden. Leider bietet der Analytics-Dienst & keine API zum Abrufen der erfassten Messwerte. Wir wissen, dass die Unterstützung einer programmatischen Schnittstelle hilfreich wäre, und es ist in unserem Rückstau, diese Fähigkeit hinzuzufügen.

+0

Das ist bedauerlich. Gibt es eine andere Möglichkeit, Speicherauslastung und CPU-Auslastung einer PHP-Instanz extern abrufen. –

Verwandte Themen