►
Description
Node.js applications are fast becoming more frequent and complex through Kubernetes deployments. With that being said, developers are more concerned about generating useful logs, gathering metrics.
Website: https://www.redhat.com/de
Organized by @Microsoft @kubermatic7173 @SysEleven
Thanks to our sponsors @CapgeminiGlobal, @gardenio, @sysdig, @SUSE, @anynines, @redhat, nginx, serve-u
A
We're
gonna
talk
about
how
the
open
Telemetry
operator
could
helping
you
out
instrumenting
a
node.js
app
a
little
bit
about
me.
My
name
is
Yuri
I'm,
a
Brazilian
guy
based
in
Germany
and
currently
I'm
a
soft
engineer
at
Red
Hat
part
of
the
operator,
enablement
team,
I'm,
also
contributor
of
the
open,
Telemetry
project,
more
specifically
for
the
open,
Telemetry
operator.
For
that
reason,
I
bring
I'm
trying
to
bring
you
an
Rio
interested
tool
that
the
open,
Telemetry
operator
will
be
capable
to
help
you
on
the
application
life
cycle.
A
My
first
question
is:
who
is
familiar
with
the
open
Telemetry
on
the
audience?
Oh,
that's:
pretty
cool,
okay,
I!
Don't
know
if
you
if
anybody
knows
what
the
open
Telemetry
is.
Basically,
this
is
the
cool
definition
about
the
open
Telemetry
on
the
project.
Open
Telemetry
is
a
collection
of
tools
apis
in
the
sdks,
but
I
used
to
say.
The
open.
A
Telemetry
is
the
middle
of
your
application
life
cycle,
because,
basically,
you
can
collect
data
from
anywhere
and
send
those
datas
processed
and
your
target
format
to
anywhere
okay
and
then
don't
be
afraid
with
this
cool
definition,
because
basically,
the
open
Telemetry
stays
on
the
same
on
the
middle
of
your
application.
Lifecycle
chigran
has
defined
and
helped
to
yeah
to
create
this
otlp
format
with,
basically
is
the
open,
Telemetry
protocol
and
the
specification
you
can
see
on
that
slide
that
helps
the
developers
or
yeah
the
SRE
teams.
A
A
The
hotel
collector
the
hotel
collector,
is
in
the
middle
that
receive
data
from
your
microservices
spread
in
your
kubernetes
cluster,
or
you
can
have
L7
prox
or
a
layer
serving
proxy
which
you,
which
the
data
will
pass
through
and
send
to
the
open,
Telemetry
or
also
it's
possible
to
collect
data
from
the
main
Cloud
vendors
like
Azure,
AWS
or
Google
Cloud,
and
once
you
have
those
data
in
the
open
Telemetry,
you
can
process
the
data
and
change
the
format
from
I,
don't
know
Json
and
to
the
otlp
or
otlp
to
Json
or
otlp
to
the
Prometheus.
A
You,
you
can
process
the
data
in
order
to
send
the
data
formatted
for
your
Target
application
and
then
on
the
right
side.
You
have
the
trace
databases.
Anybody
is
familiar
with
the
Zipkin
or
Jaeger
and
then,
basically
you
can
convert
the
data
actually
Prometheus
understand,
but
sorry
Diego
understand
the
the
hlp,
but
you
can
send
to
Zipkin
or
or
Jaeger
and
or
I,
don't
know
any
different
tool
that
we
will
analyze
the
information
that
you
sent
front
and
the
open
telemetry.
A
So
and
then
you
can
ask
me:
how
can
you
configure
your
open
Telemetry
instance?
It's
basically
a
config
map
in
kubernetes
or
a
config
section.
When
you
are
deploy
your
custom
resource,
The
Collector
resource.
Then
you
have
this
four
sections:
receivers,
processors,
exporters
and
services,
and
then
the
receivers
you
can
configure
multiple
receivers
that
we
use.
Send
the
data
to
the
open,
Telemetry
processors
again
will
change
those
data.
A
Exports
will
export
to
your
destination,
and
then
you
can
just
organize
on
the
yeah
on
the
service
section
which
are
logs,
which
are
traces
and
which
are
metrics
and
then
just
to
give
you
yeah
examples
of
well-known
receivers
like
20,
Kafka
or
otlp.
Zipking
also
could
be
a
receiver
in
an
exporter
and
a
processor.
You
have
a
kind
of
batch
metrics
resource
attributes.
You
can
change
one
of
them,
the
information
that
you
get
from
your
source,
application
and
yeah.
A
Well,
no
also
exporters,
you
have
the
hlp
that
is
based
in
the
grpc,
but
you
have
also
the
oclp
communicating
using
HTTP
instead
and
yeah,
the
the
last
one
like
Prometheus
and
Zipkin.
You
could
also
send
the
data,
but
you
can
ask
me:
okay,
Yuri
I
didn't
find
any
kind
of
receiver
or
exported
that
we
attained
my
application
because
I
don't
know,
I
have
one
specific
tool
in
my
company,
that
is
a
third
part
or
was
created
by
B,
and
then
you
can
check
this
repo.
A
A
And
F5
Cloud
you
have
many
different
exporter
or
receiver
and
processors
also,
and
if
you
want
to
contribute
creating
your
own
receiver
or
processor
or
exporter,
please
just
phrase
a
PR
or
yes.
Media
will
be
there
how
to
raise
your
first
PR
contribution
with
the
open
Telemetry
project.
A
So,
and
you
can
ask
me,
okay,
Yuri
and
why
you
are
talking
about
the
open
Telemetry
operator
owns
the
open.
Telemetry
can
install
a
standalone
instance
and
your
Linux
machine
or
your
kubernetes,
and
for
these
two
reasons,
because
when
you
this
is
indeed,
when
you
install
open
Telemetry
operator,
you
are
managing
automatically
one
collector
and
for
the
second
reason
we
created
recently
possibility
throughout
instrument
using
yeah
the
annotations
feature
to
out
instrument
some
of
applications
based
on
python,
Java
or
node.js
foreign.
A
Besides,
that
you
have
the
possibility
not
to
only
Auto
instrument
using
the
the
operator,
the
the
open
Telemetry
operator,
but
you
can
also
create
a
manual
instrumentation
for
your
applications,
and
this
is
the
compatibility
like
C,
plus
plus
go.net.
You
can
use
all
of
them.
We
have
native
libraries
for
them
and
your
developers,
sorry,
your
developers
will
be
able
to
create
the
otlp
format
to
yeah,
to
give
to
the
open
television
to
do
Telemetry
data
to
the
hotel
instance.
A
Okay
and
what
is
the
requirement
to
deploy
the
open
Telemetry
operator
and
the
out
instrumentation
for
your
node.js
application?
First
of
all,
when
you
have
the
operating
Stout,
you
have
to
create
a
resource.
A
custom
resource
called
open,
Telemetry
collector
that
it
will
be
the
instance
which
will
collect
and
Export
the
data,
and
we
have
different
modes
like
deployment
or
sidecar.
A
We
have
this
four
annotations
that
are
mandatory
to
deploy
your
alt
instrumentation.
If
you
are
deploying
for
Java,
you
have
to
include
this
inject
Dash
Java
equals
true,
node.js,
Python
and
so
on
and
so
forth,
and
this
injection
equals
true
that
will
enable
The
Collector
to
inject
a
sidecar
container
in
your
deployment.
A
So
this
is
a
code
snippet
about
the
instrumentation
customer
custom
resource.
You
have
on
the
spec
section,
like
the
exporter
propagators
in
sample
in
simpler,
sorry
and
the
the
inch
Point.
Basically,
you
have
to
put
the
address,
which
is
the
address
of
your
collector,
because
this
open
Telemetry
can
be
in
another
kubernetes
cluster,
not
in
the
same
and
the
propagators.
Also,
you
have
this
these
different
propagators.
That
is
a
basically
the
header
format
defined
by
the
w3c
or
the
B3.
A
You
have
you
could
Define
different
formats,
different
header
formats,
for
your
data
and
how
they
spans
will
be
collected.
You
can
Define
on
the
type
of
the
simpler,
simpler
section.
A
Basically,
this
is
that
was
overview
about
the
yeah,
the
open,
the
open
Telemetry
or
what
open
Telemetry
is
I
I'll,
bring
a
demo
just
to
demonstrate
you.
The
open,
Telemetry
action
and
I
have
here
a
node.js
a
basic
example
of
node.js
I,
just
reload,
node.js
and
eaeger
to
demonstrate
all
the
traces
the
open
Telemetry
collect
for
this
simple
application
sent
to
to
the
Jager
2.
A
A
I,
have
these
three
annotations:
I
have
the
first
one
as
I
told
you
the
container
names
it
will
be
possible
so
because,
if
your
application
has
more
than
one
container
inside
at
the
same
part,
you
can
Define
for
the
open
Telemetry
which
containers
will
be
instrumented.
And
then,
in
that
case,
I
decided
to
instrument
both
containers
and
the
inject
node.js
is
true,
because
I'm
trying
to
out
instrument
a
node.js
application
and
the
sidecar
will
be
injected
by
the
by
the
open,
Telemetry.
A
Okay
and
besides,
that,
I
will
demonstrate
you,
the
the
open
Telemetry
here
just
a
second.
A
For
example,
in
my
case,
I
decided
to
Define
receivers
as
a
otlp
and
the
Jaeger
and
I
put
both
both
receivers
so
glp
and
Jaeger
on
the
service
section
code
here,
eager
to
Saint
traces
and
the
receiver
to
get
traces
from
the
otlp.
A
Okay,
it's
pretty
straightforward
because
you
have
just
tuned
form
and
Define
any
form
to
the
open,
telemeter.
Okay,
you
are
getting
data
from
the
hlp
and
you
are
sending
data
to
the
Jaeger.
A
I've
also
deployed
an
Jaeger
here.
Let
me
try
to
yeah,
send
to
some
data
here,
just
open
the
port
and
do
a
curve.
A
If
I,
for
example,
try
to
the
last
hour
try
to
find
the
the
traces
you
can
see
here,
all
the
operations
that
were
called
by
the
my
app
application
and
then
we
have
the
DNS
lookup,
get
slash
because
I
just
did
a
curve
with
the
slash,
because
it
suggests
reload
word
application
and
if
you
see,
for
example,
here
on
the
get
find
traces
you
can
enter
on
the
traces
and
get
for
example,
process
and
eager
just
demonstrate
you,
okay
and
this
Trace
came
from
and
the
my
app
and
the
my
deployment
with
Sidecar
the
plan
deployment
name
and
the
Telemetry.
A
A
Middle
quality
like
that
and
then
you
see,
then
you're
gonna
see
the
process
also,
and
then
it's
a
it's
really
helpful,
because
imagine
that
you
have
a
situation
in
your
development
team
that
that
your
application
has
no
your
develop
developers
has
no
visibility
over
your
application.
Then,
if
you
use
the
open
Telemetry
with
the
out
instrumentation
for
different
languages
like
python,
Java
or
node.js,
you
don't
need
to
write
any
kind
of
line
of
code
to
instrument
or
to
get
this
overview
about
your
application.
A
And
then
it's
in
my
point
of
view,
it's
really
helpful
to
at
least
debug
your
web
application.
Besides,
that.
A
Besides
that,
the
takeaways
of
this
pretty
straightforward
talk
is
again:
if
you
have
no
visibility
over
your
application,
please
using
use
open
Telemetry
because
it
will
help
to
see
what
is
the
the
current
status.
If
yeah,
you
have
any
kind
of
method
or
call
that
is
getting
stuck
yeah
in
your
database
or
somehow
communicating
with
another
microservices
you're
gonna
see
this
visibility.
A
The
out
instrumental
so
will
help
the
yeah
the
development,
the
development
team
and
to
to
leverage
the
quality
of
data
and
prove
and
or
improve
the
application.
Somehow,
and
as
I
mentioned
the
beginning
of
this
presentation,
if
you
can
see
a
new
receiver
or
export
or
if
you
are
facing
any
kind
of
problem,
then
I
encourage
you
yeah
to
start
contributing
with
this
amazing
project,
sorry
to
be
biased,
because
it
will
yeah
help
as
a
soft
Engineers
or
the
SRA
team
to
improve
our
applications.