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

Simple Log Service:クエリと分析に関する FAQ

最終更新日:Sep 11, 2026

Simple Log Service (SLS) におけるログクエリに関するよくある質問に回答します。ソースマシンの特定、IP アドレスの検索、複数条件でのクエリ、フィールド値の切り捨てへの対処などについて説明します。

ログのソースマシンの特定

  • Logtail 設定はマシングループに適用されます。マシングループが IP アドレスベースのマシングループの場合は、内部 IP アドレスを使用してマシンを区別します。

  • インデックスを作成すると、SLS はデフォルトで __tag__:__hostname__ のインデックスを作成します。__tag__:__hostname__:XXX と入力してクエリを実行します。__tag__ フィールドは 予約済みフィールド です。例:各ホスト名の出現回数をカウントします。

    * | select '__tag__:__hostname__' , count(1) as count group by '__tag__:__hostname__'

ログ内の IP アドレスの検索

  • 特定の IP アドレスをクエリするには:

    __tag__:__client_ip__:192.0.2.1
  • 192.0.2 で始まる IP アドレスからのログをクエリするには:

    __source__:192.0.2.*
  • 192.168.XX.XX に一致する IP アドレスを含むログをクエリするには、LIKE 演算子とワイルドカードを使用した あいまい検索 も可能です。

    * | select * from log where key like '192.168.%.%'

複数条件でのクエリ

クエリステートメントを組み合わせて、複数の条件でフィルタリングします。

たとえば、ステータスが OK または Unknown のログを除外するには、not OK not Unknown を検索します。

ログクエリの方法

SLS は 3 つのログクエリ方法をサポートしています:

SQL 分析のタイムアウトまたは失敗のトラブルシューティング

クライアント側のネットワークファイアウォールが、SQL 分析キーワードを含むリクエストをブロックしている可能性があります。

サービスエンドポイントを HTTPS に切り替えてみてください。

フィールド値の切り捨て

SLS では、フィールド値の長さに以下の制限があります:

  • クエリの場合、フィールド値の最大長は 512 KB (524,288 バイト) です。この制限を超えるコンテンツは、クエリ結果から除外されます。

  • 分析の場合、デフォルトのフィールド値の最大長は 2 KB (2,048 バイト) で、最大 16 KB (16,384 バイト) まで設定可能です。

フィールドの最大長の設定

この変更は新しいログデータにのみ適用されます。既存のデータには影響しません。

  1. Log Serviceコンソールにログインします。

  2. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

  3. [ログストレージ] > [ログストア] タブで、管理するログストアをクリックします。

  4. [クエリと分析] > [プロパティ] をクリックします。

  5. [クエリ & 分析] ページの下部で、[統計フィールドの最大長 (text)] を 64~16,384 バイトの間の値に設定します。

過去のログでの完全なフィールドコンテンツの表示

クエリと分析において、統計フィールドの最大長を変更しても、新しいログデータにのみ適用されます。過去のログで切り捨てられたフィールド値を復元することはできません。過去のログで完全なフィールドコンテンツを表示するには、以下のいずれかの方法を使用します:

  • 生ログ:Logstore のクエリページで、[生ログ] タブをクリックします。生ログではフィールドコンテンツは切り捨てられません。フィールド値が長い場合は、[展開] をクリックして、完全な content および attribute フィールド値を表示します。

  • ログのエクスポート:SQL クエリ結果で、[ログをダウンロード] をクリックして、ログを CSV または JSON ファイルとしてエクスポートします。エクスポートされたファイルには、SQL クエリ結果のフィールドコンテンツが含まれます。このコンテンツは、分析時のフィールド長の制限により切り捨てられている場合があります。

  • スキャンモード:スキャンモードでログをクエリして、フィールドの切り捨てを回避します。API 呼び出しの場合は、scan パラメータを true に設定します。コンソールでは、[スキャン] 機能を使用します。手順については、「スキャンベースの分析」および「ログのスキャン」をご参照ください。

インデックスが作成されていないフィールドの分析

インデックスが作成されていないフィールドを分析するには、以下のいずれかの方法を使用します:

  • インデックスの作成またはデータの再インデックス作成

  • スキャンモードの有効化

    インデックスを作成できない場合は、スキャンベースの分析 を使用して、インデックスなしでログをクエリします。詳細については、「ログのスキャン」をご参照ください。

返される行数の変更

SLS では、デフォルトで limit 100 が追加されます。LIMIT 句 を使用して、返される行数を変更してください。

SLS インデックスとデータベースインデックスの違い、およびユーザー情報の自動識別

SLS インデックスとデータベースインデックスの違い

SLS インデックスとデータベースインデックス (MySQL や PostgreSQL など) は目的は似ていますが、実装とユースケースが異なります:

  • SLS インデックス:ログクエリと分析を高速化するために使用されます。SLS は、すべてのコンテンツを対象としたトークン化検索のための全文インデックスと、構造化フィールド検索のための Key/Value インデックスを提供し、キーワード検索と SQL 分析をサポートします。

  • データベースインデックス:通常、B-tree データ構造に基づいており、データベーステーブル内の特定のレコードの検索を高速化するように設計されています。大規模なログデータの全文検索やリアルタイム分析には適していません。

ユーザー情報の自動識別と関連付け

SLS はログ内のユーザー情報を自動的に識別または関連付けることはできません。SLS がそのフィールドを使用してクエリ、分析、またはダウンロードを行うには、ユーザー情報がログフィールドとして存在する必要があります。ユーザー情報を含むフィールドがログに存在しない場合、SLS はログがどのユーザーに属するかを判断できません。

ユーザーごとにログをクエリする必要がある場合は、ログを収集する際にユーザー情報をログフィールドとして含めてください。その後、そのフィールドのインデックスを作成し、インデックス設定で分析を有効にしてください。