Reading Performance counters from Azure Cloud Service - Load Test - azure

I try to create a load test for a Azure hosted Web Service, but I am not able to connect to the Azure Cloud Service in order to collect the counters.
How can we connect to Azure cloud service from local machine or from any machine ?
I have tried to use the cloud service name, the VIP, but no luck.
Error: Cannot read counters from the machine 'xyz'.
Note: I am able to do RDC to the same cloud service.

If you would like to get performance counters from the machines you could configure Application Insights on your roles and collect them as part of your cloud load test.
http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/07/get-application-performance-data-during-load-runs-with-visual-studio-online.aspx
This link would give you an idea on how to do it.
Let me know if you have more queries. Above link should also help you in getting help from the product team.
Thanks!
Ranga

Just came across this question -
this can be done by configuring the IP addresses of the Virtual machine instances of your webservice (webrole / worker role) - in the load test's performance counter collection section. Your load test controller would have to be in the same subnet as of your application as well. This will help collect all perfmon data (including application's custom performance counters).

Related

What is the best way to monitor services/applications running on Azure Virtual machines

i.e. I'm looking for a way to constantly monitor my virtual machines on Azure and check if specific services (database, application) in the vm are up and running. I also want to be alerted (email) when those services are down. Since the services running on the vm are not publicly available, I am looking for a solution that will monitor their status and report from inside the vms (if that is possible).
I am open to any suggestions.
Thanks in advance
You can integrate with Azure Monitor to collect various metrics related to the application as well as database and use alerts to send notifications.

Azure Advisor - Virtual Machine Scale Sets

Out of the box, Azure Advisor includes Cost recommendations for the resource type of Virtual Machines, based on resource utilization.
If I look at them under our subscription they have the following information:
Is there any way to get similar advisory for the Virtual Machine Scale Set resource type? Is there any included out of the box?
Or if I want to get average resource consumption, of let's say CPU percentage of all or individual Virtual Machine instances inside of a Virtual Machine Scale set, to be able to aid in the decision if the SKU of the Virtual Machine Scale Set is appropriate, I need to make a query for this inside of Monitor Logs or similar?
Could one create their own custom made advisories (inside of Azure Advisor, if not - anywhere else?), to get this functionaltiy in place (if it isn't already provided)?
Thanks!
Is there any way to get similar advisory for the Virtual Machine Scale Set resource type? Is there any included out of the box?
As per the Azure Advisor documentation, Advisor provides recommendations for the following resource types:
Application Gateway, App Services, availability sets, Azure Cache, Azure Data Factory, Azure Database for MySQL, Azure Database for PostgreSQL, Azure Database for MariaDB, Azure ExpressRoute, Azure Cosmos DB, Azure public IP addresses, Azure Synapse Analytics, SQL servers, storage accounts, Traffic Manager profiles, and Virtual machines.
Although Azure Advisor also includes your recommendations from Azure Security Center which may include recommendations for additional resource types, this list does not cover cost recommendations for VMSS as of today, AFAIK.
I need to make a query for this inside of Monitor Logs or similar?
To monitor your Virtual machine Scale sets, you can leverage Azure Monitor. The performance views in the VM Insights feature are powered using log analytics queries, offering “Top N”, aggregate, and list views to quickly find outliers or issues in your scale set based on guest level metrics for CPU, available memory, bytes sent and received, and logical disk space used.
You can also deploy the Azure Monitor Application Insights Agent on Azure virtual machine scale sets to enable monitoring for your .NET or Java based web applications and get all the benefits of using Application Insights without modifying your code.
Could one create their own custom made advisories (inside of Azure Advisor, if not - anywhere else?), to get this functionaltiy in place (if it isn't already provided)?
Nope, that is not doable as of today. Azure Advisor is a managed offering that analyzes your resource configuration and usage telemetry and then recommends solutions that can help you optimize your Azure resources. Feel free to share your feedback and ideas here for the Advisor team to evaluate and prioritize.

How to generate an alert if deployment becomes 'Unhealthy' in Azure Machine Learning?

I deployed an Azure Machine Learning model to AKS, and would like to know how to set an alert if the deployment status changes to any value other than 'Healhty'. I looked at the monitoring metrics in the workspace, but it looks like they are more related to the training process (Model and Run) and Quotas. Please let me know if you have any suggestions
Thanks!
Aazure Machine Learning does not provide a way to continuously monitor the health of your webservice and generate alerts.
You can set up this fairly easily using Application Insights(AML Workspace comes with a provisioned Application Insights).
You can monitor the webservice scoring endpoint using URL ping or web test in App Insights.

Azure architecture design for a load-balanced environment

I'm new to Azure, and a little confused about cloud services.
I'm making a Testing Environment that consist of multiple instances (of the same VM) where each instance has a REST API server (Consisting of 2 API functions: GetResults, SendFileForTesting) and a load-balancer that distributes the requests upon the VMs.
In each VM there is also a worker that processes the received files and saves the results in a shared DB.
The goal is, for the file processing to be distributed on the available VMs and the results to be saved in a shared place (So that the "GetResults" request would send all of the results to the client)
This is how it looks:
[LoadBalancer]
|
[Multiple VM nodes] - (API: GetResult, SendFileForTesting)
|
[Shared Result DB]
The question is, what is the best way to deploy this on azure?
Right now, I'm trying to create a load-balancer that has 3 clones of the same VM with the same REST API server and another VM that holds the shared DB.
Is there a better way to do this?
Thanks
In my opinion, I think VMSS is the best way to deploy it.
First, create two Azure VM, one is shared DB, another one is API server. configure API server to connect to shared DB. then capture this VM. After capture completed, we can use template to deploy a VM scale set with this image.
More information about create custom image, please refer to this link.
More information about use template to create VMSS with custom image, please refer to this link.
(this template LB rules is port 80, if you need more ports, please edit this template)

How to Read VM monitoring data from Azure site?

There is no Management API for reading azure monitoring data. Is there any way other than getting the monitoring data directly from a VM through remote desktop connection? We basically want to display a chart for "CPU usage percentage Vs. Time”. Actually, Azure site displays monitoring data for each VM-is there any way I can read that data and display it in a report? Any PowerShell cmdlets?
Suggested good related articles:
How to monitor Cloud Services
Enabling Diagnostics in Windows Azure
If you, however refer to Windows Azure Virtual Machines then you have to organize monitoring of these a similar way you would organize a monitoring over machines in private cloud (hyper-v)
You can fetch the CPU data for cloud services (Web/workers and VMs) through the Azure Metrics API, see: https://convective.wordpress.com/2014/06/22/using-azure-monitoring-service-with-azure-virtual-machines/
You can find example code in https://github.com/WadGraphEs/AzurePlot

Resources