STEPHANIE WONG: So far for our Hipster Shop app,
we have Istio set up with our Kubernetes engine cluster,
and we've set up some intelligent traffic management
using Istio.
But how do I monitor each Istio component?
KRISTIN AYALA: Well, like many of our services
on Google Cloud, Stackdriver can integrate
and monitoring your Kubernetes cluster and Istio components.
STEPHANIE WONG: Ah, Stackdriver, another hipster favorite.
KRISTIN AYALA: Yes.
Let's jump into it, and I'll show you how it all looks.
[MUSIC PLAYING]
KRISTIN AYALA: Stackdriver combined with Istio
reduces the complexity of managing
micro-service deployments by providing
a uniform way to log, monitor, and trace your application.
Once the Istio service is set up,
we can first visit the metrics explorer.
From here, type Istio in the Find Resource
Type and Metric section.
Numerous additional metrics from the Istio service
are now available.
Let's look at Client Request Count.
This metric shows the number of client requests
sent by the service.
On the right side, we see a graph
with numerous service records and details
when we mouse over them.
On the left side, we have filters
to narrow down or combine data elements on the graph.
Let's get a mean of the client request
count for all the services.
Wow, that looks better.
Not only are we able to view individual metrics,
but with Istio, we are able to see how our services are
connected from a top-down view.
Let's visit the topology section.
If we mouse over the front end, we
are able to see specific services it communicates with.
Depending on the data made available with the service,
things like latency may also appear.
This becomes especially useful for large-scale projects
with hundreds of connected services.
Additionally, if you are curious about how a particular service
performs, you can drill into each section from the Overview.
Here we can see the service level specifics,
including the individual request count we looked at earlier.
Under the service section, it gives us
yet another view of Istio data this time with
a per service detailed view of all the metrics.
Date and time filters are provided at the top of the page
to narrow down the metrics to exactly when you
want to see your data.
Just below that, there are three tabs--
SLOs, Metrics, and Diagnostics.
The SLOs tab provides things like compliance, indicators,
and errors to help assess if a specific service is within SLO.
The next tab, Metrics, provides the same details
we saw on the drill down with the topology view.
The third tab, Diagnostics, provides us
with service level, trace data, errors, and logs.
Here we are able to select filters and see
which specific functions within the service
are slowing things down.
On the top, we can see the parameters and values called
within the specific traces.
On the right-hand column, triggered events
from service level policies appear.
Each of these sections links to respective Stackdriver page
for further details.
Here, we can see the expanded trace lists
along with timing data to get a better overview.
Data doesn't always look perfect.
To help test configurations, we can
use [INAUDIBLE] files, such as this,
to mess up those pretty graphs and see how
our application handles faults.
By calling this file using Kube CTL,
we are able to halt 50% of the traffic in our shipping service
by giving a 505 error.
More details on fault injection with Istio are linked below.
STEPHANIE WONG: Seeing that service graph really
adds clarity to how each Istio component interacts.
I love it.
KRISTIN AYALA: Yes, Stackdriver makes it really easy
to monitor, trace, and debug your Istio applications.
STEPHANIE WONG: Well, I can't wait
to see what else you have in store to integrate
with an Istio-enabled Kubernetes cluster.
Don't forget to like, comment, and subscribe to stay up
to date with our next episode.
KRISTIN AYALA: And if you'd like to get in contact with us,
click on the link in the description.
[MUSIC PLAYING]