すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:ルールベースのデータ消費の概要

最終更新日:Apr 26, 2025

Simple Log Service は、ルールベースのデータ消費機能を提供します。Simple Log Service Processing Language(SPL)を使用して、Simple Log Service 内のデータを消費する前に処理できます。このトピックでは、ルールベースのデータ消費機能の概念、利点、シナリオ、課金ルール、およびコンシューマーについて説明します。

しくみ

ルールベースのデータ消費とは、SPL を使用してエンティティがリアルタイムでログデータを消費することを指します。エンティティには、サードパーティソフトウェア、さまざまなプログラミング言語のアプリケーション、クラウドサービス、およびストリームコンピューティングフレームワークが含まれます。SPL は、半構造化ログデータをサポートする高性能処理言語です。Simple Log Service は、SPL を使用して、半構造化ログデータを前処理およびクレンジングします。たとえば、Simple Log Service は、行でデータをフィルタリングし、列でデータをプルーニングし、正規表現を使用してデータを抽出し、JSON フィールドを抽出できます。このようにして、クライアントは構造化データを取得して消費できます。SPL 構文の詳細については、「SPL 構文」をご参照ください。

image

説明

ルールベースのデータ消費機能とクエリおよび分析機能はどちらもデータの読み取りに使用されます。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 内のデータを消費できます。詳細については、「Simple Log Service SDK を使用したログデータの消費」および「コンシューマーグループを使用したログの消費」をご参照ください。

ベストプラクティス: Simple Log Service SDK を使用して SPL ベースの消費を実行する

クラウドサービス

Realtime Compute for Apache Flink

Realtime Compute for Apache Flink を使用して、Simple Log Service 内のデータをリアルタイムで消費できます。詳細については、「Simple Log Service コネクタ」をご参照ください。

ベストプラクティス:

ストリームコンピューティングフレームワーク

Apache Kafka

要件がある場合は、チケットを送信してください。

使用上の注意

  • ルールベースのデータ消費には、Simple Log Service での複雑な計算が含まれます。SPL ベースの計算の複雑さとデータ機能の違いにより、Simple Log Service がデータを読み取るときのレイテンシがわずかに増加します。たとえば、Simple Log Service が 5 MB のデータを読み取ると、読み取りレイテンシが 10 ~ 100 ミリ秒増加します。ほとんどの場合、読み取りレイテンシが増加しても、Simple Log Service によるデータの読み取りからオンプレミスマシンでのデータの計算までに使用される合計時間は短縮されます。

  • ルールベースのデータ消費機能を使用していて、無効な SPL 構文または欠落しているソースフィールドが存在する場合、データが失われたり、データ消費が失敗したりする可能性があります。詳細については、「エラーの処理」をご参照ください。

  • ルールベースのデータ消費機能を使用する場合、最大 4 KB の SPL 文を指定できます。

  • ルールベースのデータ消費とシャードからの通常のリアルタイムデータ消費には、同じ読み取り制限があります。ルールベースのデータ消費の読み取りトラフィックとは、SPL ベースのデータ処理前の生データのサイズを指します。制限の詳細については、「データの読み取りと書き込み」をご参照ください。

FAQ

  • ルールベースのデータ消費で ShardReadQuotaExceed エラーが発生した場合はどうすればよいですか。

    • このエラーは、データの読み取りトラフィックがシャードの読み取り容量を超えたために発生します。解決策:

      • コンシューマーが待機して再試行できるようにします。

      • シャードを分割します。シャードが分割されると、新しいデータが消費されます。これにより、各シャードの読み取り速度が低下します。

  • ルールベースのデータ消費のスロットリングポリシーとは何ですか。

    • ルールベースのデータ消費のスロットリングポリシーは、通常のデータ消費のスロットリングポリシーと同じです。詳細については、「データの読み取りと書き込み」をご参照ください。ルールベースのデータ消費のトラフィックとは、SPL ベースのデータ処理前の生データのサイズを指します。

      • 圧縮された生データのサイズが 100 MB で、注:* | where method = 'POST' SPL 文を使用してデータがフィルタリングされた場合、コンシューマーに返される圧縮データのサイズは 20 MB です。読み取りトラフィックは、100 MB に基づいて計算されます。

  • ルールベースのデータ消費機能を使用した後、[プロジェクトの監視] タブの [トラフィック/分] グラフの送信トラフィックが少ないのはなぜですか。

    • [トラフィック/分] グラフの送信トラフィックとは、SPL ベースのデータ処理後のデータサイズを指します。指定した SPL 文に行フィルタリングや列プルーニングなど、データサイズを縮小するために使用される命令が含まれている場合、送信トラフィックが少ない可能性があります。詳細については、「プロジェクトの監視」をご参照ください。