LoginSignup
1
0

More than 1 year has passed since last update.

Azure Log Analytics で KQL を用いて、サクッと時系列グラフを作ってみる 1 (列分割)

Posted at

1.はじめに

Log Analytics ワークスペースや Microsoft Sentinel を用いて、時系列グラフを作成しようとしたところ、意外にこれといったドキュメントが無かったので、備忘録で残しておきます。
方法としては幾つかの方法がありますが、今回は一番簡単な列分割でキーを指定する方法をご紹介します。

2.やりたいこと

Log Analytics ワークスペースから Kusto Query (KQL) を用いてサクッと時系列グラフを作りたい。
時系列に任意のキーを集計表示して比較したい。

  • X軸に時間
  • Y軸に集計値(特定のキー毎に集計する)

こんなイメージ
image.png

3.やってみる

summarize演算子とrender演算子がポイントになります。
Log Analytics ワークスペースは Microsoft のデモ環境が提供されていますので、以下リンクから試してみてください。
Azure Log Analytics デモ環境

4.ポイント

4.1 summarize を用いて、時間軸(TimeGenerated)、Y軸の分割キー(Strings)、集計カウントでまとめる

KQL だと以下の部分になります。count()で1時間毎の集計を行う際に HTTP ステータスコードのキー scStatus でグループ化しています。

| summarize count() by bin(TimeGenerated, 1h) , scStatus

image.png

4.2 render で timechart を指定する

一目見た際に、何のグラフで何を比較しているのか、タイトルなどを用いると分かりやすいです。

| render timechart with(title="W3C IIS Log group by HTTP Status", ytitle="Counts")

5.サンプル例

5.1 W3C IIS ログで、ステータスコード毎に時系列チャートを作成する

参考:W3Cログフォーマット

W3CIISLog 
| where TimeGenerated >ago(14d)
| summarize count() by bin(TimeGenerated, 1h) , scStatus
| render timechart with(title="W3C IIS Log group by HTTP Status", ytitle="Counts")

image.png

5.2 Windows セキュリティイベントで EventID 毎に時系列チャートを作成する

参考:Windows EventID

SecurityEvent
| where TimeGenerated > ago (14d)
| summarize count() by bin(TimeGenerated, 1h) , tostring(EventID)
| render timechart with(title="SecurityEvent by EventID", ytitle="Counts")

image.png

補足

  • Azure Monitor Agent(AMA) / Log Analytics Agent(MMA) から取り込まれる Windows Security Event では、なぜか EventID が数値型(int)なので、tostring関数で Strings 型に変換する必要があります。
  • 分割に用いるキーが多すぎる場合は、where 条件でフィルターすると良いでしょう( where EventID in (4624,4625) など)

6. まとめ

Azure Monitor を用いてログを貯めている方は多いと思いますが、時系列チャートを作るテクニックがあまり紹介されていないので、簡単な手順としてまとめてみました。どなたかの参考になれば幸いです。

*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。

1
0
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
1
0