Viewing web app logs stored in Azure blob storage - azure

I have created a .Net Core 1.1 web app and hosted it in Azure with the logging concepts covered briefly in https://blogs.msdn.microsoft.com/webdev/2016/10/25/announcing-asp-net-core-1-1-preview-1/
I have then setup logs to write to an Azure blob storage which I can see working, however from what I can see, the only way to actually view these logs are by downloading individual files.
Is there a way to see all of these logs in a stream with date filtering etc or how to feed that data into a different Azure application that could provide a usable GUI like Kibana?

Is there a way to see all of these logs in a stream with date filtering etc or how to feed that data into a different Azure application that could provide a usable GUI like Kibana?
The log file is grouped by date. If you want to view the log online, you could install a web site extension named Azure Web Site Logs Browser which could allow us to view all the logs(from blobs service and file system). You can also fork this project from GitHub and apply your own query on logs.
Steps to add Azure Web Site Logs Browser extension.
Azure portal -> Open your Web App -> Choose [Extensions] menu-> Click [Add] link-> Choose the extension you want to add.

If you have enabled 'Application logging' under 'App service -> Diagnostics logs', you will be able to view real-time log information under 'App server -> Log Stream'.
For GUI filtering capabilities, checkout Azure OMS Log Analytics. It can do comprehensive log filtering and analytics.
For application specific details, you can check 'Application Insights'.
Hope that helps,
Mihir

Microsoft have a desktop application to show the contents of various Azure storage containers. It is called the Azure Storage Explorer

Related

How to view errors for WebApp in Azure portal and what configuration it is required

I am working on the ASP.Net MVC 4.8 application. It does have Logs file log4net and it was deployed in on-premises. Now it has been migrated to Azure. Now I am trying to find out some errors and other logs information however I am not able to find where to go and look for the logfile. I have two interest, 1 check the error messages and any log information.
If I need to make some changes what would be the easiest and straightforward way to capture logs and view them in Azure portal. As you can see in the picture below unter Monitoring there are many ways are given to see the logs but I am not sure where to go.
The app service will create an application insights of the same name.
This application Insights will contain all the logs regarding the web app along with performance data and other telemetry data too.
You can view logs live under live metrics tab in application insights of the same name as web app .
Here I have deployed a simple mvc app which logs using Ilogger (typical boilerplate app which visual studio provides ) . IT will log once I refresh the page.
Refer these MS DOCS on application insights

Dashboards on custom application using application insights

We have a lot of applications that throws custom logs to application insights. I would like to make a dashboard where I can see if each application is running or throwing exceptions etc. I have tried looking around in log analytics and it does not seem to have a connector to Application insights. Can anyone provide with some information to start on? Should I use Monitor, Log Analytics or Sentinel for this task and how do you get started with custom application insights logs.
Application Insights is part of Azure Monitor. When creating a new App Insights resource you can now choose to store everything in an Azure Log Analytics Workspace, see the docs. Or you can migrate your existing resource to a workspace backed resource.
Then you can use workbooks to visualize data using interactive workbooks. These workbooks are also available to classic App Insights resources however.
There is also the possibilty to query an App Insights resource in any Log Analytics Workspace by using the app expression like this:
app("name-of-your-ai-resource").requests
| order by timestamp desc
| project timestamp, url, resultCode
and use those results for visualizations.
Finally you can also use the rich capabilities of Power Bi to create interactive reposts, see the docs

Error setting up Azure Function within Azure Resource under Log Analytics Workspace

