How to Read VM monitoring data from Azure site? - azure

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

Related

VM availibilty report in azure

Azure availability report is based on the number of heartbeat alert generated in log analytics workspace. Therefore, low availability in the report doesn't really mean that a VM was unavailable due to issues in a given month. It could be different reasons eg. was switched off/deallocated or only created in the last few days in a given month etc.
any logic to improve this any KQL or new azure solution.
Have you gone through looking for VM insights, does that provide you the information you required?
VM insights can help deliver predictable performance and availability of vital applications by identifying performance bottlenecks and network issues and can also help you understand whether an issue is related to other dependencies.
You can create a dashboard with different possible options of kusto queries that depend on what you are looking for.
Here are the few other examples of Kusto Query
https://learn.microsoft.com/en-us/azure/azure-monitor/logs/examples
https://learn.microsoft.com/en-us/azure/azure-monitor/insights/solution-agenthealth#sample-log-searches
You can even have these additional readings of all possible ways of the information you required.
Visualizing data from Azure Monitor
Monitoring Azure virtual machines with Azure Monitor
Create and share dashboards of Log Analytics data
Quickstart: Monitor an Azure virtual machine with Azure Monitor
Collect data from an Azure virtual machine with Azure Monitor
Overview of VM insights

Azure monitor external systems

I want to monitor external systems using azure monitor. Is it possible?
For example, I have on-prem Linux server with mysql DB, can I monitor the server and its DB like availability, errors,...?
Firstly, you can use “Azure Monitor agent” that is explained here. Would recommend you to use Azure Monitor Log Analytics agent as instructed here. The reason for it is “Azure Monitor Agent” as informed in this section, currently only Azure VMs are supported and on-premises VMs, virtual machine scale sets, Arc for Servers, Azure Kubernetes Service, and other compute resource types are currently not supported.
Next, If you have “Azure Monitor Log Analytics agent on Windows machine” then you may have to check below things:
As explained here, Change Tracking and Inventory requires linking a Log Analytics workspace to your Automation account so I recommend you to double check it. For a definitive list of supported regions, see Azure Workspace mappings. The region mappings don't affect the ability to manage VMs in a separate region from your Automation account.
Follow this troubleshooting steps in your case (i.e., if you don't see any Change Tracking and Inventory results for Windows machines that have been enabled for the feature).
As mentioned here, note that currently Change Tracking and Inventory currently is experiencing the following issue w.r.t Windows environment: Hotfix updates aren't collected on Windows Server 2016 Core RS3 machines.

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.

Is Azure AppFabric is equivalent to AWS?

I want to know whether AppFabric in Windows Azure is equivalent to Amazon Web Services (AWS)? I also want to know tool that provides monitoring for cloud resources in azure. Are we able to take snapshot in widows azure? How can we do it? Is there any load-balancing tool in azure?
I believe Amazon AWS is equivalent to Windows Azure Platform as both of them are cloud computing platform. To the best of my knowledge, here is the correlation between different components of AWS and Azure:
Amazon EC2 ~ Windows Azure Compute
Amazon S3 ~ Azure Blob Storage
Amazon SDB ~ Azure Table Storage (Non relational/EAV based data store)
Amazon SQS ~ Azure Queues
Amazon RDS ~ SQL Azure
Amazon Cloud Front ~ Windows Azure CDN
Amazon VPC ~ Windows Azure Connect (currently in beta)
I want to know whether AppFabric in Windows Azure is equivalent to Amazon Web Services (AWS)?
Read Introducing Amazon Web Services to a Windows Azure developer, shows a comparison.
Is there any load-balancing tool in azure?
Azure has load balancing built in hence its easy scaling. You don't have to do something for that yourself.
With respect to monitoring and load balancing tools.
If you want to gain visibility into your performance statistics, error logs, trace logs, failed requests, etc. the best tool to date is Cerebrata's Diagnostics manager at http://www.cerebrata.com
With respect to load balancing - Windows Azure will automatically load-balance between existing provisioned instances for you.
HOWEVER, Azure will not automatically scale up/down its instances for you to meet demand or when there is downtiem. This you will either have to code yourself or use a third party service called AzureWatch at http://www.paraleap.com, AzureWatch will also provide reporting and charts on performance counters but does not currently do anything for error logs, trace logs, etc. AzureWatch is similar to CloudWatch from Amazon
Hope this helps

Resources