New Relic の APM エージェント(.Net)を使用して Azure Functions をモニタリングするための手順とデータの確認方法を紹介します。これまで New Relic の .NET Agent は Microsoft Azure が提供する PaaS のうち、Azure App Service のモニタリングを公式にサポートしていました。今回 Azure Functions の計装が可能な .Net Agent がリリースされ、Azure Functions を含むサービスのオブザーバビリティを高めることが可能になりました。
本記事ではエージェントのインストール方法と Azure Functions 用にカスタマイズされた New Relic の UI を紹介します。
今回のポイント
この記事で紹介しているポイントは、次の2つです。
-
Azure Functions へ .Net エージェントをインストールする手順がわかる
Azure Functions の拡張機能を使って New Relic の .Net エージェントをインストールする方法を紹介します。 -
新しい Data explorer の活用方法がわかる
クエリを作成する際に新しい Data explorer を活用するユースケースを紹介します。
最新のアップデートの詳細はこちら
New Relic アップデート一覧
無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!
前提条件
今回は下記の条件で検証しています。
◾️Azure Functions の詳細
- Hosting Plan : 従量課金(Consumption プラン)
- ランタイム : .Net
- バージョン : 8 (LTS), isolated worker model
- OS : Windows
設定手順は下記の公式ドキュメントをベースに実施しています。
Azure Monitor 統合の設定
Azure Monitor の収集している Functions のメトリクスを New Relic に取り込むことが可能です。 下記の記事の中で Azure Monitor のメトリクスを統合する方法は下記の記事で紹介されています。こちらの記事を参考に設定してください。
このステップは、.Net Agent のインストールに直接関係のない手順ですが、Azure Functions で作成される APM のエンティティで Azure Monitor のメトリクスを表示することが可能です。関連するエンティティを探さなくてもすぐに確認できるのはとても便利です。詳細はこちらで紹介しています。
New Relic .NET Agent のインストール
OS が Windows の Azure Functions に .NET Agent をインストールする際は、拡張機能をインストールして環境変数の設定を行う2つのステップです。
拡張機能のインストール
Azure Functions のメニューから拡張機能を選択して .Net Agent を追加します。
サイト拡張機能の追加で検索キーワードに "New Relic" を入力すると インストールできる New Relic の .Net Agent が表示されます。
拡張機能を追加する際の同意事項についての確認が表示されます。問題がなければチェックして追加を実行します。
環境変数の設定
New Relic の .Net Agent で使用する環境設定の追加を行います。追加するべき環境変数は公式ドキュメントに記載されています。下記のリンクに記載された環境変数を設定していきます。
今回使用しているのは Windows なので対応する環境変数を設定します。
設定の環境変数を開くとアプリ設定が開きます。その中から高度な編集を選択して環境変数を一括で変更します。
公式ドキュメントに記載されていた環境変数をコピー&ペーストして形式を整えます。NEW_RELIC_LICENSE_KEY と NEW_RELIC_APP_NAME は自分の環境に合わせて設定してください。NEW_RELIC_APP_NAME に設定した値が New Relic 上での表示名になります。
環境変数の編集が終わったらアプリ設定の適用を選択して編集内容を確定させます。
New Relic でデータを確認
Functions をトリガーして New Relic へデータを送信してデータを確認していきましょう。
トランザクションのデータを確認可能
環境変数で設定した名称の APM のエンティティが作成されて選択すると下記の様なサマリーが表示されます。
Transactionsを開くと関数名と同じトランザクションが表示されており、トランザクションの詳細な情報が確認できます。
Azure Monitor のデータも統合して確認可能
Azure metrics を選択すると Azure Monitor から収集した Azure Functions のメトリクスが確認できます。Performance, HTTP Status, IO Operations の3つのセクションに分かれています。
New Relic 上は APM Agent の情報をベースに作成したエンティティと Azure Monitor の情報をベースに作成したエンティティがそれぞれ存在していますが、エンティティを切り替えることなくデータへアクセスできる様になっています。
データが表示されない場合のトラブルシューティング
データが表示されない場合は New Relic の .Net Agent と Application Insights が競合している可能性が考えられます。Application Insights を無効化する必要があります。下記のドキュメントを参考に対応してください。
まとめ
Azure Functions の拡張機能を使って簡単に New Relic の.Net Agent をインストールできるようになりました。Azure Functions を含む Azure 上で構築されたサービスのオブザーバビリティをより向上させることが今回のアップデートで実現できます。別のアプリからコールされた場合や外部サービスの呼び出し、DBアクセス等についてはまた別の記事で詳しく紹介します。ぜひ Azure Functions に APM Agent を導入してサービスのパフォーマンス改善とユーザー体験の向上につなげてください。
New Relicでは、新しい機能やその活用方法について、QiitaやXで発信しています!
無料でアカウント作成も可能なのでぜひお試しください!
New Relic株式会社のX(旧Twitter) や Qiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!