Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Application Insights Preview

Application Insights Preview

Tatsuro Shibamura

June 09, 2017
Tweet

More Decks by Tatsuro Shibamura

Other Decks in Programming

Transcript

  1. はじめに • 今日は Azure と Visual Studio の間をフラフラしている Application Insights

    について話します • Visual Studio 2015 リリース記念なので、Visual Studio から扱 える範囲に絞ることにします
  2. Application Insights とは • アプリケーションのパフォーマンスの解析、クラッシュの診断、 使用状況の追跡が行えるサービス • 先行する New Relic

    に近いサービス • データ量に基づく課金体系、無料で使用可能 • 月間 500 万データポイント、生データ保存 7 日の制限のみ • 有料版だと Blob へのデータエクスポート機能も
  3. Application Insights で出来ること • Web アプリケーション • パフォーマンス、クラッシュ監視、使用状況の追跡、パフォーマンス カウンタの確認 •

    Web アプリケーション実行環境 • 外部サービスの呼び出し追跡、パフォーマンスカウンタの確認 • クライアントアプリケーション • クラッシュ監視、使用状況の追跡
  4. 対応するプラットフォーム • Web アプリケーション • ASP.NET / ASP.NET 5 /

    Java / JavaScript / Python / Ruby / PHP • Web アプリケーション実行環境 • Windows Server (IIS) / Azure Web Apps • クライアントアプリケーション • Android / iOS / OS X / Windows Store App / デスクトップアプリ
  5. Application Insights SDK • 基本的なイベントのハンドリング • アプリケーションの起動、終了など • キャッチされていない例外のハンドリング •

    スタックトレースなどをテレメトリとして送信 • カスタムメトリック、トレースログの送信 • TraceListener / NLog を使っている場合には、対応するパッケージを インストールするだけで対応可能
  6. ASP.NET アプリケーションに組み込む • Visual Studio から簡単に SDK をインストール可能 • ASP.NET

    アプリケーションの作成時 • 作成済みアプリケーションへ追加 • Application Insights 自体は Web App の追加時に作られる • ポータルから単体で作成することも可能
  7. Web Apps で使う場合の注意 • パフォーマンスカウンタは Web Apps では参照できないので、 Application Insights

    の設定から外しておく • 放置しておくとテレメトリがおかしくなる • ApplicationInsights.config の TelemetryModules に存在する PerformanceCollectorModule を削除
  8. エラー画面を表示している場合 • ASP.NET MVC の場合は HandleError を変更 • http://blogs.msdn.com/b/visualstudioalm/archive/2014/12/12/appl ication-insights-exception-telemetry.aspx

    • 任意のタイミングで例外を通知することもできる try { // 例外を投げるかもしれない new WebClient().DownloadString("..."); } catch (WebException ex) { // App Insights に例外が投げられたことだけは伝える var ai = new TelemetryClient(); ai.TrackException(ex); }
  9. Application Insights Status Monitor • 仮想マシンへのインストール向けモニタリングサービス • Windows の管理者権限があれば利用可能 •

    既存のアプリに変更を加えることなく Application Insights を 使ったパフォーマンスの監視が行える • 既に運用中のアプリケーションの監視に最適 • .NET Framework 4.5 と ASP.NET 4.5 が必須
  10. Application Insights Site Extension • Status Monitor のインストールが出来ない Azure Web

    Apps 用 に追加されたモニタリングサービス • Azure ポータルから 30 秒でインストール可能 • App Insights SDK を組み込んだアプリとセットで動作 • 単体での動作は想定していない
  11. Stream Analytics との連携 (2) • Stream Analytics でイベントをストリームデータとして処理 • 結果を

    SQL Database / Storage / Power BI へ出力 Azure Stream Analytics イベント単位で書き出される
  12. まとめ • Application Insights はプレビューだけど使えるレベルに • データの遅延は頻繁に起こっているので注意 • 当然ながら Azure

    との親和性は抜群に良い • Azure ポータルを使えば GUI だけで、ほとんど設定できる • Visual Studio との連携でさらに便利に