Skip to content

エージェントイベント

デプロイのアクティビティログ > エージェントイベントタブでは、管理イベント(デプロイアクションなど)と監視イベント(スプーラーチャネルおよびレート制限イベントなど)を表示できます。 監視イベントは、MLOpsエージェントの問題を迅速に診断するのに役立ちます。 スプーラーチャネルのエラーイベントは、スプーラー設定の問題を診断し修正するのに役立ちます。 レート制限実施イベントでは、APIリクエストのレート制限を超えたために、サービス正常性の統計、データドリフト値、または精度値が更新されていないかどうかを確認できます。

エージェントイベントのログを表示するには、アクティビティログ > エージェントイベントタブに移動します。 最新のイベントはリストの一番上に表示されます。

各イベントには、発生した日時、説明、およびステータスを示すアイコンが表示されます。

ステータスアイコン 説明
緑 / 合格 必要なアクションはありません。
黄色 / リスクあり 懸念点が見つかりましたが、早急なアクションは不要です。監視を続けます。
赤 / 失敗 早急なアクションが必要です。
Gray / Informational デプロイアクションの詳細を示します(デプロイ起動が開始された、など)。
グレー/不明 不明です。

エージェントのイベントログを操作するには、カテゴリーフィルターを設定して、リストを管理イベント(デプロイアクションなど)または監視イベント(スプーラーチャネルやレート制限イベントなど)に限定します。

管理イベント

管理イベントはデプロイのアクションを表し、デプロイのステータスと管理エージェントの正常性を確認するのに役立ちます。 現在、以下のイベントを管理イベントとして表示できます。

イベントタイプ 説明
デプロイの起動 デプロイの起動ステータスを報告し、起動がいつ開始され、成功したか失敗したかを通知します。
デプロイの停止 デプロイの停止ステータスを報告し、停止がいつ開始され、成功したか失敗したかを通知します。
モデルの置換 モデル置換のステータスを報告し、置換がいつ開始され、成功したか失敗したかを通知します。
予測リクエスト モデル予測のステータスを報告し、予測リクエストが失敗した場合に通知します。
管理エージェントの正常性 このデプロイにおける管理エージェント実装の正常性の変化を報告します。
サービスの正常性が変更された デプロイされたモデルのサービス正常性の変化を報告します。
データドリフトが変更された デプロイされたモデルのデータドリフトステータスの変化を報告します。
精度が変更された デプロイされたモデルの精度ステータスの変化を報告します。

監視イベント

監視イベントは、エージェントの問題を診断し、修正するのに役立ちます。 現在、以下のイベントを監視イベントとして表示できます。

イベント 説明
監視スプーラーチャネル スプーラー設定の問題を診断してトラブルシューティングします。
レート制限が適用されました 操作がAPIリクエストレート制限を超えた場合に特定し、サービス正常性の統計の更新、データドリフトの計算、または精度の計算を停止します。 このイベントは、影響を受ける操作が一時停止されている期間を報告します。 レート制限は、デプロイごと、操作ごとに適用されます。

デプロイAPIのレート制限

操作 エンドポイント(POST) 制限
指標の送信(サービスの正常性) api/v2/deployments/<id>/predictionRequests/fromJSON/ 100万個のリクエスト/時間
予測結果の送信(データドリフト) api/v2/deployments/<id>/predictionInputs/fromJSON/ 100万個のリクエスト/時間
実測値の送信(精度) api/v2/deployments/<id>/actuals/fromJSON/ 40個のリクエスト/秒

外部モデルでエージェントイベントログを有効にする

監視イベントを表示するには、エージェント設定ファイル(conf\mlops.agent.conf.yaml)でpredictionEnvironmentIDを指定する必要があります。 MLOpsエージェントのインストールと設定がまだの場合は、インストールと設定のガイドを参照してください。

MLOpsエージェントの設定ファイルの例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# This file contains configuration for the MLOps agent

# URL to the DataRobot MLOps service
mlopsUrl: "https://<MLOPS_HOST>"

# DataRobot API token
apiToken: "<MLOPS_API_TOKEN>"

# Execute the agent once, then exit
runOnce: false

# When dryrun mode is true, do not report the metrics to MLOps service
dryRun: false

# When verifySSL is true, SSL certification validation will be performed when
# connecting to MLOps DataRobot. When verifySSL is false, these checks are skipped.
# Note: It is highly recommended to keep this config variable as true.
verifySSL: true

# Path to write agent stats
statsPath: "/tmp/tracking-agent-stats.json"

# Prediction Environment served by this agent.
# Events and errors not specific to a single deployment are reported against this Prediction Environment.
predictionEnvironmentId: "<PE_ID_FROM_DATAROBOT_UI>"

# Number of times the agent will retry sending a request to the MLOps service on failure.
httpRetry: 3

# Http client timeout in milliseconds (30sec timeout)
httpTimeout: 30000

# Number of concurrent http request, default=1 -> synchronous mode; > 1 -> asynchronous
httpConcurrentRequest: 10

# Number of HTTP Connections to establish with the MLOps service, Default: 1
numMLOpsConnections: 1

# Comment out and configure the lines below for the spooler type(s) you are using.
# Note: the spooler configuration must match that used by the MLOps library.
# Note: Spoolers must be set up before using them.
#       - For the filesystem spooler, create the directory that will be used.
#       - For the SQS spooler, create the queue.
#       - For the PubSub spooler, create the project and topic.
#       - For the Kafka spooler, create the topic.
channelConfigs:
- type: "FS_SPOOL"
    details: {name: "filesystem", directory: "/tmp/ta"}
#  - type: "SQS_SPOOL"
#    details: {name: "sqs", queueUrl: "your SQS queue URL", queueName: "<your AWS SQS queue name>"}
#  - type: "RABBITMQ_SPOOL"
#    details: {name: "rabbit",  queueName: <your rabbitmq queue name>,  queueUrl: "amqp://<ip address>",
#              caCertificatePath: "<path_to_ca_certificate>",
#              certificatePath: "<path_to_client_certificate>",
#              keyfilePath: "<path_to_key_file>"}

#  - type: "PUBSUB_SPOOL"
#    details: {name: "pubsub", projectId: <your project ID>, topicName: <your topic name>, subscriptionName: <your sub name>}
#  - type: "KAFKA_SPOOL"
#    details: {name: "kafka", topicName: "<your topic name>", bootstrapServers: "<ip address 1>,<ip address 2>,..."}

# The number of threads that the agent will launch to process data records.
agentThreadPoolSize: 4

# The maximum number of records each thread will process per fetchNewDataFreq interval.
agentMaxRecordsTask: 100

# Maximum number of records to aggregate before sending to DataRobot MLOps
agentMaxAggregatedRecords: 500

# A timeout for pending records before aggregating and submitting
agentPendingRecordsTimeoutMs: 5000