GET Metrics
サーバーのメトリクスを取得する
R2021a 以降
説明
GET メソッドを使用して、Prometheus® メトリクス形式でサーバー インスタンスのメトリクスを取得します。メトリクス サービスは、クライアント アプリケーションがサーバーに送信するリクエストに関する情報、およびサーバーがリクエストを実行するのにかかる時間とメモリを返します。メトリクス サービスを使用して、Kubernetes® 環境のサーバー メトリクスを監視できます。サーバーを再起動すると、すべてのサーバー メトリクスがリセットされます。
サーバー メトリクスに加えて、メトリクス サービスは、サーバーにデプロイする MATLAB® 関数で作成できるカスタム メトリクスも返します。詳細な例については、Prometheus のカスタム メトリクスの作成を参照してください。カスタム メトリクスは、worker-restart-interval プロパティの値に応じてリセットされます。
メトリクス サービスを使用するには、サーバーでメトリクス サービスを有効にする必要があります。そうするには、main_config
サーバー構成ファイルでオプション --enable-metrics
のコメントを解除します。
リクエスト
HTTP メソッド
GET
URI
http(s)://host:port/api/metrics
レスポンス
成功
200 OK
名前 | 説明 |
---|---|
matlabprodserver_up_time_seconds | サーバー起動からの経過時間 (小数秒)。 |
matlabprodserver_queue_time_seconds | 現在キューに入っている同期および非同期のリクエストの待機時間の合計 (小数秒)。 |
matlabprodserver_cpu_time_seconds | サーバーが起動後にリクエストの実行に費やした総 CPU 時間 (小数秒)。 |
matlabprodserver_memory_working_set_bytes | 任意の時点でのすべての MATLAB Production Server™ プロセスによるメモリ使用量の合計 (バイト)。 |
matlabprodserver_requests_accepted_total | サーバーが起動後に受け取った有効なリクエストの総数。 ある時点で受け入れられたリクエストの合計は、キャンセルされたリクエスト、キューに入れられたリクエスト、処理中のリクエスト、サーバー起動後に失敗したリクエストと正常に完了したリクエストの合計です。 |
matlabprodserver_requests_in_queue | 現在サーバーによる処理を待機しているリクエストの数。 |
matlabprodserver_requests_processing | 現在サーバーが処理中のリクエストの数。 |
matlabprodserver_requests_succeeded_total | 正常に完了したリクエストの総数。 |
matlabprodserver_requests_failed_total | 失敗したリクエストの総数。リクエストに含まれるデプロイされた MATLAB 関数の名前が正しくない場合、リクエストが失敗する場合があります。 |
matlabprodserver_requests_canceled_total | クライアントがキャンセルした非同期リクエストの総数。 |
エラー
403 Metrics Disabled
サンプル呼び出し
HTTP
リクエスト:
GET /api/metrics HTTP/1.1 Host: localhost:9910 レスポンス:
# TYPE matlabprodserver_up_time_seconds counter matlabprodserver_up_time_seconds 68140.5 # TYPE matlabprodserver_queue_time_seconds gauge matlabprodserver_queue_time_seconds 0 # TYPE matlabprodserver_cpu_time_seconds counter matlabprodserver_cpu_time_seconds 18.2188 # TYPE matlabprodserver_memory_working_set_bytes gauge matlabprodserver_memory_working_set_bytes 1.57426e+08 # TYPE matlabprodserver_requests_accepted_total counter matlabprodserver_requests_accepted_total 0 # TYPE matlabprodserver_requests_in_queue gauge matlabprodserver_requests_in_queue 0 # TYPE matlabprodserver_requests_processing gauge matlabprodserver_requests_processing 0 # TYPE matlabprodserver_requests_succeeded_total counter matlabprodserver_requests_succeeded_total 0 # TYPE matlabprodserver_requests_failed_total counter matlabprodserver_requests_failed_total 0 # TYPE matlabprodserver_requests_canceled_total counter matlabprodserver_requests_canceled_total 0 |
JavaScript
var data = null; var xhr = new XMLHttpRequest(); xhr.addEventListener("readystatechange", function () { if (this.readyState === 4) { console.log(this.responseText); } }); xhr.open("GET", "http://localhost:9910/api/metrics"); xhr.send(data); |
バージョン履歴
R2021a で導入
参考
mps-status
| prodserver.metrics.setGauge
(MATLAB Compiler SDK) | prodserver.metrics.incrementCounter
(MATLAB Compiler SDK)