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

Application Insights Preview

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Application Insights Preview

Avatar for Tatsuro Shibamura

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 との連携でさらに便利に