データフィード統計API
データフィードの使用情報を取得します。
リクエスト
GET _ml/datafeeds/<feed_id>/_stats
GET _ml/datafeeds/<feed_id>,<feed_id>/_stats
GET _ml/datafeeds/_stats
GET _ml/datafeeds/_all/_stats
前提条件
monitor_ml
クラスター権限が必要です。この権限は machine_learning_user
ビルトインロールに含まれています。
説明
データフィードが停止している場合、受け取る情報は datafeed_id
と state
のみです。
このAPIは最大10,000のデータフィードを返します。
パスパラメータ
<feed_id>
- (オプション、文字列)データフィードの識別子。データフィード識別子またはワイルドカード式であることができます。
カンマ区切りのデータフィードリストまたはワイルドカード式を使用することで、単一のAPIリクエストで複数のデータフィードの統計を取得できます。_all
を使用することで、すべてのデータフィードの統計を取得できます。データフィード識別子として*
を指定するか、識別子を省略することもできます。
クエリパラメータ
allow_no_match
- (オプション、ブール値)リクエスト時の動作を指定します:
- ワイルドカード式を含み、一致するデータフィードがない場合。
_all
文字列を含むか、識別子がない場合、一致がない場合。- ワイルドカード式を含み、部分一致のみがある場合。
デフォルト値はtrue
で、一致がない場合は空のdatafeeds
配列を返し、部分一致がある場合は結果のサブセットを返します。このパラメータがfalse
の場合、一致がないか部分一致のみの場合、リクエストは404
ステータスコードを返します。
レスポンスボディ
APIはデータフィードカウントオブジェクトの配列を返します。これらのプロパティはすべて情報提供用であり、その値を更新することはできません。
assignment_explanation
- (文字列)開始されたデータフィードのみ、ノードの選択に関するメッセージを含みます。
datafeed_id
- (文字列)データフィードを一意に識別する数値文字列。この識別子は小文字の英数字(a-zおよび0-9)、ハイフン、アンダースコアを含むことができます。英数字で始まり、英数字で終わる必要があります。
node
- (オブジェクト)開始されたデータフィードのみ、この情報はデータフィードが開始されたノードに関するものです。
詳細attributes
- (オブジェクト)
ml.machine_memory
またはml.max_open_jobs
設定などのノード属性をリストします。 ephemeral_id
- (文字列)ノードのエフェメラルID。
id
- (文字列)ノードの一意の識別子。
name
- (文字列)ノード名。例えば、
0-o0tOo
。 transport_address
- (文字列)トランスポートHTTP接続が受け入れられるホストとポート。
running_state
- (オブジェクト)このデータフィードの実行状態を含むオブジェクト。データフィードが開始されている場合のみ提供されます。
詳細real_time_configured
- (ブール値)データフィードが「リアルタイム」であるかどうかを示します。つまり、データフィードには設定された
end
時間がありません。 real_time_running
- (ブール値)データフィードが利用可能な過去のデータでの実行を終了したかどうかを示します。設定された
end
時間がないデータフィードの場合、これはデータフィードが「リアルタイム」データで実行されていることを意味します。 search_interval
- (オプション、オブジェクト)データフィードが検索した最新の時間間隔を提供します。
詳細start_ms
- エポックの開始時間(ミリ秒)。
end_ms
- エポックの終了時間(ミリ秒)。
state
- (文字列)データフィードのステータスで、次の値のいずれかになります:
starting
: データフィードの開始が要求されましたが、まだ開始されていません。started
: データフィードはデータを受信しています。stopping
: データフィードは優雅に停止するように要求されており、最終アクションを完了しています。stopped
: データフィードは停止しており、再起動されるまでデータを受信しません。
timing_stats
- (オブジェクト)このデータフィードのタイミングに関する統計情報を提供するオブジェクト。
詳細average_search_time_per_bucket_ms
- (ダブル)バケットごとの平均検索時間(ミリ秒)。
bucket_count
- (ロング)処理されたバケットの数。
exponential_average_search_time_per_hour_ms
- (ダブル)時間あたりの指数平均検索時間(ミリ秒)。
job_id
- 異常検出ジョブの識別子。
search_count
- データフィードによって実行された検索の数。
total_search_time_ms
- データフィードが検索に費やした合計時間(ミリ秒)。
レスポンスコード
404
(リソースが見つかりません)allow_no_match
がfalse
の場合、このコードはリクエストに一致するリソースがないか、リクエストに対して部分一致のみがあることを示します。
例
Python
resp = client.ml.get_datafeed_stats(
datafeed_id="datafeed-high_sum_total_sales",
)
print(resp)
Ruby
response = client.ml.get_datafeed_stats(
datafeed_id: 'datafeed-high_sum_total_sales'
)
puts response
Js
const response = await client.ml.getDatafeedStats({
datafeed_id: "datafeed-high_sum_total_sales",
});
console.log(response);
コンソール
GET _ml/datafeeds/datafeed-high_sum_total_sales/_stats
コンソール-結果
{
"count" : 1,
"datafeeds" : [
{
"datafeed_id" : "datafeed-high_sum_total_sales",
"state" : "started",
"node" : {
"id" : "7bmMXyWCRs-TuPfGJJ_yMw",
"name" : "node-0",
"ephemeral_id" : "hoXMLZB0RWKfR9UPPUCxXX",
"transport_address" : "127.0.0.1:9300",
"attributes" : {
"ml.machine_memory" : "17179869184",
"ml.max_open_jobs" : "512"
}
},
"assignment_explanation" : "",
"timing_stats" : {
"job_id" : "high_sum_total_sales",
"search_count" : 7,
"bucket_count" : 743,
"total_search_time_ms" : 134.0,
"average_search_time_per_bucket_ms" : 0.180349932705249,
"exponential_average_search_time_per_hour_ms" : 11.514712961628677
}
}
]
}