Simple Log Serviceは、ルールベースのデータ消費機能を提供します。 Simple Log Service Processing Language (SPL) を使用して、データを消費する前にSimple Log Serviceでデータを処理できます。 このトピックでは、ルールベースのデータ消費機能の概念、メリット、シナリオ、課金ルール、およびコンシューマーについて説明します。
制御ポリシー機能の動作
ルールベースのデータ消費とは、SPLを使用したエンティティによるリアルタイムのログデータ消費を指します。 エンティティには、サードパーティのソフトウェア、さまざまなプログラミング言語のアプリケーション、クラウドサービス、およびストリームコンピューティングフレームワークが含まれます。 SPLは、半構造化ログデータをサポートする高性能処理言語です。 Simple Log Serviceは、SPLを使用して半構造化ログデータを前処理およびクレンジングします。 たとえば、Simple Log Serviceは、行ごとにデータをフィルタリングし、列ごとにデータをプルーニングし、正規表現を使用してデータを抽出し、JSONフィールドを抽出できます。 これにより、クライアントは構造化データを取得して使用できます。 SPL構文の詳細については、「SPLの概要」をご参照ください。
ルールベースのデータ消費と、クエリおよび分析の機能は、両方ともデータの読み取りに使用されます。 2つの機能の違いの詳細については、LogHubとLogSearchの違いは何ですか?
シナリオ
ルールベースのデータ消費機能は、データを消費する前にデータを前処理する必要があるストリームコンピューティングおよびリアルタイムコンピューティングシナリオに適しています。 たとえば、行でデータをフィルタリングし、列でデータをプルーニングし、正規表現を使用してデータを抽出し、JSONフィールドを抽出する必要があります。 ルールベースのデータ消費機能は時間に依存し、数秒以内にデータを消費します。 カスタムデータ保持期間を設定できます。
メリット
インターネット経由でデータを消費できます。 これにより、交通コストが削減される。
たとえば、ログデータをSimple log Serviceに書き込み、インターネット経由でログデータを消費し、ログデータをフィルタリングしてから、フィルタリング後に取得したログデータを内部システムに配布します。 ルールベースのデータ消費機能を使用すると、SPLを使用してSimple log Serviceのログデータをフィルタリングできます。 このようにして、有効なログデータのみが関連するコンシューマに送信され、トラフィックコストが削減されます。
Simple Log Serviceでデータを計算できます。 これにより、ローカルCPU消費が削減され、コンピューティングプロセスが加速されます。
たとえば、Simple log Serviceにログデータを書き込み、オンプレミスマシンを使用してログデータを消費し、オンプレミスマシンでログデータを計算する場合などです。 ルールベースのデータ消費機能を使用すると、SPLを使用してSimple log Serviceのログデータを計算できます。 これは、ローカルリソース消費を低減する。
課金ルール
Logstoreでデータ取り込み課金モードを使用している場合、ルールベースのデータ消費に対しては課金されません。 ただし、データがパブリックSimple Log Serviceエンドポイント経由でプルされた場合、インターネット経由の読み取りトラフィックに対して課金されます。 トラフィックは、圧縮後のデータのサイズに基づいて計算されます。 詳細については、「取り込みデータ量課金の課金項目」をご参照ください。
Logstoreが機能課金モードを使用している場合、Simple Log Serviceでのコンピューティングに対して課金されます。 パブリックSimple Log Serviceエンドポイントにアクセスすると、インターネットトラフィックに対して課金される場合があります。 詳細については、「機能課金の課金項目」をご参照ください。
消費者
次の表に、ルールベースのデータ消費機能でサポートされているコンシューマーを示します。
データ型 | コンシューマー | 説明 |
さまざまなプログラミング言語でのアプリケーション | さまざまなプログラミング言語でのアプリケーション | Java、Python、Goなどのプログラミング言語で開発されたアプリケーションは、Simple Log Serviceのデータを消費者グループとして消費できます。 詳細については、「ログデータの使用」および「コンシューマーグループを使用したデータの使用」をご参照ください。 |
クラウドサービス | Realtime Compute for Apache Flink | Realtime Compute for Apache Flinkを使用して、Simple Log Serviceのデータをリアルタイムで消費できます。 詳細については、「Simple Log Serviceコネクタ」をご参照ください。 |
ストリームコンピューティングフレームワーク | Apache Kafka | ストリームコンピューティングフレームワークApache Kafkaを使用して、Simple Log Serviceのデータをリアルタイムで消費できます。 詳細については、「Kafkaを使用したSPLステートメントに基づくデータの使用」をご参照ください。 |
使用上の注意
ルールベースのデータ消費には、Simple Log Serviceでの複雑なコンピューティングが含まれます。 SPLベースのコンピューティングの複雑さとデータ機能の違いにより、Simple Log Serviceがデータを読み取るときの待ち時間がわずかに増加します。 たとえば、Simple Log Serviceが5 MBのデータを読み取ると、読み取りレイテンシは10〜100ミリ秒増加します。 ほとんどの場合、Simple Log Serviceによるデータの読み取りからオンプレミスマシンでのデータコンピューティングまでに使用される合計時間は、読み取り遅延が増加しても減少します。
ルールベースのデータ消費機能を使用し、無効なSPL構文または欠落したソースフィールドが存在する場合、データが失われたり、データ消費が失敗する可能性があります。 詳細については、「エラー処理」をご参照ください。
ルールベースのデータ消費機能を使用する場合、最大4 KBのサイズのSPLステートメントを指定できます。