Simple Log Service でのログクエリに関する一般的な質問 (ソースマシンの特定、IP アドレスの検索、複数の条件でのクエリ、フィールド値の切り捨ての処理など) について説明します。
ログのソースマシンの特定
-
Logtail 構成はマシングループに適用されます。マシングループが IP アドレスベースのマシングループである場合は、内部 IP アドレスを使用してマシンを区別します。
-
インデックスを作成すると、Simple Log Service はデフォルトで
__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 アドレスを含むログをクエリします。正規表現を使用してあいまい検索を行うこともできます。* | select * from log where key like '192.168.%.%'
複数の条件でのクエリ
クエリ文を組み合わせて、複数の条件でフィルターします。
たとえば、ステータスが OK または Unknown のログを除外するには、not OK not Unknown を検索します。
ログクエリのメソッド
Simple Log Service は、3 つのログクエリメソッドをサポートしています:
-
コンソールでログのクエリと分析を行います。クエリと分析のクイックスタート。
-
SDK を使用してログをクエリします。SDK リファレンスの概要。
-
RESTful API を使用してログをクエリします。Logstore 内のログのクエリ。
SQL 分析のタイムアウトまたは失敗のトラブルシューティング
クライアント側のネットワークファイアウォールが、SQL 分析のキーワードを含むリクエストをブロックすることがあります。
サービスエンドポイントを HTTPS に切り替えてみてください。
フィールド値の切り捨て
Simple Log Service では、フィールド値の長さが次のように制限されます:
-
クエリの場合、フィールド値の最大長は 512 KB (524,288 バイト) です。この制限を超えるコンテンツは、クエリ結果から除外されます。
-
分析の場合、フィールド値のデフォルトの最大長は 2 KB (2,048 バイト) で、最大 16 KB (16,384 バイト) まで設定可能です。
フィールドの最大長の設定
この変更は新しいログデータにのみ適用されます。既存のデータには影響しません。
Simple Log Service コンソールにログインします。
[プロジェクト] セクションで、対象のプロジェクトをクリックします。

タブで、目的の Logstore をクリックします。

-
をクリックします。
-
[クエリ & 分析] ページの下部で、[統計フィールドの最大長 (テキスト)] を 64 から 16,384 バイトの間の値に設定します。
インデックスが作成されていないフィールドの分析
インデックスが作成されていないフィールドを分析するには、次のいずれかのメソッドを使用します:
-
データのインデックス作成または再作成
-
新しいログを分析するには、対象のフィールドのインデックスを作成し、統計を有効にします。
-
履歴ログを分析するには、データのインデックスを再作成し、統計を有効にします。
-
-
スキャンモードの有効化
インデックスを作成できない場合は、スキャンベースの分析を使用して、インデックスなしでログをクエリします。ログをスキャンします。
返される行数の変更
Simple Log Service は、デフォルトで limit 100 を追加します。LIMIT 句を使用して、返される行数を変更します。