LoginSignup
2
2

More than 3 years have passed since last update.

Application Insightsによるログ解析

Last updated at Posted at 2019-03-26

概要

Log Analyticsなどで使われているクエリ言語(KQL)を使って
ApplicationInsightsで収集している情報を見える化して解析する方法です。
最後のほうにSQLとKQLの対比で例をあげているので参考にしてください

requests
| where timestamp > ago(3h)
| summarize count() by client_CountryOrRegion
| render piechart

書式として "演算子" を | で区切ります

よく書く流れとしては「テーブル|条件|集計方法|グラフの種類」がわかりやすいと思います

よく使う演算子

コード 説明
where 条件絞り込み.Alias:filter
count 行数
limit [num] [num]行数制限
order by [Column] [asc,desc] 並べ替え.Alias:sort
render 表示方法。下記にて説明
summarize [Aggregation] by [Column] 集計方法。下記にて説明
project [Column] 表形式で出すときに列名を指定して表示する。

※これ以外にもたくさんありますが理解しているものを並べています

summarize

コード 説明
summarize count() by [Column] Column別行数
summarize count([Column1]) by [Column2] Column2別Column1行数
summarize avg([Column1]) by [Column2] Column2別Column1平均

bin

主にsummarizeの時に使用する。
連続する値の範囲を管理しやすい単位に分割する。
多くのデータをグラフ化する場合には描画が遅くなってしまうので丸めて集計し表示する。

例えば、10分毎の間隔で集計する

bin(timestamp, 10m)

render

集計したテーブルをグラフィカルに表示するときに使用する。
作成後はダッシュボードなどに使用すると便利です。

コード 説明
areachart 面グラフ.kind:stacked,stacked100,unstacked,default
barchart 棒グラフ.kind:stacked,stacked100,unstacked,default
timechart 折れ線グラフ
piechart 円グラフ
scatterchart 散布図

SQLデータベースの検索方法と比べながら実例を記載します

全検索

SQL Query

Select * From requests

Analytics Query

requests

項目絞り込み

SQL Query

Select url,resultCode From requests

Analytics Query

requests| project url, resultCode

一意検索

SQL Query

Select DISTINCT url From requests

Analytics Query

requests | summarize by url

時系列で集計

リザルトコード別に数えてそれを10分毎にまとめる。
それを積み立て棒グラフで表示する

requests
| summarize count() by resultCode, bin(timestamp, 10m)
| render barchart kind= stacked
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2