►
From YouTube: Extending Engarde to Bridge the Gap Between Istio Access Logs and Envoy's Documentation
Description
#IstioCon2021
Presented at IstioCon 2021 by Gregory Hanson.
Istio allows users to enable Envoy access logs. These logs provide extensive information and are one of the first steps in diagnosing networking problems in a service mesh. Engarde is a tool which parses Istio access logs into easily readable JSON objects. With Engarde, you get the log field names, but to the average user there are still some knowledge gaps that require a hop over to Envoy’s website to understand what is shown in the logs. This extension combines Engarde with Envoy’s documentation all in one place.
A
Hello,
everyone,
my
name,
is
greg
hanson.
I
am
a
software
developer
at
ibm
and
I
have
been
working
on
the
istio
project
since
its
start.
First
time,
I'm
giving
a
lightning
talk,
so
here
we
go
so
what
is
istio
just
kidding?
It
is
the
end
of
the
week
and
the
conference
has
the
same
name,
so
I
think
I
can
pretty
safely
skip
over
this
slide.
A
A
A
These
logs
provide
an
extensive
amount
of
information
that
can
be
used
to
troubleshoot
issues.
There
could
be
how
sdo
is
capturing
traffic
at
the
source
or
the
destination,
how
traffic
is
routed
through
the
user,
created
traffic
management
resources
or
how
the
application
itself
is
attempting
to
communicate
with
resources
inside
and
outside
the
mesh
logs
also
encourage
novice
istio
users,
start
learning
to
interpret
and
diagnose
errors
themselves.
A
It
used
to
be
that
if
I
wanted
someone
to
be
able
to
figure
this
out
by
themselves,
I
would
have
to
point
users
to
the
line
in
istio
source
code,
which
defines
the
custom
log
format
and
then
provide
a
link
to
the
envoy
proxy.io
documentation
to
explain
what
those
fields
mean.
The
process
is
a
little
convoluted
at
this
point,
and
only
really
ambitious
debuggers
would
bother
jumping
through
those
hoops.
A
Then,
at
kubecon
north
america,
in
2019
I
heard
about
onguard.
If
you
have
already
heard
about
it.
Great
just
bear
with
me:
take
an
axis
log
entry,
pipe
it
into
the
on
guard
tool
for
processing,
add
in
jq,
and
you
get
a
pretty
printed
json
representation
of
the
log
complete
with
labeled
field
names.
A
It
even
included
a
special
flag
just
for
parsing
istio's
custom
blog
format.
So
I
thought,
aha,
smarter
debuggers
means
less
pouring
through
access
logs
for
me,
but
it
wasn't
quite
there
yet,
after
all,
when
someone
asks
me
hey,
why
is
there
a
urx
response
code
in
all
these
failures?
What
does
that
mean
the
result?
A
A
So
what
can
I
do
to
make?
It
include
everything
I
want
in
one
place
after
some
html
and
css
educational
refreshers,
I
wrote
or
hacked
together.
So
please
be
gentle
aui,
which
incorporates
onguard
and
odd
voice
documentation
all
into
one
place
paste
in
the
access
log
entry
using
istio
or
envoy's
default
log
format
hit
the
button
and
out
comes
the
process.
Json
log
output
from
onguard;
nothing
new
at
this
point,
just
a
ui
for
a
cli
tool.
A
So
what
I
did
was
I
wrote
a
scraper
for
envoys
documentation,
pulling
everything
regarding
access,
log
command
operators
and
their
corresponding
descriptions
from
the
ui.
If
you
click
on
one
of
the
json
field,
names
or
values,
you
get
the
description
of
the
fields
pulled
directly
from
the
documentation.
A
Anyways,
I
developed
this
mostly
to
make
my
personal
workday
easier,
but
I
hope
someone
else
will
find
it
just
as
helpful
as
I
do
special
thanks
to
the
creator
of
onguard.
You
are
awesome
and
clearly
my
inspiration
also
thanks
to
envoy
for
having
docs,
that
a
beginner
like
myself
was
able
to
get
a
scraper
working
pretty
easily
the
code,
firmware
ui
and
instructions
for
how
to
use
can
be
found.
As
a
repository
on
github
and
just
in
case,
I
did
not
stress
it
enough
earlier.