问题
I am trying to build a programmatic management console for Azure to give stats and analytics for Hosted Service, Storage Service giving info about Health, load, threads for Hosted service and Number of hits etc. for table and blobs.
Questions
- Is Service Management API the solution for it?
- Any other alternative available other than Service Management API...?
- What are the details I can get out of the API?
- Is there any security requirement acting like an hurdle ?
回答1:
It depends on what sort of information you're trying to capture for your service. If you are only concerned with performance counters (which are likely to provide majority of your metrics), WADPerformanceCountersTable is your key table to analyze.
If you are looking to get at the Busy/Running/etc. statuses of instances, Service Management API is your API to use. It will not provide you a lot of information however. Pretty much the status of each instance is all you get.
If you're looking to use out-of-a-box solution that will send alerts based upon these metrics (perf. counters, queue sizes, and instance statuses) as well as provide auto-scaling, check out AzureWatch at http://www.paraleap.com
HTH
回答2:
You can use the service management API to to make changes to your running instances e.g. increase the number of instances, change configuration (basically what you can do through the Azure Portal), but at the moment it doesn't give you any information about how your application is running. This is because the definition of load will vary from application to application.
If you want to monitor how your application is running, you will have to decide what you want to monitor and then instrument it yourself.
If you want to use performance counters than you can use the DiagnosticMonitor
class to store them to Table Storage which you can read from. Another option would be to send performance counter data out from each instance on the service bus and monitor these messages.
There are, however, lots of things that you want to monitor that isn't catered for. If you want to look at the number of reads/writes to a queue for example, this is something that you would have to write yourself.
来源:https://stackoverflow.com/questions/5569753/azure-monitoring-and-using-service-management-apis