SQL クエリ
Structured Query Language を使用すると、ログファイルのソースにアクセスの上、操作することが可能です。
クエリを書くには、ログ監視ダッシュボードに表示されるクエリペインに次のように記述することができます。

この操作は SELECT、WHERE、FROM、LIKE 等の主要な操作に対応しています。コマンドリストと使用例は以下のようになります。
SELECT
イベントクエリは、複数の引数とともに SELECT より始まります。
シンタックス:
SELECT count FROM log;
例:
結果:
ログのレコード数が返されます。
WHERE
WHEREは、特定の条件を満たすレコードをフィルタするために使用します。
シンタックス:
SELECT count FROM log WHERE condition;
例:
結果:
service が 'abcd' となっている内で指定されたログのレコード数が返されます。
注記:
WHERE 句とともに以下の演算子が使用可能です。
- 条件式での LIKE、IN などの比較演算子
- AND、OR、NOTなどの論理演算子
- . ?, +, *, |, {, }, [, ], (, ), および / または " 等のREGEXP演算子
FROM
シンタックス:
SELECT count From log;
例:
結果:
指定されたソース 「log 」からのレコード数が返されます。
LIKE
LIKE は WHERE と共に使用され、指定されたパターンを列内で検索します。
シンタックス:
Select count From log Where condition Like pattern;
例:
結果:
指定されたログ 「devtest 」から、message_message 列内で 「Extranet 」を含むレコード数が返されます。
ORDER
ORDER を使用すると、1つまたは複数のフィールドでクエリ結果の並び替えが可能です。
シンタックス:
Select field_name From log Order BY field_name desc
例:
結果:
timestamp 列を持つログデモから、降順で 「message 」列を返します。
複雑なクエリ
集計値によるソート:
集計値によるソートを使用するクエリで Limit を使用すると、希望する件数の上位結果が表示されます。
例:
ログから、ログ名によりログをグループ化し、グループ化されたレコードのカウントに従ってソート(デフォルトでは昇順)し、上位100レコードを表示します。
サブセレクトの使用:
サブセレクト(SELECT X FROM (SELECT Y)) の使用が適応されています。
例:
「log」にて、姓に 「a」 という文字が含まれない姓と名を検索します。このクエリは、上記のサブセットに準じて、名が文字 「A 」で始まる記録と、レコードが最初の列の順番で並んでいるすべてのレコードを返します。
GROUP BY で TIME データ型を使用する
次の例のように、別のデータ型を返すスカラー関数でラップされている場合は、グループ化キーとして TIME データ型を使用することが可能です。
例:
タイムスタンプ(分)でグループ化されたログからのレコードの総数が返されます。
DISTINCT キーワードの使用
例:
このコマンドにより、メッセージに info を含むレコードを選択し、DISTINCT サービス名を表示します。
\<img alt=「ログ監視クエリ」 src={useBaseUrl('img/log-query-distinct.png')}. />
例
このクエリにより、2000以上のレイテンシーとメッセージレベルのカウントを持つレコードを返します。

サポートされているキーワード
以下は、クエリを構築するために使用可能な対応キーワードのリストです。大文字、小文字とも使用可能です。
キーワード | キーワード | キーワード | キーワード |
---|---|---|---|
alter | and | as | between |
by | case | cast | constraint |
create | cross | cube | current_date |
current_time | current_timestamp | current_user | deallocate |
delete | describe | distinct | drop |
else | end | escape | except |
execute | exists | extract | false |
for | from | full | group |
grouping | having | in | inner |
insert | intersect | into | is |
join | left | like | localtime |
localtimestamp | natural | normalize | not |
null | on | or | order |
outer | prepare | recursive | right |
rollup | select | table | then |
true | uescape | union | unnest |
using | values | when | where |
with |
クエリの作成と実行の詳細は クエリの作成と実行 を参照ください。