I have error setting up Azure Function within Azure Resource under Log Analytics Workspace.
When only AllMetrics is checked, it works. But whenever FunctionExecutionLogs is checked, error occurs like below:
1.Nav to your log analytics workspace in azure portal.
2.in the left blade, select Workspace Data Sources -> Azure Resources, then click your azure function there.
Check FunctionExecutionLogs and error occurs.
Any idea?
Setup data used by Azure Log Analytics with Azure Fucntions
Update
We would like to understand more on Application InSights and Log Analytics, and use the best tool for us.
'FunctionExecutionLogs' for azure function/web app in azure log analytics will not be supported any more.
So application insights is a better choice for monitoring azure function.
The following is the feedback from MS log analytics team:
Several months ago, App Service/Functions team on-boarded to Azure Monitor diagnostic logs but they don't actually emit log data.
Basically there are thousands of diagnostic setting registrations which are no-ops and don't actually do anything.
Recently in the past few weeks, we've been in discussion with App Service to release this feature in the next few weeks as a private preview feature.
This unfortunately is a breaking change as only private preview customers can turn on diagnostic logs for App Service.
Please note -- There is no actual customer impact as whatever customers turned on previously never worked to begin with.
To fix the deployment script, we should ask customers to update their template to only turn on metric export and not logs --- this won't have any actual customer impact.
So, from our Log Analytics side, this is a scenario we are not support from our Log Analytics team which has declared by our Production Group any more.
I would recommend using Application insight with Azure Functions. Application insights has deeper integration with Azure Functions and is the recommended way of setting up Analytics for your app. Is there a specific reason you want to setup through Log Analytics instead of Application Insights?
Now, almost 2 years later, Classic Application Insights is deprecated (apparently it will be retired around Feb '24). The recommended way to set this up is to
Create a log analytics workspace
Create an application insights resource that has it's workspace id set to the LA workspace created in the previous step
Your functions will still be configured to log to app insights but that has its datastorage now backed by the LA workspace instead of bringing its own.
You can migrate existing app insights to link to a LA workspace - apparently this migration is not reversible but it should be transparent from your function point of view (i.e. the app insights connection doesn't change). Details can be found here: https://learn.microsoft.com/en-nz/azure/azure-monitor/app/convert-classic-resource

Web service migration from Local IIS to Azure

I Used Azure Website Migration Assistance to migrate my web service that was running on my Local VM's IIS. My Migration process was successful and also I was able to use this web service. But I can't find where to find the migrated source code in azure portal. All I can see is some 20Mb of data in on the dashboard graph of azure portal. If I need to changed some of my code where to do this?
What is on the Azure Web App should now match what was on your IIS server. Now, to update the web app, you can use the deployment techniques here: https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/
The simplest method to deploy to check what content is on your web app would be to use the SCM site. This is available at: https://your-site-name.scm.azurewebsites.net. Go to Debug Console > CMD and then the site > wwwroot folder to see your web app content. You can also upload to the site via drag and drop.
Alternatively, you can download the publishing settings for your web app via the portal and then re-use the migration tool, select the site, and then upload the publishing settings. However I would suggest using the deployment techniques above first. (Disclaimer: I wrote the migration tool.)
There are multiple ways to push changes to your Azure Website/Web App. They are listed here: https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/
One simple way is to use an FTP client like FileZilla. In the classic portal, you will find the FTP address (hostname) and the credentials in the dashboard tab. In the new portal, select your Web App and the FTP address will be displayed in the Essentials section at the top of the page. Click on Settings and Deployment credentials to set your FTP user password.
Another simple alternative is to use Dropbox. Take a look at this video for how to set instructions: https://channel9.msdn.com/Series/Windows-Azure-Web-Sites-Tutorials/Dropbox-Deployment-to-Windows-Azure-Web-Sites

Diagnostics to find out why Azure Web Role doesn't start

I am trying to deploy a large web site to Azure as a Web Role. However, Azure on the Instances tab of the Azure dashboard, it tells me it suffers an error during start up, causing it to restart over and over again.
Where can I find log files that will tell me what specifically is going wrong? The manage.windowsazure.com site doesn't seem to have any.
First, debug on your dev machine. Make sure you deployed the right .cscfg file, you don't have any broken connection strings, you're referencing the right version of the DLLs (the same as Azure's VMs) or are copying newer versions to Azure. If those fail, read this topic on WindowsAzure.com and the topics in this node on MSDN. The Hello World code sample also has a basic demonstration of diagnostics that should be helpful.
The basics of diagnostics in Windows Azure:
Must be manually enabled for each role by importing the Diagnostics module in your ServiceDefinition.csdef file
A storage location needs to be configured for the resulting logs in your ServiceConfiguration.cscfg file, such as the storage emulator, or a Windows Azure Storage account. Depending on the types of logs, they are stored in either blobs or tables.
You can either configure diagnostics collection programmatically or with a file that is read when your role starts and can be updated on-the-fly
You can set up and control how often diagnostics data is downloaded to your storage account (important because transactions/transfer/storage costs money), performance counters, or other metrics you need
There are a series of 4 blog posts at http://blogs.msdn.com/b/kwill/archive/2013/08/09/windows-azure-paas-compute-diagnostics-data.aspx which will walk you through step by step how to troubleshoot a role startup failure including log file locations, etc.

Resources