メッセージ配信は、対象の名前空間内の Flink ジョブから、起動ログ、リソース使用量、実行イベント、ジョブステータスの変更をリアルタイムで外部のメッセージキューまたはストレージシステムにストリーミングします。このデータを永続化することで、トラブルシューティング、パフォーマンス最適化、監査のために履歴レコードを照会できます。このトピックでは、メッセージ配信を設定する方法と、配信されたメッセージを表示する方法について説明します。
背景
この機能はクロスリージョン配信に対応しています。次の表に、配信される情報の種類と配信トリガーを示します。
|
カテゴリ |
説明 |
配信トリガー |
|
ジョブ起動ログ |
Flink 環境の初期化から JobManager の起動、 Flink 実行グラフの生成まで、ジョブ起動プロセス全体で生成されるログです。 |
ジョブが正常に起動したとき、または最終状態 (失敗や完了など) に到達したときに 1 回配信されます。 |
|
リソース情報 |
重要
この情報はリソース容量の追跡専用であり、アラートは提供しません。 |
名前空間が正常に稼働している間、30 秒ごとに配信されます。 |
|
ランタイムイベント |
ジョブ起動プロセスの各段階における起動ステータスです。 |
ジョブのランタイムイベントが発生したときにトリガーされます。 |
|
ジョブのリソース消費量 |
実行中のストリーミングジョブのリソース使用量です。バッチジョブおよびセッションクラスターで実行されるジョブは含まれません。 |
ジョブの実行中は、10 分ごとに配信されます。 |
|
ジョブ状態変更 |
変更前と変更後の状態を含む、ジョブ状態変更イベントです。 |
ジョブの状態が変更されたときにトリガーされます。 |
注意事項
-
メッセージの配信先は Simple Log Service (SLS) のみです。開始する前に、SLS プロジェクトと Logstore を作成する必要があります。手順については、「LoongCollector を使用した ECS インスタンス上のテキストログの収集と分析」をご参照ください。
-
メッセージ配信自体は無料です。ただし、Logstore インデックスなどの SLS 機能の使用には料金が発生します。詳細については、「課金概要」をご参照ください。
-
SLS でログをクエリおよび分析するには、インデックスが必要です。インデックスの有効化は任意ですが、インデックストラフィックとストレージには料金が発生します。料金の詳細については、「課金概要」をご参照ください。
-
Logstore にサーバー側の暗号化を設定できます。Logstore に配信されたメッセージも暗号化されます。設定方法については、「データ暗号化」をご参照ください。
-
メッセージ配信は現在、SLS へのジョブ起動ログのみをサポートしています。ジョブのランタイムログについては、OSS、SLS、または Kafka に出力するように個別に設定する必要があります。詳細については、「ジョブログ出力の設定」をご参照ください。
-
メッセージ配信設定の変更が反映されるまで、最大 30 秒かかる場合があります。
手順
ステップ 1:メッセージ配信の設定
-
メッセージ配信設定ページへの移動
-
対象のワークスペースがある行の [Actions] 列で、[Console] をクリックします。
-
左側メニューで、 をクリックします。
-
Log Service 配信パラメーターの設定
-
[Message Delivery] タブで、[Deliver to SLS] スイッチをオンにします。
-
Log Service のパラメーターを設定します。
パラメーター
説明
Authorization mode
-
[STS トークン]:このモードでは、Flink ワークスペースと同じリージョンにある Log Service プロジェクトにのみメッセージが配信されます。そのため、Log Service プロジェクトと Logstore を設定するだけで済みます。
-
[AccessKey]:このモードでは、異なるリージョンにある Log Service プロジェクトへのメッセージ配信が可能です。そのため、エンドポイント、AccessKey ID、AccessKey Secret を設定する必要があります。
Log Service プロジェクト
Log Service プロジェクトの名前です。
Log Service Logstore
Log Service Logstore の名前です。
endpoint
Log Service のエンドポイントです。
[Authorization mode] が [STS Token] に設定されている場合、システムは自動的に Flink ワークスペースがあるリージョンのエンドポイントを使用します。[Authorization mode] を [AccessKey] に設定した場合は、このパラメーターを手動で設定する必要があります。
配信範囲
配信するメッセージの内容です。詳細については、このトピックの「フィールドリファレンス」をご参照ください。
AccessKey ID
お使いの Alibaba Cloud アカウントの AccessKey ID と AccessKey Secret です。
重要AccessKey 認証情報の漏洩を防ぐため、AccessKey ID と AccessKey Secret を変数として管理することを推奨します。ドロップダウン矢印をクリックして既存の変数を選択するか、パラメーターの横にある
アイコンをクリックして新しい変数を作成できます。変数の管理方法、および AccessKey ID と AccessKey Secret の表示方法の詳細については、「変数管理」および「AccessKey 認証情報を表示する方法」をご参照ください。
AccessKey Secret
-
-
[Save] をクリックします。
-
ステップ 2:配信されたメッセージの表示
操作手順
-
[Log Service] プロジェクトの右側にある [Open the SLS console] をクリックします。
-
生ログの情報を表示します。
生ログは、リソースクォータ情報 (
RESOURCE_QUOTA) を含む JSON 形式のメッセージです。これらのログには、namespaceTotalCpu(20.0)、namespaceTotalMemory(0.08 TiB)、namespaceUsedCpu(8.0)、namespaceUsedMemory(23.00 GiB)、resourceQueueName(default-queue) などのフィールドが含まれます。これらのフィールドは、名前空間およびリソースキューの CPU とメモリのクォータと使用量を記録しています。
フィールドの説明
起動ログ (JOB_START_LOG)
|
パラメーター |
説明 |
|
messageType |
メッセージタイプ。JOB_START_LOG (ジョブ起動ログ) に固定されます。 |
|
deploymentId |
ジョブデプロイメントの ID。 |
|
deploymentName |
ジョブデプロイメントの名前。 |
|
jobId |
ジョブインスタンスの ID。 |
|
tag |
ジョブのタグ。タグが設定されていない場合、このフィールドは空です。 |
|
length |
ログの合計長。 |
|
offset |
シャード化されたログの場合、このフィールドはログエントリの開始オフセットを指定します。 |
|
content |
ジョブ起動ログの詳細。 |
|
workspace |
ワークスペースの ID。 |
|
namespace |
名前空間の名前。 |
|
messageId |
メッセージの一意の ID。 |
|
timestamp |
メッセージが生成されたタイムスタンプ。 |
リソースの詳細 (RESOURCE_QUOTA)
|
パラメーター |
説明 |
|
messageType |
メッセージタイプ。RESOURCE_QUOTA (リソース使用量) に固定されます。 |
|
namespaceTotalCpuMemory |
このフィールドは非推奨です。代わりに、対応する |
|
namespaceTotalCpu |
名前空間の CPU リソース総量 (CU 単位)。 |
|
namespaceTotalMemory |
名前空間のメモリリソース総量。 |
|
namespaceUsedCpuMemory |
このフィールドは非推奨です。代わりに、対応する |
|
namespaceUsedCpu |
名前空間で使用中の CPU リソース量 (CU 単位)。 |
|
namespaceUsedMemory |
名前空間で使用中のメモリリソース量。 |
|
resourceQueueName |
リソースキューの名前。 |
|
resourceQueueTotalCpuMemory |
このフィールドは非推奨です。代わりに、対応する |
|
resourceQueueTotalCpu |
リソースキューの CPU リソース総量 (CU 単位)。 |
|
resourceQueueTotalMemory |
リソースキューのメモリリソース総量。 |
|
resourceQueueUsedCpuMemory |
このフィールドは非推奨です。代わりに、対応する |
|
resourceQueueUsedCpu |
リソースキューで使用中の CPU リソース量 (CU 単位)。 |
|
resourceQueueUsedMemory |
リソースキューで使用中のメモリリソース量。 |
|
workspace |
ワークスペースの ID。 |
|
namespace |
名前空間の名前。 |
|
messageId |
メッセージの一意の ID。 |
|
timestamp |
メッセージが生成されたタイムスタンプ。 |
ランタイムイベント (JOB_EVENT)
|
パラメーター |
説明 |
|
messageType |
メッセージタイプ。JOB_EVENT (ランタイムイベント) に固定されます。 |
|
deploymentId |
ジョブデプロイメントの ID。 |
|
deploymentName |
ジョブデプロイメントの名前。 |
|
jobId |
ジョブインスタンスの ID。 |
|
tag |
ジョブのタグ。タグが設定されていない場合、このフィールドは空です。 |
|
eventId |
イベントの ID。 |
|
eventName |
イベントの名前。 |
|
content |
イベントの詳細。 |
|
workspace |
ワークスペースの ID。 |
|
namespace |
名前空間の名前。 |
|
messageId |
メッセージの一意の ID。 |
|
timestamp |
メッセージが生成されたタイムスタンプ。 |
ジョブのリソース使用量 (JOB_RESOURCE_USAGE)
|
パラメーター |
説明 |
|
messageType |
メッセージタイプ。JOB_RESOURCE_USAGE (ジョブのリソース使用量) に固定されます。 |
|
deploymentId |
ジョブデプロイメントの ID。 |
|
deploymentName |
ジョブデプロイメントの名前。 |
|
jobId |
ジョブインスタンスの ID。 |
|
tag |
ジョブのタグ。タグが設定されていない場合、このフィールドは空です。 |
|
jobUsedCpu |
ジョブで使用される CU 数。 |
|
jobUsedMemory |
ジョブで使用されるメモリ量。 |
|
workspace |
ワークスペースの ID。 |
|
namespace |
名前空間の名前。 |
|
messageId |
メッセージの一意の ID。 |
|
timestamp |
メッセージが生成されたタイムスタンプ。 |
ジョブステータスの変更 (JOB_STATUS_CHANGED)
|
パラメーター |
説明 |
|
messageType |
メッセージタイプ。JOB_STATUS_CHANGED (ジョブステータスの変更) に固定されます。 |
|
messageId |
メッセージの一意の ID。 |
|
timestamp |
メッセージが生成されたタイムスタンプ (ミリ秒)。 |
|
workspace |
ワークスペースの ID。 |
|
namespace |
名前空間の名前。 |
|
deploymentId |
ジョブデプロイメントの ID。 |
|
deploymentName |
ジョブデプロイメントの名前。 |
|
jobId |
ジョブインスタンスの ID。 |
|
previousStatus |
変更前のジョブステータス。 |
|
currentStatus |
変更後のジョブステータス。 |
|
tag |
ジョブのタグ。タグが設定されていない場合、このフィールドは空です。 |
|
additionalInfo |
追加情報。 |
リファレンス
-
単一のジョブのロギングを設定する方法の詳細については、「ジョブログ出力の設定」をご参照ください。
-
Realtime Compute for Apache Flink 開発コンソールでログを表示する方法の詳細については、「起動ログと実行中のログの表示」、「実行中のイベントの表示」、「実行中の例外ログの表示」、および「過去のジョブインスタンスログの表示」をご参照ください。