Log Service は、SQL 集計コンピューティングと同様の機能を提供します。 この関数は、クエリ関数と SQL 演算関数を統合してクエリ結果を計算します。

構文例:

status>200 |select avg(latency),max(latency) ,count(1) as c GROUP BY  method  ORDER BY c DESC  LIMIT 20

基本的な構文:

[search query] | [sql query]

SEARCH 条件と計算条件は垂直バー( |)で区切られています。 この構文は、検索クエリを使用してログから必要なログをフィルタリングし、これらのログに対して SQL クエリの計算を実行することを示します。 検索クエリの構文は、 Log Service 固有のものです。 詳細は、クエリ構文を参照してください。

前提条件

分析機能を使用するには、 Search&Analysis 設定の対応する SQL フィールドの Enable Analytics スイッチをオンにします。 詳細は、概要 を参照してください。

  • Enable Analytics スイッチがオフになっている場合、 Log Service はデフォルトで一部のデータに対してのみ計算機能を提供し、待ち時間は長くなります。
  • Enable Analytics スイッチをオンにすると、 Log Service は数秒で迅速な分析を提供します。
  • 機能が有効になっている場合にのみ、新しいデータに対して機能します。
  • アナリティクスを有効にすると、追加料金は発生しません。

対応している SQL 構文

Log Service は、次の SQL 構文に対応しています。 詳細は、特定のリンクをクリックしてください。

構文構造

SQL の構文構造は次のとおりです。

  • FROM 句と WHERE 句は、SQL 文では必須ではありません。 デフォルトでは、FROM は現在の Logstore のデータを照会することを示し、WHERE 条件は検索照会です。
  • サポートされる句には、SELECT、GROUP BY、ORDER BY [ASC、DESC]、LIMIT、および HAVING が含まれます。
デフォルトでは、最初の 10 個の結果のみが返されます。 より多くの結果を返すには、 limit n を追加します。たとえば、* | select count(1) as c, ip group by ip order by c desc limit 100 と選択します。

組み込みフィールド

Log Service は統計用のいくつかの組み込みフィールドがあります。 これらの組み込みフィールドは、有効な列を構成すると自動的に追加されます。

フィールド名 タイプ 説明
__time__ bigint ログ時間。
__source__ varchar ログのソース IP。 このフィールドはあなたが照会するとき source です。 下線( __)は source の前後に SQL でのみ追加されます。
__topic__ varchar ログトピック

制限

  1. 各プロジェクトの最大同時実行数は15です。
  2. 単一列の VARCHAR の最大長は 2048 で、長さが 2048 を超えると切り捨てられます。
  3. デフォルトでは 100 行のデータが返され、ページめくりはサポートされていません。 より多くのデータを返すには、LIMIT 構文 を使用してください。

毎時の PV と UV、最高レイテンシのユーザー要求、および上位 10 の最高レイテンシに関する統計を作成します。

*|select date_trunc('hour',from_unixtime(__time__)) as time, 
     count(1) as pv, 
     approx_distinct(userid) as uv,
     max_by(url,latency) as top_latency_url,
     max(latency,10) as top_10_latency
     group by 1
     order by time