>> Azure Monitor now includes
log analytics and Application Insights for
full stack end-to-end monitoring to optimize
the help and performance of your Cloud or
on-premises resources and applications.
Rahul Bulgaria is here to show us
how today on Azure Friday.
Today on Azure Friday,
we'll be talking about Azure Monitor
and I have Rahul Bulgaria,
Product Manager for Azure Monitor to show as some of
the great new announcements that
we're making at Ignite this week.
So, what do you want to show us?
How have you made Azure Monitor all that much better.
>> Yes definitely. So, we announced Azure Monitor as
a new full-stack unified monitoring solution
that you can use to monitor your applications,
it gets containers, virtual
machines even get full-stack visibility across
your resource groups and then actually drill down to
the actual line of code
where potentially the problem lies,
fix it and impress your customers.
>> Fantastic. Well, what would you like to show us?
What are some of the things that are new?
>> So, let me show you like
a workflow of how Azure monitor looks today.
So, Azure Monitor basically
can collect data from your applications,
from your infrastructure,
the containers or virtual machines or network.
These could be on-premises resources,
these could be on Azure third party cloud provider,
you could even send any custom data through our APIs.
Now, all of that comes to
our metrics or our logs database which is
basically low telemetry and then there are
solutions built on top of
that which can give you more insights,
diagnostics, visualizations, whatever you want.
So, if you have used Application Insights in the past,
Application Insights is now a feature of
Azure Monitor and similarly,
we have the insights for containers,
for virtual machines and there are
solutions for SQL storage and so on.
>> So, Azure Monitors,
you said now includes
Application Insights as well as
log analytics and so it's a single pane of glass,
that single tool that you can use
to manage all of your telemetry,
and health and monitoring data.
>> Yes. So, these capabilities
are now features of Azure Monitor.
So, think of it like a Hub,
a Monitoring Hub within Azure portal where
you can go look at all of your applications,
containers, VMs and figure
out which ones are having any kinds of problems,
drill down into that and get more information.
>> Great. Let's see how this works.
>> Definitely. So, let's get to Azure Portal,
and here I am on
the Azure Monitor blade and there is like overview,
alerts, metrics, and logs like one single experience.
So, you have data coming in from, as I said,
your Apps or VMs or containers,
everything comes into one single place.
So, one place to set up your alerts,
one place to capture your metrics and create charts
and one place to write your log analytics queries.
So, in the Insights column,
you'll see there are a bunch of
hero solutions like Virtual Machines,
App Insights, containers, network.
So, these are our customized solutions
for particular scenarios.
Right now I am in Virtual Machines area which
is a new capability that we just launched.
So, you see there is
a new concept of health here for virtual machines.
Now, you can capture both host level,
health performance and your guest level health.
So, you can figure out which
of your VMs are in critical conditions,
drill down into that,
figure out what's going wrong,
maybe connect to the VM and try and fix that.
>> You can customize when something is
coming back as having poor health.
What would define that as a poor health condition?
>> So, right now these are out of the box criteria,
but that certainly in the roadmap that you can
customize what a health condition means to you.
>> Great.
>> So, let me show you how something
like a health condition looks today.
So, in the table here, you look
at like we have two kinds of OS.
There is Windows and Ubuntu and incidentally,
all of my VMs are in critical condition.
>> Okay.
>> So, let's click
on the Windows VM and see what's going on.
So, here I am in Windows VM.
So these are the bunch of different VMs I'm running on
my workspace and all of them are in critical case.
So, I just click on one of
the critical issues and see what's going
on and I have that opened here.
So, here I can see for that particular VM,
this is my entire health criteria.
What's happening across my desk
from my like operating system,
browser-side, browser health and so on.
Now, it clearly tells me that my E disk space,
it's been completely eaten up,
I can just connect to the VM
and maybe restart data or delete
some resources from there and
get my VM in a healthy state again.
>> Great.
>> That was the health criteria.
Let's get back to the VM blade.
There is another tab you'll
notice here that's performance.
Now performance is basically
where you're tracking the performance
of all of your VMs in one single place.
So, I've just selected,
let's say resource group I want to
track and once I select that,
I see all my perf counters from the VMs like CPU,
memory, bytes and disk space,
everything in one single view.
Now, you'll notice here in
the CPU utilization one of the VMs have suddenly started
spiking up in the last few hours and
it's taking up 90 percent of the CPU.
That is certainly an unhealthy condition.
So, I can just jump onto
the ListView to see which that particular VM was.
So, this is CantosWeb one VM
that's recently started spiking.
I can just click on that,
go to log events and click on Perf to open up
the like log analytics elementary data
and do some root cause analysis using queries.
>> Great and I see that you can also set
up alerts rate from here as well.
>> Yes I can set up alerts,
I can track what the alerts are,
edit them and as I said,
it's one single place.
So, you can set up your criteria
ranging across VMs, and apps,
and containers, multi-resource,
multi time-series criteria however you want to customize.
>> Okay. How would you set up that query then?
>> So, if I just click on Perf,
I go to the logs experience
and if you have used Log Analytics in the past,
this is Log Analytics Portal
embedded just directly into Azure Monitor.
>> Oh nice. So, you don't have to go to
a whole separate tool anymore?
>> There is no separate portal,
everything is part of Azure Portal,
everything is inbuilt into Azure Monitor.
>> Okay and it has that very SQL-like syntax,
does it include IntelliSense?
>> It has IntelliSense.
If you have use partial or SQL,
it should be very comfortable for you.
>> Great.
>> On the left-hand side, you can see
like it's not just data from VM's,
any data that you're collecting;
security, management, monitoring,
even any custom data sources you want to send,
everything can be captured here.
You can write queries,
correlate across various different data sources
and get insights.
>> I love that. Okay.
>> So, for example, when I clicked on
the Perf counters here,
I just got a simple query saying,
"Show me all the Perf counters on this particular VM",
and this is the table which
shows me all the data I was capturing.
Great but I would
need to do something for root cause analysis.
>> Right.
>> So, I have a saved query,
I don't want to type bunch of lines of code here,
but I have a saved query where I'm just building on top
of those Perf counters and
just asking a simple question saying,
I don't care about all the Perf counter,
show me only the percentage processor time or
the CPU time and split that by process name.
So, I know which process is
eating up all the CPU that I can fix.
>> You're looking at a very specific point in time as
well to try and drill
into when you were having a performance problem.
>> Yes. So in this case, I have just
limited it to past two hours.
I can extend it to 24 hours,
30 days, however I want.
>> Okay.
>> So, I'll just run this simple query,
just takes a few seconds.
So, even if it's like terabytes of data,
billions of data points,
typically your average queries
would just take single-digit seconds to run through.
So, when it ran,
if I look at the visualization below,
I can see that there was
certainly a process that was taking up,
in this case, 160 percent of the CPU.
It's a two-core process so don't be alarmed by
150 percent and if I hover on
top of that you see it's called W three WP
and for VM administrators
they would know this is the IS process.
>> Right.
>> It means there is some application
that's eating up all the CPU.
Maybe there is a noisy neighbor that's impacting
the health and I can then just go to the VM,
just restart it and be done with it.
>> Okay.
>> One of the interesting things here is,
now we were able to manually
identify and fix this issue right now,
but what if it happens again?
We know this is something happening.
I can go to the alerts and even automate the resolution.
I can say that whenever this happens in future,
just restart my VM.
So, I can run the automation-.
>> Or run some other script that might do
something to minimize the downtime.
>> Yeah.
>> Great.
>> I don't have to be manually
resolving issues all the time,
I can set up automation,
I can set up auto-scaling to
basically take the load off my workstream.
>> Great.
>> Yeah.
>> Where do you want to show us?
>> So, that was the log analytics capability.
If I get back to the VM bleed,
you see that is the third capability here which is Map.
So if you have used OMS Service Map in the past,
we have built in Service Map capability
right within Azure monitor as well.
So you can get a full visualization picture
of all of your virtual machines,
what they connect to, what ports are opened
and if there are
any critical processes that
you might want to trade on further.
So, I'm just opening up
my workspace where the system lies.
So, you see here,
I can get the full map of my virtual machine.
So, this is the VM that we were tracking,
I can expand it and see
all the different processes that were running on the VM,
I can get more details,
I can see what ports they were connected to,
I can get full perf metrics about my VM and so on.
>> Okay.
>> So, that's the Service Map capability
built right into Azure Monitor.
>> Okay.
>> So, we saw virtual machines.
This is a completely new capability that we have.
Let's look at some Containers Health.
>> Yes that's becoming more and more important.
>> Definitely. So, we
either see people have monolithic apps
deployed on VMs or many teams are now
transitioning to microservices deployed on containers.
So, we have now fully supported AKS containers.
If you have Azure Monitored enabled for that,
you just come to Azure Monitor,
click on the "Containers" tab and you
get a new multi-cluster health view.
>> Okay.
>> So, you would have multiple clusters of
containers running and in this one single place,
you can look at the health of all of your containers.
Now, for example, here I have
this one particular cluster which is
showing some warning status.
I don't know what that is.
I can just click on that particular cluster
and jump on to the performance view of that cluster.
So, I can see the node utilization,
memory, node count, activity count.
Here I see that one of
the particular ports is in
a pending state that I know is not good,
something is certainly wrong there,
and my CPU utilization is also at
60 percent which they may or may not be good.
Let me jump onto Controllers
to see what's happening right here.
So, in controllers I see most of my controllers are fine,
but this one particular controller
where I'm running Minecraft,
it has had 274 restarts.
>> Okay.
>> And everything is red.
>> Okay.
>> That's certainly indicative of a problem, right?
>> Especially if you play Minecraft.
>> Definitely. So, I
just expand that controller and I see
all the ports that are running
there and this particular one.
For example it is in a warning state and 67 restarts.
If I go on the right hand side and see the properties.
Let's do that again.
Okay I see Container Limits and
Requests and I can see here that I had
set up a limit of
10 micro course and it's requesting 10 micro course.
So it's completely at the limit and I
know 10 micro courses is very too less.
So, somebody just misconfigured it,
I can go to Cube CTLN,
reconfigured my containers and
be happy to play Minecraft again.
>> Similar to the VMs,
you can set up alerts and you can
automate responses once you get to
a point where you
understand how things should be responding.
>> Definitely, and you could connect it
to your ITSM Tools,
your Logic App,
any kinds of workflows or
DevOps processes you are using today.
>> Great.
>> Yeah. So, this was on the infrastructure side.
We have developers listening to this as well.
Let's see how you can jump on to
the application layer and figure out what's going wrong.
So, here I am in Application Map and this
is a typical modern application or
multi-component application which has
some front end talking to some API,
some backend processing engine
which has a bunch of dependencies
like in this case SQL and Redis cache
and a bunch of different tools.
Incidentally, this particular application
it has.Net Core, Java, Node.
A bunch of different programming languages,
different teams build different components and I can get
a single topology view
across my entire application architecture.
So, I can figure it out where calls are going,
what's in an unhealthy state
and I can then drill down further.
So, here I can see this particular processing worker,
it has had 12 percent failures
and I can just click on it,
look at all the failing requests,
slow requests and some contextual insights.
Now, this particular thing
that has been a failed request,
I can just click on that and jump
onto the failures experience where I can track
all of the failures of this particular type and
just click on operations to look at a particular sample.
So, I just clicked on a sample and what
comes here is now an end-to-end distributed tracing view.
So, typically what happens, you click on a button,
it calls something in
the backend which calls a bunch of dependencies.
Maybe some APIs and
usually there is a multi-hop transaction.
Here in one single place you can track
your entire transaction from the button
click to whatever it happened at the end.
Maybe an exception in this case and you can
pinpoint where the problem
was in that entire transaction case.
>> Absolutely so you could start
seeing not just where the exception
happened but what caused
the exception leading up to that event.
>> Exactly. So, if you are on the exception,
you can see the full call stack,
what was the message,
field method and everything.
If you're using.Net based applications,
you could even open that a
snapshot or a dump file in Visual Studio,
jump to the line of code
and fix that problem then and there.
>> Great. So, springing
all of this together under one umbrella?
>> Yes.
>> Great. Is there anything more?
>> So, you could of
course connect it video DevOps processes.
So here I have if I'm not the developer,
I can connect it to
my work item management system and file it has
a work item or if I'm
using Release Management in Azure DevOps,
I can just make it part of my release processes.
So, if there is an alert,
if there is a performance problem,
it just won't let the release go through
from gallery to production for example.
>> Right.
>> So, monitoring becomes
a part of my daily processes rather
than something I go when something
breaks and then figured out what went wrong.
>> Right. Great. Well, thank
you very much for joining us today.
I can see that Azure Monitor
has really brought in some of
the best tools and services that
allow you to more easily manage all of your health,
all of your end to end health
and performance of your applications.
Look forward to putting
this into action with my applications.
>> Definitely.
>> Thank you. We've been learning all about
Azure Monitor today on Azure Friday.