LoginSignup
1
1

More than 3 years have passed since last update.

Azure Functions のアラート設定調査(備忘録)

Posted at

概要

Azure Monitor (Azure Application Insights) を使った、Azure Functions の監視方法について記述する。

Azure Monitor ログを使用した Azure Functions の監視について

  • 同じワークスペース内の異なるリソースのログを統合可能。
  • それらを、クエリを使用して分析、収集など可能。
  • Azure Portal で Log Analytics などで分析も可能で、それらを視覚化・アラートるるーに利用することが可能。

本記事執筆時点において、Azure Monitor Logs との統合は、Windows Consumption、Premium、Dedicated ホスティング プランで実行されている v2 および v3 の関数アプリについては、プレビュー段階との記述あり。

設定方法

  1. Azure portal で関数アプリの[監視]セクションから、[診断設定]を選択し、[診断設定を追加する]をクリック。

    diagnostic-settings-add.png

  2. [診断設定] ページの [カテゴリの詳細] と [ログ] で、FunctionAppLogs を選択([FunctionAppLogs] テーブルには、目的のログが含まれている。)。

  3. [宛先の詳細] で、 [Log Analytics への送信] を選択して、Log Analytics ワークスペース を選択。

  4. 診断設定名 を入力して、 [保存] を選択。

    choose-table.png

ユーザー生成ログ(カスタムログ)

カスタムログを生成するには、以下のようなステートメントを使用する。

  • C#

    log.LogInformation("My app logs here.");

  • Java

    context.getLogger().info("My app logs here.");

  • JavaScript

    context.log('My app logs here.');

  • PowerShell

    Write-Host "My app logs here."

  • Python

    logging.info('My app logs here.')

ログのクエリ

生成されたログをクエリするには、以下の操作を行う。

  1. 関数アプリから、[診断設定]を選択する。

  2. [診断設定]から、関数ログの送信先として構成した Log Analytics ワークスペースを選択する。

  3. [Log Anaytics ワークスペース]ページで、[ログ]を選択する。

    querying.png

Azure Functions によって、すべてのログは、[LogManagement] の FunctionAppLogs テーブルに書き込まれる。

以下に、いくつかのサンプルクエリを示す。

すべてのログ

FunctionAppLogs
| order by TimeGenerated desc

特定の関数のログ

FunctionAppLogs
| where FunctionName == "<Function name>"

例外

FunctionAppLogs
| where ExceptionDetails != ""
| order by TimeGenerated asc

参考資料

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