Successfully reported this slideshow.
Your SlideShare is downloading. ×

20210129 azure webapplogging

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 19 Ad

More Related Content

Slideshows for you (20)

Similar to 20210129 azure webapplogging (20)

Advertisement

More from Takayoshi Tanaka (20)

Recently uploaded (20)

Advertisement

20210129 azure webapplogging

  1. 1. Azure App Service (Web Apps)で .NET アプリのログを 外部のログ基盤に送信するには? C# Tokyo オンライン LT 大会 2021/01 @tanaka_733
  2. 2. 自己紹介: @tanaka_733 ◦ New Relic K.K. シニアテクニカルサポートエンジニア ◦ 「オブザーバビリティ(可観測性)プラットフォーム」、監視から可観測性へ、が お仕事 ◦ Go, Java, JavaScript, Ruby, PHP, Rustに加えてC#やってます ◦ クラウドもオンプレもWindowsもLinuxもコンテナもサーバーレスもやってます
  3. 3. おことわり 今回のネタはAzure Web AppsからNew Relic Logsに転送するソ リューションをまとめた際の調査がもとになっています。 ◦ https://blog.newrelic.co.jp/new-relic-solutions/forward-logs-from- azure-web-app-dotnet-to-newreliclogs/ New Relicに関係なく活用できる情報としてまとめました。 (サンプルなどがNew Relicに送信する前提になっていますが、 他のサービス・ツールでも同様に利用できるはずです)
  4. 4. Azure Web Apps使ってますか Azure App Service 引用元:ブチザッキ
  5. 5. ログ見てますか @New Relic Portland
  6. 6. Web AppsではILoggerを使うと ストリーム or Blob保存可能
  7. 7. PortalやVisual Studioで確認
  8. 8. ILogger<TCategoryName>とは .NET Coreで導入された .NET Platform Extensionに含まれるログAPI 抽象化しており、Extensionライブラリにあるデフォルト実装に加えて、 NLogやSerilogなどの既存のロギングライブラリも利用できる ILogger API デフォルトの プロバイダー NLogなど 3rd party プロバイダー コンソール、ファイル、HTTPなど 必要に応じて出力先を設定
  9. 9. このままのログでよいのか? フォーマットなどを制御したい ◦ リクエストと紐づけたい ◦ 構造化したい 汎用的にしたい ◦ Web Apps以外で動くときにも使いたい ログ保存・検索システムに投入したい ◦ Azure Monitor ‒ Log Analyticsとか ◦ New Relic Logsとか ILogger (.NET Core)や NLog, log4netの設定 を使いたい 運用が楽な 転送基盤を使いたい
  10. 10. 便利そうなメニューが
  11. 11. Diagnostics settings(診断設定) プレビュー機能である点に注意 Log Analytics workspace: Azure組み込みのソリューション Storage account: お手軽にアーカイブ可能 Stream to event hub: Azure外部へも転送できる汎用ソリューション
  12. 12. しかし… @長崎県
  13. 13. 実は.NET Core on Windows のログには使えない コンソール出力の場合 ◦ Windows以外はOK ◦ Windowsの場合はJavaのみ AppServiceAppLogの場合 (専用のTraceListener) ◦ ASP.NET (.NET Framework) のみ https://docs.microsoft.com/ja- jp/azure/app-service/troubleshoot- diagnostic-logs#supported-log-types
  14. 14. Application Insights にはどう送る? アプリ ILogger API ILogger プロバイ ダー AI https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/logging/ ILogger
  15. 15. 送信先を制御するには? アプリ ILogger API 独自 プロバイ ダー ログ保存先 プロバイダーをライブラリとして差し込める
  16. 16. 例) New Relic Logsの場合 New Relic LogsはNLog, Serilogでリクエストとひもづけられる構造化フォーマッターを提供 アプリ ILogger API New Relic Logs NLog or Serilog 追加 Lib NLogならTarget、SerilogならSinkとよばれる ライブラリを開発し、差し込む NLogの場合: NLog.Targets.NewRelicLab.Logs Serilogの場合: Serilog.Sinks.NewRelicLab.Logs
  17. 17. NLogやSerilogを直接利用しても可 アプリ ログ保存先 NLog or Serilog 追加 Lib ILoggerを利用しないことも可能
  18. 18. アクセスログも送りたいときは 2段構え
  19. 19. おわり @プリマス

×