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