APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【Azure】 Application Insightsのログについて学ぶ(クエリ編)

目次

はじめに

こんにちは、クラウド事業部の菅家です。
この前「Azure Application Insights」を触る機会があり、その中でもクエリを使ってログを探すのがSQLと似ていてとても楽しかったので、忘れないように形に残すことができればと思い記事にします。
本記事では、Application Insightsのざっくりした概要から、クエリの構文までを学べればと思います。
そして机上で学んだ後、別途記事にてFunctionsにApplication Insightsを紐づけて実際の動きを見てみたいと思います。

learn.microsoft.com

Javaであれば「com.microsoft.applicationinsights.TelemetryClient」クラスにてログ出力の実装ができそうです。

learn.microsoft.com

Azure Application Insightsとは

Azure Monitor Application Insights は、Azure Monitor の機能であり、ライブ Web アプリケーションのアプリケーション パフォーマンス監視 (APM) に優れています。

とのことで、アプリケーションに対して、様々な項目の監視を行うサービスです。
開発におけるソースコードに近い部分として、今回はログにフォーカスを当てていきます。

learn.microsoft.com

ログとログ検索

どんなログがあるのかと言うと、

ページ ビュー、アプリケーション要求、例外、トレースなど

があります。
それぞれrequests、dependencies、exceptions、traces、customEventsなどのログテーブルに分かれています。
これをKQLにて検索していくというような形です。
KQL(Kusto Query Language)ですが、SQLを知っていると感覚的に書ける気がします。
Microsoftサービスで使用されている言語とのことです。

learn.microsoft.com

KQL側はパイプなので、構文の読み込まれ方は前からなんでしょうか?それとも最適化されている?
この辺確証が得られませんでしたが、前のデータが次の構文に送り込まれるイメージで行くとデータの処理の流れがわかりやすそうです。
次の記事でもパイプ形式で、処理を速くするためにフィルターするならお早めにと書いているので、前から処理を考えていくのは良さそうですね。

learn.microsoft.com

よく使ったクエリ

まず、対象リソースのAzure Application Insightsのサービス画面に移動し、左のメニューから「監視>ログ」に移動する。
「Welcome to Log Analytics」「クエリ ハブ」などのメッセージが出た場合は×を押してクエリエディタが表示されるのを待つ。

KQLですが、書き方としてはとっつきやすく、

テーブル名
|[パイプ] その他構文
| ...

という形で書けます。
アプリケーションにてエラーを出力して内容を確認する目的で使っていたため、単純に

exceptions

とテーブル名を指定するだけでも結果を表示できます。
他に「traces」などもあります。 並べ替えるのであればここから、order by句で表示を変更できます。

exceptions
| order by timestamp desc

※日付順
複数条件を付けるのであれば、カンマを使用します。

exceptions
| order by timestamp desc, severityLevel asc

また、テーブルを統合するunionも使用できます。

union
    (exceptions),
    (traces)
| order by timestamp desc

Where条件も指定可能。
learn.microsoft.com

文字列の部分一致検索も使用できる。
learn.microsoft.com

おわりに

次回はFunctionsにて、ログ出力のための簡単なアプリケーションをJavaにて作成し、その出力を確認していきます。

お知らせ

私達クラウド事業部はクラウド技術を活用したSI/SESのご支援をしております。
https://www.ap-com.co.jp/service/utilize-aws/

また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。 hrmos.co

本記事の投稿者: s-sugaya
AWSをメインにインフラ系のご支援を担当しています。