More Related Content
Similar to Application insights で行ってみよう (20)
More from Kazushi Kamegawa (20)
Application insights で行ってみよう
- 2. わんくま同盟 大阪勉強会 #60
自己紹介
• かめがわ かずし(kamekawa ではなく kamegawa)。
Microsoft MVP for Visual Studio ALM(2012/7-)
• だいたいどこでもkkamegawa
hatena/twitter/Facebook/MSDN Forum/GitHub(ほぼGistの
み)
http://kkamegawa.hatenablog.jp/
• @ITさんでちょこちょこ書かせてもらっています。
http://www.atmarkit.co.jp/ait/articles/1408/11/news119.ht
ml (連載:いまどきのソース・コード管理)
• 2014/4に関西に引っ越してきた新米関西人
• もちろんわんくま大阪ははじめてです(おてやわらかに)
- 4. わんくま同盟 大阪勉強会 #60
トラブル時あるある
• ユーザから「なんか遅いんだけど」といわれる
• その時になってタスクマネージャ見る
• しかしすでに問題は終わっている…(もしくはタスクマネージャ
だけじゃわからない)
• ユーザから処理していた時間、処理内容、操作方法を聞く
• 結局わからない…再現待ち
- 6. わんくま同盟 大阪勉強会 #60
異常と騒ぐ前に
• 問題が一時的であっても処理によっては仕方ないものもある
(大量に更新するバッチとか)
• 操作上、想定していない状態となってしまうものもある
– オンラインで大量にデータを選択してしまった
– 意図していないタイミングでバッチが多く実行された
- 7. わんくま同盟 大阪勉強会 #60
ユーザービリティ向上のために
• だれが、いつ、どんな操作をして、どんな状態になったか可視
化できるとうれしい
→操作した / しないといった水掛け論の防止
• どんな操作が多く行われているか可視化して、今後の改良に
役立てる
– ユーザーから「この機能改良したい」といわれたとき「使われていな
いですよ」といえる(かも)
– 開始から終了までのユーザー操作に時間がかかっている処理を改
善してもっと使ってもらう
- 8. わんくま同盟 大阪勉強会 #60
いろいろな運用監視ソフトウェア
• Microsoft System Center Operations Manager(Microsoft)
http://www.microsoft.com/ja-
jp/systemcenter/opsmgr/products/overview.aspx
• JP1(日立)
http://www.hitachi.co.jp/Prod/comp/soft1/jp1/
• Systemwalker Service Quality Coordinator(富士通)
http://systemwalker.fujitsu.com/jp/sqc/
• WebSAM SystemManager(NEC)
http://jpn.nec.com/websam/systemmanager/
• ZABBIX(オープンソース/Zabbix SIA)
http://www.zabbix.com/jp/
• Hinemos(オープンソース/NTT Data)
http://www.hinemos.info/
ほかにもいっぱいあります(載らないので省略)
- 9. わんくま同盟 大阪勉強会 #60
何を監視する?
• Windowsの場合OS標準機能でも結構できる
• というより、OSで持っている性能情報をいかに可視化するか
という機能を提供する、という方が正しい
(独自に追加することも可能)
• この辺は@ITさんでも書かせていただきました
http://www.atmarkit.co.jp/fdotnet/chushin/vsperf_01/vsperf
_01_01.html
アプリケーションのギアを上げよう
第一回 OS機能によるアプリのパフォーマンス測定
- 11. わんくま同盟 大阪勉強会 #60
運用監視ソフトウェアの課題
• サービスを提供するサーバ以外にもサーバが必要
• ソフトウェア初期投資
– 買い切りによる初期投資
– 管理サーバ自身の性能
• 1~2台でも必要
• 100台になっても一台?
– 情報を蓄積するためのデータベースのライセンスは?
– オープンソースのものにする?
– エージェントの対応状況は?
• SaaSでの提供が脚光を浴びてきた
- 12. わんくま同盟 大阪勉強会 #60
SaaS版の登場
• New Relic
http://newrelic.com/
– 草分け的存在
• Application Insights(プレビュー)
http://msdn.microsoft.com/ja-jp/library/dn481095.aspx
• 安価、手軽、APIが特徴
- 14. わんくま同盟 大阪勉強会 #60
Application Insightsとは
• Microsoft System Center Operations Manager(通称
SCOM)のSaaSサービス版
• 性能監視/死活監視を提供
• Visual Studio 2013 Update 3からVisual Studioに統合
(Update2までは拡張機能)
• 現在はプレビュー版ということもあり、無料
- 15. わんくま同盟 大阪勉強会 #60
必要なもの
• Visual Studio 2013 Update3
Visual Studio 2013 Update2までは拡張機能
http://visualstudiogallery.msdn.microsoft.com/82367b81-
3f97-4de1-bbf1-eaf52ddc635a
• Azureアカウント(Update3以降の場合)か Visual Studio
Onlineアカウント(拡張機能の場合)
http://blogs.msdn.com/b/visualstudioalm/archive/2014/09/
17/application-insights-tools-in-visual-studio-2013-
summer-update.aspx
• 拡張機能を使っていた場合は、アンインストールしてから
(私はそのままやった)
- 16. わんくま同盟 大阪勉強会 #60
Application Insightsの使用方法
• Webアプリケーションの可用性
– 死活監視
– 応答時間の記録と警告
• アプリケーションのパフォーマンスと例外監視
– オンプレミスサーバ, Azureサービス, Javaアプリケーションのパ
フォーマンスカウンタ
• 使用方法の分析
– カナリアテスト
– A/Bテスト
– 画面遷移の記録
- 17. わんくま同盟 大阪勉強会 #60
Application Inisghtsでサポートされる環境
• Webアプリケーションの可用性
– Webアプリケーション
• アプリケーションのパフォーマンスと例外監視
– Java Webアプリ(Tomcat/JBoss)
– Azure クラウドサービス / Azure Web Sites
• 使用方法の分析
– Windowsストアアプリケーション
– Windows Phone 8.1アプリケーション
– Webサービス
– JavaScriptアプリケーション
- 25. わんくま同盟 大阪勉強会 #60
使い方
• Application Insightsをプロジェ
クトに追加
• エージェントをインストールして、
PowerShellコマンドレット操作に
より記録
• IntelliTrace情報を記録する場
合、高速なディスクに記録して、
可能な限り設定を絞る
• Javaアプリケーションも対応
(Tomcat/JBoss)
- 32. わんくま同盟 大阪勉強会 #60
コマンドレット一覧
コマンドレット オプション 説明
Set-DefaultMonitoringCredentials -AccoundId
-InstrumentationKey
Application Insights用の認証情報を設定する
Start-WebApplicationMonitoring -CollectionPlan
-Cloud | -Local
-OutputPath
-Name
-SkipIISReset
指定したアプリケーションモニタリングを開始する。
-LocalでローカルにIntelliTrace相当の情報を保
存。-CloudでApplication Insightsに保存。
-SkipIISResetはIISの再起動を抑止する
Get-
WebApplicationMonitoringStatus
現在モニタしているアプリケーションを列挙する
Checkpoint-
WebApplicationMonitoring
-All
-Name
現時点の情報を強制的に取得する
Stop-WebApplicationMonitoring -All
-Cloud | -Local
-Name
-SkipIISReset
アプリケーションのモニタを停止する。
- 33. わんくま同盟 大阪勉強会 #60
負荷をかける
• Visual Studio OnlineのLoad Test(※ただしUltimate)を使っ
てクラウド負荷テスト
• 全世界のAzureインスタンスから負荷がかけられる
• 組織内からだと回線が負荷の上限になるため、組織外のイン
スタンスからかけると便利
- 36. わんくま同盟 大阪勉強会 #60
テレメトリによる使用方法の分析
• 現時点(2014/9/27)では0.10のプレリリース版
• ASP.NET Webアプリケーションの使用状況の分析
– Azureもオンプレミスも
• JavaScriptコードを入れてクライアントのトラッキング
• Windows Phone&ストアアプリケーションの使用状況分析
– 現在プレビューのため使用できない(0.8くらいまではOKだった)
• ログフレームワークのサポート
– System.Diagnostics.Trace
– Nlog
– Log4Net
– Application Insights Tracing API
- 37. わんくま同盟 大阪勉強会 #60
ストアアプリでの使用方法
• NuGetパッケージを追加
Install-Package Microsoft.ApplicationInsights.WindowsStore -Pre
• Application Insightsコードを追加
• ログに個人が特定できるような情報を記録しない
- 38. わんくま同盟 大阪勉強会 #60
Webページ使用状況追跡
• Visual Studio 2013 Update3 ではAzure新ポータルから追加
• サイトごとに専用のトラッキングコードを含むJavaScriptを追
加
• ASP.NET Webformではsite.masterに追加すればOK
• トラッキングしていることはちゃんとプライバシー情報の取り扱
いとして告知しておきましょう
- 41. わんくま同盟 大阪勉強会 #60
まとめ
• New RelicだけじゃなくてApplication Insightsも。
• Webサイトの死活監視はお手軽&Visual Studioのクラウド
ロードテストと併用すると便利。
• 特にWindows ストアアプリケーションもしくはWindows
Phoneアプリケーションの利用状況モニタは…今後に期待
- 42. わんくま同盟 大阪勉強会 #60
参考リソース
• Application Insights for Visual Studio Online
http://msdn.microsoft.com/ja-jp/library/dn481095.aspx
• Application Insights for Visual Studio による使用法の分析
http://msdn.microsoft.com/ja-jp/library/dn518124.aspx
(ただし記述が古い)
• Web アプリケーションの可用性と応答性の監視
http://msdn.microsoft.com/ja-jp/library/dn481101.aspx
• Application Insights を使用したパフォーマンスと例外の監視
http://msdn.microsoft.com/ja-jp/library/dn495324.aspx