Skip to content

エージェントイベント

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

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

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

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

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

管理イベント

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

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

監視イベント

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

イベント 説明
監視スプーラーチャネル Diagnose spooler configuration issues to troubleshoot them.
レート制限が適用されました

デプロイ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を指定する必要があります。 If you haven't already installed and configured the MLOps agent, see the Installation and configuration guide.

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