Now let's jump into a demo.
For some of these capabilities
that I just spoke off.
Let's start with.
Azure monitoring
integration. So where we start we
start in diagnostic settings.
So this is my web application.
I now navigate to diagnostic settings
and in the interest of time I've
already made a diagnostic setting,
but just to give you a
feel of how things look.
Basically what you do is you make
a choice of what kind of logs you
want your web app to emit to the
Azure monitor logging experience.
You want to include metrics,
how long do you want to retain
these logs and where do you want to
emit this log? So you can basically
send these logs over either to
a log in analytics workspace.
You can archive them to storage account,
or you can even stream these logs to
an event hub so you have multiple
options on where you emit your logs.
Once you have done this setting,
basically what you get is you can now
start looking at the logs and again
it's a very very simplified experience
for you to go through and get some
important information out of these logs.
For example, I can simply click here
and say show me account of app
logs by severity and when I click "Run",
basically what I see is a bar chart
where I'm seeing logs summarized by
different levels which could be error,
information, verbals, or warning.
Similarly, if I now get into app logs,
and if I want to again see account
of app logs by security,
I can do that as well.
I can either see your result
in a tabular format where I can go see chart.
I can see error an exception count.
Thankfully, I don't have any
data here enough for us to show.
Similarly, I can even go ahead
and look at Azure metrics.
Maybe I want to see a pie chart
of different HTTP response codes.
The web application that
I have is very simplistic.
Sorry only have HTTP 200,
but if you have let's say a 500
or 4 N power being returned,
basically that's what display
there in the in the pie chart.
You can even go analyze your
usage and performance.
You can look at any incoming requests.
For example,
if I want to analyze the app service,
help from logging perspective.
Basically I can see a line drop.
I can even see different results again
in a tabular format if I want to
know which are the top five lines
from where my app is being accessed,
If they want to see top five machine.
Again,
if you see the richness of data that
you can use with logs and it it can
again be for monitoring for error
handling for performance or response code,
and he can even set up alerts
using these logs simply of super
powerful mechanism for you to
diagnose your web application.
Now moving on to the next
pillar of diagnostics, let's
Look at App Insights now. Again,
how do you enable app insight?
Simply
you can either enable application
insights at the time of creating
your web application,
or you can even do it later on. Remember,
it could either be SDK based
or an agent based.
Simplest is doing an agent
based app insights enablement.
What you do is simply come here, "Enable."
I had enabled it already at
the time of creation of my web
applications and you simply
click on "View App Insights data".
Now, over here if you see
on the home page itself,
the dashboard,
I can see number of graphs so I can
see a graph about server request.
Again I can keep hovering around
to see data in point of time.
I can see server response time.
This is another key capability I mean.
You can even get a dynamic application map,
so mine is a very simple application
again and it just talks to a database
SQL database behind the scene.
But if your application was
talking to multiple databases.
All data sources are APIs.
Basically that's how the whole
application map gets built.
You can even set up availability test.
The idea here is that you can
take any key. Can you automate
pinging my web application to test
availability of my web applications
from geographical regions across
the globe? I can do that,
I can look at performance matrix,
I mean in terms of
how my app has been performing
in terms of the duration,
which is an average or the total
number of requests that my
application has has been receiving.
If you want,
you can again drill down into
each of these details.
What you are seeing here is average.
If you want,
you can only view the 95th percentile.
You have all different options that
again you can use application insights
to monitor performance availability,
exception handling.
You have all sorts of avenues it
open up for diagnosing your web application.
Look at the whole failures experience.
If there are any errors which are
happening frequently, you can
look at those errors here.
Now moving on to the third very
important pillar for diagnostics
of your web application,
which is the inbuilt diagnose and
solve problems experience and if
you see once I click on this page.
Contact click on this link.
What I see is I see this kind of
a dashboard which with categories
and on the home page itself.
It tells me are there any risks or
alerts and if I just click in here
what I see here is it's telling you
that the auto heal is not enabled
currently I'm not utilizing the Health
check feature or I am running my web
application on a single instance so
they can be issues if my it behind
the scenes we're running some kind
of an upgrade upgrade process.
I can even go ahead and now they're
deeper into different categories,
so let's start by
availability and performance.
Now they could be scenarios,
and if you see how simple it is and
for you to get into every aspect of
your web application in terms of keep,
my back is slow OK.
How many sticks are successful?
After displaying density fine
there no crashes reported.
Handle count is fine.
How about the memory analysis?
Now I can go ahead and do a high CPU
analysis if I want out of this experience,
it will basically tell you, yeah,
the CP consumption is below 70% on
the instance serving the app, so.
If they are having any crashes or if
they are having any errors for four,
not four or or in general 400 errors,
I can have a look at them here.
So that was availability and performance.
I can now get into into our risk assessment.
Basically it will give me
like what's the best, how?
How is my web application doing in terms
of best practices for availability.
So yeah, I do have always uncheck enable,
but I don't have health check feature
enabled or I'm not using local cache.
I'm not using Azure traffic manager.
If I want to do a Geo distribution
of my web applications.
You can even go look at using
diagnostic tools so you can
setup.net profiler trace.
You can take a memory dump.
You can look at connection
strings if you want,
you can simply go and say yes.
Now collect the network
trace and the duration.
And that race will be
available in this path here,
which you can basically
download from Cody console.
So idea is that if you look at
this whole in build diagnose
and solve problems experienced,
anytime you are seeing a performance
or an exception or some kind of
you know of risk assess quick
risk assessment that you want to
run against the web application.
This should be your starting
point where we have some really
really rich set of data available
for you to make a start.