I am trying the read the performance metrics of vms in the azure cloud using the rest api. As per the this link ( azure documentation ) http://www.windowsazure.com/en-us/documentation/articles/cloud-services-how-to-monitor/#accessverbose
but when i try to fetch the tables that are available for a particular from a storage account i am not getting empty table list.
Please correct me what the ways we can capture vm performance metrics using the rest api to integrate with 3rd party system management providers.
Related
I am reaching out to you gather best practices around ingestion of data from various possible API's into a Blob Storage. I am considering to interface with all the various possible API's using Data Factory and here are the possible set of API's which I have currently:
Ingesting from an API service within the same Resource Group in Azure Cloud
Ingesting from an API service from a different resource group but within the same Azure subscription
Ingestion from an API service from a different Azure Subscription / VNET
Ingestion from an API service available publicly such as Twitter, Facebook
Ingestion from an API service which is available on-premises
Any other possible API services
My questions around the above API services are:
a) What are the specific security related settings I need to take care in order to interface with the above API's (Managed Identity, Service Principal etc.)
b) When to use which security setting ?
c) Along with Azure Data Factory, is there any other Azure service which can be leveraged for the above ingestion from the API's
d) What are the specifics of Runtimes / Linked services which I should be taking care about e) Any specifics around AAD resource and Authentication type
Just wanted to add that for #5 , you will have to use SHIR ( Self hosted IR ) . Please read about this here .
for c) Along with Azure Data Factory, is there any other Azure service which can be leveraged for the above ingestion from the API's
Logic Apps has connectors backed in for many existing API's
I want to view logs in azure, I mean logs that I have in the console in localhost where I can find them in web site deployed in azure? I am consuming an external API and I want to see what I send and what I received from the prod env
thank you
There are couple of ways to track logs in Azure
Azure API Management
Azure Monitor
Azure API Management helps you track all kinds of requests including
View activity logs
View resource logs
View metrics of your API
Set up an alert rule when your API gets unauthorized calls
Azure Monitor on the other hand helps it possible to programmatically retrieve the available default metric definitions, granularity, and metric values.
The data can be saved in a separate data store such as Azure SQL Database, Azure Cosmos DB, or Azure Data Lake. From there additional analysis can be performed as needed.
Does anyone know if there is a cost associated to the Azure API egress calls. We are calling the Azure API from external sources outside azure to extract data from the Azure resources. Wanted to know if there would be a cost of pulling the data from Azure via API.
We are not using Azure API management, this is a custom solution which is pulling data from Azure.
Thanks very much for the help.
Cheers
I was monitoring microsoft.compute using a REST API Client and I was hoping that I could do the same for microsoft.storage. But unfortunately I get an error response while trying to do so
{
"code": "ResourceNotSupported",
"message": "Resource provider not supported: microsoft.storage"
}
The Rest API call I make is something similar to this
https://management.azure.com/subscriptions/xxxxxxxx/resourceGroups/xxxxx/providers/Microsoft.Storage/storageAccounts/xxxxx/providers/microsoft.insights/metricdefinitions?api-version=2016-03-01
Is there any way to get storage metrics from a REST API client?
Storage metrics are stored in a table called $MetricsTransactionsBlob. You will need to use the data plane APIs described in this link.
Simply you will need to access and query the table at https://<accountname>.table.core.windows.net/Tables("$MetricsTransactionsBlob")
There is no Azure Insights for Azure storage. You can use Storage analytics to get at the monitoring data that's stored in associated Table storage of the monitored account, but this will fail for Blob and Premium storage accounts. This is a big oversight from the Azure API perspective. For Standard Azure storage, you can get at the metric tables via the link that #Sercan provided.
If you're trying to monitor utilization of your VM disks on Premium or Blob accounts, you can use Physical Disk performance counters on the actual VMs to measure the throughput, IO requests, etc. This is what we advise our CloudMonix users do when they have this need.
I'm trying to monitor all our resources in a single place and after reading the msdn pages on monitoring web apps and cloud services and azure sql databases i can't seem to understand how to query azure (thorugh the SDK or powershell) to give me the same data i can see in the azure monitoring page.
is there some programattic way to get this data?
I'm afraid there isn't an easy answer to this. There isn't one API where you can fetch all the data: it's mostly service specific.
A couple of pointers:
Metrics for web sites, web/worker roles and VMs can be accessed through the metrics API. See here: https://convective.wordpress.com/2014/06/22/using-azure-monitoring-service-with-azure-virtual-machines/
Metrics for SQL Database are available through the sys.resource_stats and sys.dm_db_resource_stats DMVs.
Windows Azure Diagnostics (for web/worker roles) performance counters can be fetched though the table storage API, in the wadperformancecounterstable table.
There are probably API's for other services as well. I've built a tool myself that fetches data from a couple of these services, and can both plot it and expose it through a unified API, see: https://github.com/WadGraphEs/AzurePlot