How to add logs in log analytics in azure logic apps? - azure

I am following this tutorial and I am also able to add the logic app logs into azure log analytics but the problem is that logic analytics for logic apps is still in preview mode.
https://learn.microsoft.com/en-us/azure/logic-apps/monitor-logic-apps-log-analytics
I have few question regarding this.
should I use it for logging as it is still in preview mode.
If not what other options do I have to logs data in azure monitor?

Preview mode is mode where full-fledged features are not available. This type of modes is provided to give feedbacks to improve it better.
If you ask me about to use it or not, I usually use it and i get desired results, and it works fine for me Example-Reference.
The other way I monitor logs is by using below process:
So firstly, I send logs to Log analytics workspace and then, I created another logic apps and get logs by below process:
Another way is this to log Logs of Azure Logic Apps.

Related

Where to find throttled events of Logic App in Azure Portal?

I wanted to monitor Azure Logic Apps with the help of Azure Monitor alerts. In alerts, I came across a metric Run Throttled events which is showing some numbers in recent days. But I couldn't find any events anywhere to resolve the issue. Is it possible view the actual run throttled events in Azure Portal?
You will need to setup diagnostic logging for Logic Apps, see here.
When you are done with the setup and initial run through of logs and if interested you want to look at more advanced queries via this logs data then go here.
Specifically on throttling you need to see this. Also take a look at limits set for Logic Apps from here as well.

Preferred way of logging in nodejs deployed to Azure App Services

I have created nodejs Web API, hosted as Azure App Service.
What would be the best way to log errors/info/debug/warning?
We're using Azure Log Analytics with some custom node-winston middleware that sends an async request out to the ALA REST service. However, there is a bit of a lag between the event being sent from our node Web App and it appearing in the ALA dashboard so although it will be good for monitoring a production environment it's not great for rapid debugging or testing.
If you just write to console.log then everything does get stored in a log file that you can access through the Kudu console. Kudu also has the ability to do a live tail of the console, as does the azure command line interface. Because of this we're debugging using those and leaving ALA for the future.
Once we figure out what the pattern is for those logs being written (i.e. filename/size/time/etc.) we'll drop a scheduled Azure Function in to regularly archive those logs into cold blob storage.
I'll also add that according to the Twelve Factor App in XI they recommend writing logs to stdout, which is what console.log does. I always take these opinionated frameworks/methodologies as guidance and not strict rules, but at these seem to be grounded in reality and will at the very least spawn some interesting discussions among your team.
As you're using Azure, I would recommend the Application Insights:
https://learn.microsoft.com/en-us/azure/application-insights/app-insights-nodejs

Azure Appinsights vs Log Analytics

Currently I am logging my custom log messages to an Azure Table.
Now I need to automatically trigger the sending of emails based on log types and also need to generate an analysis report from the log messages.
Which service is more suitable to get this done? Azure Application Insights or Azure Log Analytics?
I think Application Insights will fit both - creating reports as well as sending out emails. You can do the same with Log Snalytics but the difference is, is that Log Analytics is basically a logical storage of all your log data and you can create custom reports, alerts etc. across many different services, also, everything can be nicely visualized in OMS.
As being said in the comments, you need to describe a bit more about the scenario.

Is there any other method for exporting data from Microsoft Application Insight other than 'Continuous Export'?

Is there any other method for exporting data from Microsoft Application Insight other than 'Continuous Export' ?
Any server side API for Application Insight for our resource on Azure that can be consumed.
No, Continuous Export is the only supported way at this time. Please continue checking Application Insights blog from time to time for new feature announcements.
If you are using Azure app service & using any logging then,
First, go to Azure portal then go inside your specific app service which logs you want to export continuously.
Then see the menu, there you find "Diagnostics logs", go inside the "Diagnostics logs".
Here you find "Application Logging (Blob)", make it on (by default it's off) and add your storage at storage settings.
Here you also find log level and Retention Period. Change it with your convenient value.
Yes, You can use API to export the data from Azure Application Insights. https://dev.applicationinsights.io/
There are some limitation:
https://dev.applicationinsights.io/documentation/Authorization/Rate-limits
https://learn.microsoft.com/en-us/azure/data-explorer/kusto/concepts/querylimits
To overcome the limitation,I wrote a python script to export the data by limiting the data.
https://gist.github.com/satheeshpayoda/92065d9fbaf5b0158728a8537d79af0e

is azure diagnostics only available through code?

Is Azure diagnostics only implemented through code? Windows has the Event Viewer where various types of information can be accessed. ASP.Net websites have a Trace.axd file at the root that can viewed for trace information.
I was thinking that something similar might exist in Azure. However, based on the following url, Azure Diagnostics appears to require a custom code implementation:
https://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-diagnostics/#overview
Is there an easier, more built-in way to access Azure diagnostics like I described for other systems above? Or does a custom Worker role need to be created to capture and process this information?
Azure Worker Roles have extensive diagnostics that you can configure up.
You get to them via the Role configuration:
Then, through the various tabs, you can configure up specific types of diagnostics and have them periodically transferred to a Table Storage account for later analysis.
You can also enable a transfer of application specific logs, which is handy and something that I use to avoid having to remote into the service to view logs:
(here, I transfer all files under the AppRoot\logs folder to a blob container named wad-processor-logs, and do so every minute.)
If you go through the tabs, you will find that you have the ability to extensively monitor quite a bit of detail, including custom Performance Counters.
Finally, you can also connect to your cloud service via the Server Explorer, and dig into the same information:
Right-click on the instance, and select View Diagnostics Data.
(a recent deployment, so not much to see)
So, yes, you can get access to Event Logs, IIS Logs and custom application logs without writing custom code. Additionally, you can implement custom code to capture additional Performance Counters and other trace logging if you wish.
"Azure diagnostics" is a bit vague since there are a variety of services in Azure, each with potentially different diagnostic experiences. The article you linked to talks about Cloud Services, but are you restricted to using Cloud Services?
Another popular option is Azure App Service, which allows you many more options for capturing logs, including streaming them, etc. Here is an article which goes into more details: https://azure.microsoft.com/en-us/documentation/articles/web-sites-enable-diagnostic-log/

Resources