Azure Web Application Insights "Servers" Data is Empty - azure

I have a MVC 5 web app hosted on Azure using Application Insights. App Insights was installed via a NugGet package in VS 2015 and the Key is set correctly. I have included the JS portion in the bottom of my page template. I am receiving ALL App Insight data EXCEPT the "Servers" section, which displays lower level perfmon data (Process CPU, Avail, Memory, Process IO Rate, etc).
The ApplicationInsights.config file appears to contain the necessary module:
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector">
Here is a screenshot from the Portal:
I am running this on the B1 App Service Plan level. I cannot find any information that could indicate this information is not available at this tier.

In the Performance Counters section of the "Install Application Insights Status Monitor to monitor website performance" article they sneak in a "Not for Azure web apps" comment.
I believe they are making a distinction between Performance Telemetry, which you can get for web apps, and Server Performance Counters, which you cannot.

Take a look here. This is a custom solution, not from AI team, but it does the right thing - the account of the application pool on the box should have access to Performance Monitor to be able to read Performance Counter values and report them to AI.

Related

Why Application insight not showing Failed requests, Server response time, Server requests and Availability?

I have two project Web app and Web API. I have integrated application insight to them simply by right-click on my project and choosing option configure application insight. I can see my live metrics working fine but in the Overview page I don't see any movement in graphs. I have attached the screenshot of the not-working-graph.
I just noticed that when i am integrating application normally as stated above then its working fine but when i am trying to change the application insight by changing the key of application insight at specific location then the issue is creating. Can anyone help me why its working differently just by changing the application key?
In general, The Instrumentation Key is the bridge that binds your application to Application Insights through which you monitor all the changes that occur in your application.
Instrumentation Key is the key integration point between your application and the Application Insights. If you create the Application Insights directly using Visual Studio; Visual Studio takes care of linking between your application and the key.
So changing the Instrumentation key from Application insights can make the live metrics work differently since the link is broken. If you are trying to add another resource's i.e., Application insights' instrumentation key (depending upon your business requirement), then you can see that the metrics get logged in that resource.
REFERENCES: ABHIJIT JANA - Instrumentation key in application insights

What type of Azure App service to host net core console application?

I have a long running console application, using while(true)... structure
It implemented by using Net Core
What type of Azure App Service I should create to host that application ?
Decision tree for Azure compute services
Azure offers a number of ways to host your application code. The term compute refers to the hosting model for the computing resources that your application runs on. The following flowchart will help you to choose a compute service for your application. The flowchart guides you through a set of key decision criteria to reach a recommendation.
Treat this flowchart as a starting point. Every application has unique requirements, so use the recommendation as a starting point. Then perform a more detailed evaluation, looking at aspects such as:
Feature set
Service limits
Cost
SLA
Regional availability
Developer ecosystem and team skills
Compute comparison tables
I recommend reading this guide afterwards
Criteria for choosing an Azure compute service
Another great entry point for developers concerned with a similar question
.NET application architecture
You have to use "Azure App Service as a WebJob"
To deploy the .NET Core console application to an Azure App Service Web App Web Job access the Azure portal and navigate to the Azure App Service where you will host the WebJob.
Clicking on the Add button renders the blade
Once the WebJob is successfuly uploaded, it will render in the WebJob blade. Click on it and you will see the Run button. As this WebJob is a manually triggered job, you must click on the Run button in order for the job logic within the .NET Core console application to run.
After starting the .NET Core WebJob, click on the Logs link and a new browser tab is opened and you can see the most current state of the WebJob

Monitoring the Azure app services

I was wondering if someone can shed some lights on the application monitoring and alerting solution that's being used to specifically monitor the Azure app service. We have multiple API apps running on App service service and we would like to monitor certain metrics (ex: Availability, response time, number of request received, etc). I enabled the application insight on each of these apps and the result is quite promising, it fulfills all my requirement, but there's one small issue: I need to scroll through each app to see their performance. I can't aggregate them all in one space. I would like to create a centralized dashboard for all aforementioned metrics and have them displayed. I tried using OMS but it seems to be lacking a lot of functionality.
Any pointer would be very appreciated.
I wrote recently about it on our blog: http://predica.pl/blog/azure-monitoring-and-auditing/ - you will find link to MS documentation also there.
If you are using App Insights already you should be able to pick things from App Insights and put it on the Azure portal dashboard. Other than that probably getting data into Power Bi application insight is your best shot - https://powerbi.microsoft.com/en-us/documentation/powerbi-content-pack-application-insights/

Why you can't you monitor "Http Request Execution time", "Http Request Rate and "Http requests in execution queue" from application insights?

I'm trying to setup Azure Application Insights to monitor the performance counters for the following metrics for an ASP.NET Core Web App and Web API hosted in Azure App Services:
HTTP request execution time
HTTP request rate
HTTP request in execution queue
I'm fairly sure Application Insights is configured properly since I can see other metrics showing up in the portal. Is there some reason these particular metrics don't seem show up? I've even tried taking one of the default ASP.NET Core templates and deploying with Application Insights and I'm still not seeing these counters update. Are these counter's just not available for applications hosted in Azure or for ASP.NET Core applications? I did try the latest Web App template that comes with VS 2017 Update 2.
These are available, but they're tucked away. To add them, do the following:
Navigate to your AppInsights Overview blade. Click on the Metrics Explorer button.
On the Metrics Explorer blade, click the Edit link to add additional metrics.
On the Metrics blade, expand the Performance Counter node. You'll see the three you're looking for there.
When you say other metrics do show up - which ones specifically you mean?
The metrics you mentioned (HTTP requests,...) are collected by the Microsoft.ApplicationInsights.PerfCounterCollector module of the SDK, and this module is available only if you are running the .net core app against full framework.

How to see Azure App Service memory usage?

We have an Azure subscription through a Cloud Service Provider (CSP), which causes some limitations on what we can get and see in Azure. Nevertheless, we can see CPU and Memory usage per App Service Plan.
How can we see the same for specific App Services under the plan?
If I see abnormal CPU/memory utilization for the plan, how can I tell which App Service is causing it?
You can check this under any Site -> scroll down to the "Metrics (App Service Plan)" option. There you will be able to see the metrics across all sites which are in the plan and filter the data the way you want:
Update 2018-12-04
Check other answers for more updated information, since the experience evolve and change over time. And stop down voting just because you came 2 years later.
I will not include the current solution/screenshots here, because it will be unfair to the other contributors. And I cannot delete this answer as it is accepted one (because it was correct by the time asked and answered).
Go to any site (app) that's part of the App Service Plan
Click on 'Diagnose and Solve Problems'
In the screen that opens, click 'Metrics (App Service Plan)'.
For an App Service it's currently under:
Go to any site (app) that's part of the App Service Plan
Click on "Diagnose and Solve Problems"
Click on Performance Counters (on the right side of the screen)
Check e.g. the "Average Memory Working Set" checkbox

Resources