Azure Web Job logs - azure

I want to check my WebJob app.
I am sending a queue message to 'blobsaddressqueueu' queue.
After few seconds the message disappears from the queue - means that it triggered the WebJob app.
Then I see the message in 'blobsaddressqueueu-poison' - means that something went wrong in the process.
When I go to Log Stream (after I turn it on) under ParseMatanDataWebJob20170214032408, I do not see any changes and the only message I get in Log Stream is 'No new trace in the past 1 min(s)' and so on.
What am I doing wrong?
All I want to do is check the csv file (the queue message directs the webJob to the blob container with the csv file), and check the process when the csv file is read by WebJob so I will figure out why it goes to poison.

I do not see any changes and the only message I get in Log Stream is
'No new trace in the past 1 min(s)' and so on.
Maybe you could change your Logging Level in diagnostics logs, and if your level is right and you could not see the logs you could go to D:\home\LogFiles\SiteExtensions\Kudu in Kudu to check the detailed log file.
For you I suggest checking the running logs, you could get it in portal like the pic shows.Also you could get the log file in Kudu at data/jobs/continuous/jobName.
You still could add trace message logging in a WebJob, about the details you could refer to this article.
If you still have other questions, please me know.

Related

Logs monitoring via CWagent / Alert / How to identify the instance

I'd like to ask you for a help.
I've just configured the CloudWatch agent in order to monitor the Linux system logs e.g. /var/log/messages. Furthermore I've also configured the CloudWatch Alarm which should be triggered every time the "error" string is detected in system logs.
I see that the logs are already present in the CloudWatch dashboard, also I've got the email SNS notification that the "error" is detected in log file while I was testing it,
BUT:
I don't see any =instance identification, =any Log groups identification, =any Log stream idenfitication in the notification/alerting E-mail I received...
So How can I identify the instance with "errors" if I miss such info -> Let's imagine that I would run 20 EC2 ???
I would really appreciate any hint which could move me into the right direction...
Screensthots:
https://petybucket.s3.eu-central-1.amazonaws.com/upload/aws1.PNG
https://petybucket.s3.eu-central-1.amazonaws.com/upload/aws2.png
https://petybucket.s3.eu-central-1.amazonaws.com/upload/aws3.PNG
Thanks in advance
Peter

Azure function reduce log on Application insight

When my system is running some time I got the connection error so I want to remove it from my Application Insign
It is possible If I want to remove the exception and trace come from EventProcessorHost error. You can see my insign log as below.
The only way is that you can use app insights Purge api to delete logs from Exceptions table and Traces table.
But the limitation is that you cannot specify such detailed filters, like the messages are from EventProcessorHost etc.
And the delete operation will be competed in 7 days in background, you should know these limitaions when using this api.
If the question was "how do i not collect these in the future", I believe the information you are looking for is here:
https://learn.microsoft.com/en-us/azure/azure-functions/functions-monitoring?tabs=cmd#configure-categories-and-log-levels
summary:
Log configuration in host.json
The host.json file configures how much logging a function app sends to Application Insights. For each category, you indicate the minimum log level to send
there are a lot of samples in the link above to turn on and off things of various levels, sources, sampling, batching and is probably too much to paste here and keep up to date

How to fetch IIS Start log for a corresponding IIS Stop log in Azure Log Analytics outside of Alert's monitoring time period

I'm working on configuring an Azure Log Analytics alert (using KQL) to capture the IIS Stop & Start events (from Events table) in my OMS Workspace, and if the alert query finds that there's no corresponding IIS Start event log generated from a PaaS Role for a particular IIS Stop event log- the user should get notified by an alert so that he can bring IIS back up.
Problem: Let’s say I setup my alert to run over a Time Period & Frequency of 15mins. If the alert triggered at 10:30AM, that means it will scan the IIS logs from 10:15:01 AM to 10:29:59 AM. Now, suppose an IIS Stop event got logged in around 10:28 AM, then the respective IIS Start log (if any) will be logged in after a couple of minutes around 10:31AM or 10:32 AM – and hence it will go out of the alert’s monitoring time period. This will create a false positive failure scenario. (IIS got started back but my alert didn’t captured the Start event log). And thus, it might lead to some unnecessary IIS Start/Reset operations on my PaaS roles.
Attaching a representative quick sketch to explain it figuratively.
Please let me know if there's any possible approach to achieve this. Any suggestions are welcome. Thanks in advance!
Current implementation as follows.
Here we can see False Alert generated at 10:30.
You can see the below approach, where we select last 10 minutes data(Overlapped) every 5 minutes.
For the below case you can generate the alert
See if its helping you.

Continuous Webjob Restarts automatically

I have a continuous running web job which starts long running process on a background thread. I have enabled Application logging to write all the logs into a storage table.
Sometimes the web job automatically restarts for no apparent reason and nothing is logged in the storage table. Below is the log information from the storage table
I assume whenever the web job stops it should write into the logs (first line in the below screen capture).
I looked at the memory and CPU consumption of the web app and it was always below 50% during the entire month.
I am using "Basic" pricing tier for the web app and set the "Always On" to true.
How to find out what is the reason behind the web job shutting down? Is there any other place where I can look for more detailed log?
EDIT Below is the logs from the scm site which still does not say why it stopped :(
EDIT 2 In the log I found some more information.
Could not send heartbeat. Access to the path 'C:\DWASFiles\Sites\MyWebApp\VirtualDirectory0\data\DaaS\Heartbeats\RD000D3A702E55' is denied.
at DaaSRunner.Program.Main(String[] args)
at DaaSRunner.Program.StartSessionRunner()
at DaaS.HeartBeats.HeartBeatController.<GetHeartBeats>d__8.MoveNext()
at DaaS.HeartBeats.HeartBeatController.GetNumberOfLiveInstances()
at DaaSRunner.Program.SendHeartBeat()
at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source, Func`2 predicate)
at System.IO.File.Delete(String path)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at DaaS.HeartBeats.HeartBeat.OpenHeartBeat(String heartBeatPath)
Any help?
Look at the WebJob's log file for system logs.
You can get to it by going to the WebJobs dashboard - https://{sitename}.scm.azurewebsites.net/azurejobs

Web Deploy Command Line Logs in Event Logs (Updated / Inserted / Deleted Files) in event logs

How do I configure Web Deploy Command Line to Force Log every activity in Event Log of Source / Destination / Remote Server.
Please mention any other suggestions you might have for Logging of Web Deploy.
I don't believe you can log the activities to the event log, but what you can do is use the -xml parameter to output the changes in XML format. You could then use this to log to the event log via a Powershell script, for example.

Resources