E N D
2. Windows Azure Diagnostics Andy Cross
3. Overview Diagnostics in Windows Azure
Application Level
Service Level
Operating System Level
4. Example Log Usage Application:
Error: Cannot save Order
Service:
Error: IO Exception
OS:
Error: Disk is full
5. Whats special? Familiar diagnostic challenges
Already solved on premises
Massively scalable
No request affinity
Unpredictable application topology
Where do the logs go?!
Centralised Logging approach
6. What you need Hosted Service:
Compute capacity within Windows Azure
Storage Account:
Storage capacity within Windows Azure
Table
Blobs Centralised store in StorageCentralised store in Storage
7. Windows Azure Diagnostics Each Role
Configurable Diagnostics Monitor
Each Instance inherits configuration
8. Example Trace Points Application
.net application Tracing
custom
Files written via nLog, log4net etc
Windows Event Log
Service
IIS Logs
IIS Failed Request Logs
Azure Diagnostics Infrastructure Logs
Metalog
Performance Counters
Operating System
Windows Event Log
Custom (any known file log)
9. Configuration Set options on types
Directories
Logs
Performance Counters
Storage Options
Some types allow a configurable destination
Transfer Period
Maximum Buffer Size
10. Transfer Two distinct methods of transfer
Same underlying result
On Demand Transfer
Scheduled Transfer
11. Output formats
12. Methodologies .net Tracing
Add Trace Listener
Configure WAD
View Result:
13. Logging per Instance Logs on Instance Basis:
RoleInstance:
deployment(526).MultipleTraceSources.Host_IN_0
DeploymentId.Role.Instance
Allows for per instance diagnosis
14. Configure Windows Azure Diagnostics Setup Storage Account
Create Role Instance Diagnostics Manager
Get and update a configuration from Manager
Set Current Configuration
15. Example Code
16. Extended Code
17. Verbosity Code is building XML WADCFG
Structure based on XML Schema
Not necessarily intuitive
18. Fluent Diagnostics Attempts to curtail verbosity
19. Windows Azure Role Lifecycle Each Role runs
OnStart
Run
OnStop
Setup Diagnostics OnStart always correct for that role
But if you change the config, another OnStart will undo your changes
20. Change at Runtime WAPPSCmdlets
21. Diagnostics Lifecycle
22. Diagnostics Lifecycle
23. Diagnostics Lifecycle Why do we see this behaviour?
Increase Instance Count
New Instance added by Fabric
Instance goes through OnStart!
24. Fluent Diagnostics Allows you to use programmatic approach still
Uses Marker XML
Prevents further updates for a deployment
25. Diagnostics Lifecycle
26. How to view Diagnostics Raw in Tables, as shown before.
Cerebrata Azure Diagnostics Manager
27. Q&A Many thanks.
Check out my blog: http://blog.bareweb.eu
Questions and Answers session