Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20140329 modern logging and data analysis pattern on .NET

5,511 views

Published on

Global Windows Azure Boot Camp 2014 in Japan!!
http://jazug.doorkeeper.jp/events/9216
でのセッション資料です

Published in: Technology, Education
  • Be the first to comment

20140329 modern logging and data analysis pattern on .NET

  1. 1. 仕事 on AWS 個人活動 http://tech.tanaka733.net http://tech.en.tanaka733.net @tanaka_733
  2. 2. http://grani.jp/
  3. 3. ログ収集の目的
  4. 4. 異常検知 障害発生時の調査材料 パフォーマンス改善 ビジネス上の目的が達成されたかの判断材料
  5. 5. Windows環境および Graniにおける現状
  6. 6. 普通 ASP.NET MVC 5 1万 1億 100台
  7. 7. using
  8. 8. ウェブサーバー
  9. 9. Windowsサポート 強力なクエリ
  10. 10. http://www.sumologic.com/product/solutions/application-management/
  11. 11. 何か解はないのか…
  12. 12. Semantic Logging
  13. 13. ETW EventSource クラス SLAB
  14. 14. http://msdn.microsoft.com/ja-jp/magazine/cc163437.aspx
  15. 15. ライブラリの追加なし
  16. 16. Event Sink アプリケーション EventSource を継承した 自前のイベントソース ObservableEventListener Event Sink http://msdn.microsoft.com/en-us/library/dn440729(v=pandp.60).aspx#sec2
  17. 17. http://msdn.microsoft.com/en-us/library/dn440729(v=pandp.60).aspx#sec2 Event Sink アプリケーション EventSource を継承した 自前のイベントソース Event Sink ETW Trace Event Service アプリ本体 ロギングアプリ
  18. 18. [EventSource(Name = "Grani")] public class GraniEventSource : EventSource { private readonly static GraniEventSource log = new GraniEventSource(); private GraniEventSource() { } public static GraniEventSource Log { get { return log; } } [Event(1, Message = "Application Failure: {0}", Level = EventLevel.Critical, Keywords = Keywords.Diagnostic)] internal void Failure(string message) { WriteEvent(1, message); } }
  19. 19. http://blogs.msdn.com/b/agile/archive/2014/03/27/semantic-logging-application-block-now-supports- activity-tracing-and-elasticsearch.aspx
  20. 20. http://go.microsoft.com/fwlink/p/?LinkID=290903
  21. 21. public class S3Sink : IObserver<EventEntry>, IDisposable { public void OnNext(EventEntry value) { //ログ1件を処理する } } EnterpriseLibrary.SemanticLogging BufferedEventPublisher<EventEntry>
  22. 22. <?xml version="1.0" encoding="utf-8" ?> <configuration > <traceEventService/> <sinks> <consoleSink name="console" > <sources> <eventSource name="Grani" level="LogAlways"/> </sources> </consoleSink> <customSink name="s3redissink" type ="Grani.EventCollector.S3Sink.S3Sink, Grani.EventCollector.S3Sink"> <sources> <eventSource name="Grani" level="LogAlways"/> </sources> <parameters> <parameter name="bucketName" type="System.String" value="green-eventtrace-logs" /> </parameters> </customSink> </sinks> </configuration>
  23. 23. Fluentd on Linux
  24. 24. SLAB による 分析基盤の構築
  25. 25. HDInsight (Hadoop)Storage BLOB
  26. 26. Amazon EC2 Amazon S3 Amazon Redshift AWS Data Pipeline
  27. 27. 分析ツールの使い分け
  28. 28. http://www.tableausoftware.com/ja-jp
  29. 29. await
  30. 30. http://channel9.msdn.com/posts/Introducing-Semantic-Logging http://channel9.msdn.com/Events/Build/2013/3-336
  31. 31. http://msdn.microsoft.com/en- us/library/dn440729(v=pandp.60).aspx http://slab.codeplex.com/ http://blogs.msdn.com/b/agile/archive/2014/03/27/semantic- logging-application-block-now-supports-activity-tracing-and- elasticsearch.aspx
  32. 32. http://msdn.microsoft.com/ja-jp/magazine/cc163437.aspx http://blogs.msdn.com/b/dotnet/archive/2014/01/30/microsoft- diagnostics-tracing-eventsource-rtms.aspx?Redirected=true

×