ApplicationInsightsとは
以下のログ情報を元に、「データ分析」「アプリケーションの状況把握」ができる機能です。
● ApplicationInsightsを有効にしているとAzureが勝手に取得してくれるログ情報
● 動作しているユーザのアプリケーションからApplicationInsightsに送信されたログ(実装が必要)
何のために使うのか・何ができるのか
たとえば、パフォーマンス状況確認は、誰もが取得しているエラーログだけだと分析できません。
アプリケーション自前のログのみでは、情報として不十分なケースが多いです。そのため、集まったデータに対してkustoクエリ・ポータル画面などを使ってデータ分析を行うことができます。
具体的な利用イメージ
利用イメージを順番通りに書いてみました。
● 「データ分析」「アプリケーションの状況把握」を目的としてどういう分析や把握をしたいか決める。
● Azureが勝手に取得してくれるログ情報にはどういうメトリックがあるか確認する。
● メトリックだけでは足りないと判断したら、アプリケーション内にApplicationInsightsに送信するログ出力処理を実装する。
● 該当のAppService/Functionsの画面からApplicationInsightsを有効に設定する。(有効にするとAzure側のログ自動収集も始まる)
● アプリケーションをAzure上にデプロイしてアプリケーションを動作させる。
● アプリケーションが動作するとApplicationInsights上にログ情報が溜まっていく。
● 溜まったログ情報をkustoクエリ・ポータル画面のメトリックなどで確認・分析する。
メトリックとは
各種情報の小さい塊というイメージです。
たとえば、
・CPU 使用率
・関数実行回数
・50X エラー発生回数
などが、それぞれ情報として取得できます。
メトリックを活用して過去データ分析ができます。
たとえば、「アプリケーションのCPU使用率はどの程度か」というのがグラフで見ることができます。
以上です。