cat anomaly detectors API
cat API は、コマンドラインまたは Kibana コンソールを使用して人間が消費することを意図しています。アプリケーションによる使用は意図されていません。アプリケーションでの使用には、異常検出ジョブ統計 API を使用してください。
異常検出ジョブに関する設定と使用情報を返します。
Request
GET /_cat/ml/anomaly_detectors/<job_id>
GET /_cat/ml/anomaly_detectors
Prerequisites
- Elasticsearch のセキュリティ機能が有効になっている場合、この API を使用するには
monitor_ml
、monitor
、manage_ml
、またはmanage
クラスター権限が必要です。セキュリティ権限 および 機械学習セキュリティ権限 を参照してください。
Description
この API は最大 10,000 ジョブを返します。
異常検出に関する詳細情報は、異常の検出 を参照してください。
Path parameters
<job_id>
- (オプション、文字列)異常検出ジョブの識別子。
Query parameters
allow_no_match
- (オプション、Boolean)リクエスト時の動作を指定します:
- ワイルドカード式を含み、一致するジョブがない場合。
_all
文字列を含むか、識別子がない場合、一致がない場合。- ワイルドカード式を含み、一部の一致のみがある場合。
デフォルト値はtrue
で、一致がない場合は空のjobs
配列を返し、一部の一致がある場合は結果のサブセットを返します。このパラメータがfalse
の場合、一致がないか一部の一致のみがある場合、リクエストは404
ステータスコードを返します。
bytes
- (オプション、バイトサイズ単位)バイト値を表示するために使用される単位。
format
- (オプション、文字列)HTTP アクセプトヘッダー の短縮版。 有効な値には JSON、YAML などが含まれます。
h
- (オプション、文字列)表示する列名のカンマ区切りリスト。
どの列を含めるか指定しない場合、API はデフォルトの列を返します。1 つ以上の列を明示的に指定した場合、指定された列のみを返します。
有効な列は:assignment_explanation
、ae
- 開いている異常検出ジョブのみ、ジョブを実行するノードの選択に関するメッセージを含みます。
buckets.count
、bc
、bucketsCount
- (デフォルト)ジョブによって生成されたバケット結果の数。
buckets.time.exp_avg
、btea
、bucketsTimeExpAvg
- バケット処理時間のすべての指数移動平均、ミリ秒単位。
buckets.time.exp_avg_hour
、bteah
、bucketsTimeExpAvgHour
- 1 時間の時間ウィンドウで計算されたバケット処理時間の指数加重移動平均、ミリ秒単位。
buckets.time.max
、btmax
、bucketsTimeMax
- すべてのバケット処理時間の最大値、ミリ秒単位。
buckets.time.min
、btmin
、bucketsTimeMin
- すべてのバケット処理時間の最小値、ミリ秒単位。
buckets.time.total
、btt
、bucketsTimeTotal
- すべてのバケット処理時間の合計、ミリ秒単位。
data.buckets
、db
、dataBuckets
- 処理されたバケットの数。
data.earliest_record
、der
、dataEarliestRecord
- 最も早い時系列入力ドキュメントのタイムスタンプ。
data.empty_buckets
、deb
、dataEmptyBuckets
- データを含まないバケットの数。データに多くの空のバケットが含まれている場合は、
bucket_span
を増やすか、mean
、non_null_sum
、またはnon_zero_count
のようなデータのギャップに耐性のある関数を使用することを検討してください。 data.input_bytes
、dib
、dataInputBytes
- 異常検出ジョブに投稿された入力データのバイト数。
data.input_fields
、dif
、dataInputFields
- 異常検出ジョブに投稿された入力ドキュメントのフィールドの合計数。このカウントには、分析に使用されないフィールドが含まれます。ただし、データフィードを使用している場合、取得したドキュメントから必要なフィールドのみを抽出してジョブに投稿します。
data.input_records
、dir
、dataInputRecords
- 異常検出ジョブに投稿された入力ドキュメントの数。
data.invalid_dates
、did
、dataInvalidDates
- 日付フィールドが欠落しているか、解析できない日付の入力ドキュメントの数。
data.last
、dl
、dataLast
- サーバー時間に基づいてデータが最後に分析されたタイムスタンプ。
data.last_empty_bucket
、dleb
、dataLastEmptyBucket
- データを含まない最後のバケットのタイムスタンプ。
data.last_sparse_bucket
、dlsb
、dataLastSparseBucket
- スパースと見なされた最後のバケットのタイムスタンプ。
data.latest_record
、dlr
、dataLatestRecord
- 最も最近の時系列入力ドキュメントのタイムスタンプ。
data.missing_fields
、dmf
、dataMissingFields
- 異常検出ジョブが分析するように設定されているフィールドが欠落している入力ドキュメントの数。欠落フィールドを持つ入力ドキュメントも処理されます。すべてのフィールドが欠落しているわけではない可能性があるためです。
データフィードを使用している場合や、JSON 形式でジョブにデータを投稿している場合、高いmissing_field_count
は必ずしもデータの問題を示すものではありません。必ずしも懸念の原因ではありません。 data.out_of_order_timestamps
、doot
、dataOutOfOrderTimestamps
- 現在の異常検出バケットのオフセットの開始前にタイムスタンプがある入力ドキュメントの数。この情報は、post data API を使用して異常検出ジョブにデータを提供する場合にのみ適用されます。これらの順序が逆のドキュメントは破棄されます。ジョブは時系列データが昇順の時系列順であることを要求するためです。
data.processed_fields
、dpf
、dataProcessedFields
- 異常検出ジョブによって処理されたすべてのドキュメントのフィールドの合計数。このカウントには、検出器設定オブジェクトで指定されたフィールドのみが含まれます。タイムスタンプはこのカウントに含まれません。
data.processed_records
、dpr
、dataProcessedRecords
- (デフォルト)異常検出ジョブによって処理された入力ドキュメントの数。この値には、欠落フィールドを持つドキュメントが含まれます。なぜなら、それらも分析されるからです。データフィードを使用し、検索クエリに集約がある場合、
processed_record_count
は処理された集約結果の数であり、Elasticsearch ドキュメントの数ではありません。 data.sparse_buckets
、dsb
、dataSparseBuckets
- 期待されるデータポイントの数と比較して、少ないデータポイントを含むバケットの数。データに多くのスパースバケットが含まれている場合は、より長い
bucket_span
を使用することを検討してください。 forecasts.memory.avg
、fmavg
、forecastsMemoryAvg
- 異常検出ジョブに関連する予測の平均メモリ使用量(バイト単位)。
forecasts.memory.max
、fmmax
、forecastsMemoryMax
- 異常検出ジョブに関連する予測の最大メモリ使用量(バイト単位)。
forecasts.memory.min
、fmmin
、forecastsMemoryMin
- 異常検出ジョブに関連する予測の最小メモリ使用量(バイト単位)。
forecasts.memory.total
、fmt
、forecastsMemoryTotal
- 異常検出ジョブに関連する予測の合計メモリ使用量(バイト単位)。
forecasts.records.avg
、fravg
、forecastsRecordsAvg
- 異常検出ジョブに関連する予測のために書き込まれた
model_forecast
ドキュメントの平均数。 forecasts.records.max
、frmax
、forecastsRecordsMax
- 異常検出ジョブに関連する予測のために書き込まれた
model_forecast
ドキュメントの最大数。 forecasts.records.min
、frmin
、forecastsRecordsMin
- 異常検出ジョブに関連する予測のために書き込まれた
model_forecast
ドキュメントの最小数。 forecasts.records.total
、frt
、forecastsRecordsTotal
- 異常検出ジョブに関連する予測のために書き込まれた
model_forecast
ドキュメントの合計数。 forecasts.time.avg
、ftavg
、forecastsTimeAvg
- 異常検出ジョブに関連する予測の平均実行時間(ミリ秒単位)。
forecasts.time.max
、ftmax
、forecastsTimeMax
- 異常検出ジョブに関連する予測の最大実行時間(ミリ秒単位)。
forecasts.time.min
、ftmin
、forecastsTimeMin
- 異常検出ジョブに関連する予測の最小実行時間(ミリ秒単位)。
forecasts.time.total
、ftt
、forecastsTimeTotal
- 異常検出ジョブに関連する予測の合計実行時間(ミリ秒単位)。
forecasts.total
、ft
、forecastsTotal
- (デフォルト)現在利用可能な個々の予測の数。
1
以上の値は、予測が存在することを示します。 id
- (デフォルト)異常検出ジョブの識別子。
model.bucket_allocation_failures
、mbaf
、modelBucketAllocationFailures
- 新しいエンティティが十分なモデルメモリのために処理されなかったバケットの数。この状況は、
hard_limit: memory_status
プロパティ値でも示されます。 model.by_fields
、mbf
、modelByFields
- モデルによって分析された
by
フィールド値の数。この値は、ジョブ内のすべての検出器に対して累積されます。 model.bytes
、mb
、modelBytes
- (デフォルト)モデルによって使用されるメモリのバイト数。この値は、モデルが永続化されてからの最大値です。ジョブが閉じられている場合、この値は最新のサイズを示します。
model.bytes_exceeded
、mbe
、modelBytesExceeded
- 最後の割り当て失敗時のメモリ使用量の高い制限を超えたバイト数。
model.categorization_status
、mcs
、modelCategorizationStatus
- ジョブのカテゴリ化のステータス。次のいずれかの値を含みます:
ok
: カテゴリ化は適切に機能しています(またはまったく使用されていません)。warn
: カテゴリ化は、入力データがカテゴリ化に不適切であることを示唆するカテゴリの分布を検出しています。問題は、カテゴリが 1 つしかない、90% 以上のカテゴリが希少である、カテゴリの数がカテゴリ化されたドキュメントの数の 50% を超える、頻繁に一致するカテゴリがない、または 50% 以上のカテゴリが死んでいることです。
model.categorized_doc_count
、mcdc
、modelCategorizedDocCount
- フィールドがカテゴリ化されたドキュメントの数。
model.dead_category_count
、mdcc
、modelDeadCategoryCount
- カテゴリ化によって作成されたカテゴリの数。これは、別のカテゴリの定義によって死んだカテゴリのスーパーセットとなるため、再度割り当てられることはありません。(死んだカテゴリは、カテゴリ化に事前トレーニングがないための副作用です。)
model.failed_category_count
、mdcc
、modelFailedCategoryCount
- カテゴリ化が新しいカテゴリを作成したいが、ジョブが
model_memory_limit
に達したためにできなかった回数。このカウントは、作成に失敗した特定のカテゴリを追跡しません。したがって、この値を使用して見逃されたユニークなカテゴリの数を特定することはできません。 model.frequent_category_count
、mfcc
、modelFrequentCategoryCount
- カテゴリ化されたドキュメントの 1% を超えるカテゴリの数。
model.log_time
、mlt
、modelLogTime
- モデル統計が収集されたタイムスタンプ、サーバー時間に基づく。
model.memory_limit
、mml
、modelMemoryLimit
- モデルメモリ使用量の上限、増加する値でチェックされます。
model.memory_status
、mms
、modelMemoryStatus
- (デフォルト)数学モデルのステータス。次のいずれかの値を持つことができます:
ok
: モデルは設定された値を下回っています。soft_limit
: モデルは設定されたメモリ制限の 60% を超えるメモリを使用しており、古い未使用のモデルはスペースを解放するために剪定されます。さらに、カテゴリ化ジョブでは、これ以上のカテゴリの例は保存されません。hard_limit
: モデルは設定されたメモリ制限を超えるスペースを使用しました。その結果、すべての受信データが処理されませんでした。
model.output_memory_allocator_bytes
、momab
、modelOutputMemoryAllocatorBytes
- 異常検出ジョブドキュメントを出力するために使用されるメモリの量(バイト単位)。
model.over_fields
、mof
、modelOverFields
- モデルによって分析された
over
フィールド値の数。この値は、ジョブ内のすべての検出器に対して累積されます。 model.partition_fields
、mpf
、modelPartitionFields
- モデルによって分析された
partition
フィールド値の数。この値は、ジョブ内のすべての検出器に対して累積されます。 model.rare_category_count
、mrcc
、modelRareCategoryCount
- 1 つのカテゴリ化されたドキュメントに一致するカテゴリの数。
model.timestamp
、mt
、modelTimestamp
- モデル統計が収集された最後のレコードのタイムスタンプ。
model.total_category_count
、mtcc
、modelTotalCategoryCount
- カテゴリ化によって作成されたカテゴリの数。
node.address
、na
、nodeAddress
- ノードのネットワークアドレス。
ジョブを実行するノードのプロパティが含まれます。この情報は、オープンジョブに対してのみ利用可能です。 node.ephemeral_id
、ne
、nodeEphemeralId
- ノードのエフェメラル ID。
ジョブを実行するノードのプロパティが含まれます。この情報は、オープンジョブに対してのみ利用可能です。 node.id
、ni
、nodeId
- ノードの一意の識別子。
ジョブを実行するノードのプロパティが含まれます。この情報は、オープンジョブに対してのみ利用可能です。 node.name
、nn
、nodeName
- ノード名。
ジョブを実行するノードのプロパティが含まれます。この情報は、オープンジョブに対してのみ利用可能です。 opened_time
、ot
- 開いているジョブのみ、ジョブが開いている経過時間。
state
、s
- (デフォルト)異常検出ジョブのステータス。次のいずれかの値を持つことができます:
closed
: ジョブは正常に終了し、モデル状態が永続化されました。ジョブは、さらにデータを受け入れる前に開かれる必要があります。closing
: ジョブのクローズアクションが進行中で、まだ完了していません。クローズ中のジョブは、さらにデータを受け入れることができません。failed
: ジョブはエラーにより正常に終了しませんでした。この状況は、無効な入力データ、分析中の致命的エラー、または Linux のメモリ不足 (OOM) キラーによってプロセスが強制終了されるなどの外部の相互作用によって発生する可能性があります。ジョブが取り返しのつかない失敗をした場合、強制的に閉じてから削除する必要があります。データフィードを修正できる場合、ジョブを閉じてから再オープンできます。opened
: ジョブはデータを受け取り、処理するために利用可能です。opening
: ジョブのオープンアクションが進行中で、まだ完了していません。
help
- (オプション、Boolean)
true
の場合、レスポンスにはヘルプ情報が含まれます。デフォルトはfalse
です。 s
- (オプション、文字列)レスポンスをソートするために使用される列名または列エイリアスのカンマ区切りリスト。
time
- (オプション、時間単位)時間値を表示するために使用される単位。
v
- (オプション、Boolean)
true
の場合、レスポンスには列見出しが含まれます。デフォルトはfalse
です。
Examples
Python
resp = client.cat.ml_jobs(
h="id,s,dpr,mb",
v=True,
)
print(resp)
Ruby
response = client.cat.ml_jobs(
h: 'id,s,dpr,mb',
v: true
)
puts response
Js
const response = await client.cat.mlJobs({
h: "id,s,dpr,mb",
v: "true",
});
console.log(response);
Console
GET _cat/ml/anomaly_detectors?h=id,s,dpr,mb&v=true
Console-Result
id s dpr mb
high_sum_total_sales closed 14022 1.5mb
low_request_rate closed 1216 40.5kb
response_code_rates closed 28146 132.7kb
url_scanning closed 28146 501.6kb