►
From YouTube: Grafana Agent Community Call 2022-02-16
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
All
right
welcome
to
the
february
16th
grafana
agent
community
call
I'm
matthew,
durham
and
we'll
be
I'll,
be
doing
a
short
demo
over
an
experimental
feature
called
dynamic
configuration
before
we
get
started.
A
A
So
as
we
start
here,
I
just
want
to
take
a
quick
minute
or
two
to
go
over,
why
we're
doing
it
and
how
we're
doing
it.
So,
first
of
all,
when
we
got
talking
to
a
lot
of
customers,
they
have
large
configuration
files
that
are
extremely
complex
and
we
wanted
to
break
that
down
into
smaller
sections.
So,
instead
of
one
giant
configuration
file,
you
can
have
multiple
separate
configuration
files
that
are
broken
up
by
area
such
as
server
settings.
A
The
an
overall
agent
setting
many
integrations
there's
documentation
that
kind
of
details
how
all
those
interact.
We
also
wanted
to
add,
based
on
the
work
that
robbie
did
with
remote
file
loading,
allow
you
to
load
resources
from
outside
the
external
file
system.
A
Another
feature-
and
this
goes
into
the
dynamic
part
of
it-
is
allowing
a
person
to
have
a
configuration
that
they
don't
have
to
hard
code,
everything
that
they
can
pull
data
from
other
sources
or
query
other
sources
and
generate
the
config
specific
to
the
needs
instead
of
having
to
pre-load
everything.
A
A
We
have
some
guidelines
to
like
prevent
the
config
from
loading
a
bad
config,
but
it
is
going
to
be
harder
to
maybe
fully
wrap
your
hands
around
when
you're
pulling
from
all
these
disparate
sources.
So
with
that
being
said,
let's
talk
a
second
for
how
we
did
it.
A
We
built
upon
dave,
henderson's
library,
gone
plate
which
built
on
go
template,
so
you
get
all
of
those
features
built
in
we
added
a
few
of
our
own
just
to
extend
it
and
we're
hoping
that
once
this
kind
of
leaves
experimental,
we'll
upstream
those
and
not
have
our
own
fork
all
right
and
as
I
go
through
this
I
should
have
mentioned
earlier.
If
you
have
any
questions
you
can
interrupt
me,
I
will
not
take
offense
or
you
can
hit
the
raise
hand
button.
A
Okay,
so
check
time,
real
quick,
try
to
keep
it
under
10
minutes,
so
you
have
multiple
configs,
like
I
said
you
have
an
agent
config
integrations
config
for
today's
demo,
I'm
going
to
be
mostly
showing
the
demo
since
the
agent
configures
documentation
in
the
pr
that
you
can
look
at.
You
can
look
at
any
of
this
there's
a
link
in
the
agenda
to
the
pr,
along
with
to
a
link
with
the
documentation.
A
One
of
the
things
I'm
trying
to
do
with
this
is
to
make
a
cookbook
that
is
far
more
prescriptive
in
documentation.
That
is
more
focused
on
how
to
do
something.
Instead
of
just
here's,
all
the
config
options
go
turn
the
knobs
and
whistles.
Instead,
I
would
much
prefer
a
you.
You
want
to
load
something
from
an
s3
bucket.
Here's
how
you
do
it
with
an
example
that
you
can
run
a
docker
container.
A
So
that
is
what
I
am
going
for.
These
examples
all
are
mostly
modifications
of
the
existing
examples
in
the
documentation,
so
you
can
go
and
basically
follow
what
I'm
doing,
and
if
anybody
has
any
questions,
I
will
pause
just
for
a
second
take,
simple
water,
and
if
you
have
any
questions
you
can
jump
in
now.
A
All
right:
let's
try
a
few
people
join,
we're
doing
the
dynamic
documentation
as
I
go
through.
It
feel
free
to
jump
in
and
ask
me
any
questions
all
right.
Now
we're
going
to
do
the
most
dangerous
thing
of
presenting
a
window,
it
will
be
a
very
exciting
window.
A
And
can
set
people
see
that
correctly
and
give
me
a
thumbs
up
or
a
yay
right
cool
all
right,
so
I'm
gonna
just
go
through
a
few
of
the
demos
there's
about
eight
on
the
the
pr
and
I'm
gonna
add
a
lot
more.
So
these
are
gonna,
be
demos
more
along
the
templating,
which
I
think
is
probably
the
more
interesting
side
of
it.
But
we
did.
There
is
a
whole
section
of
demos
on
just
the
how
the
configs
are
loaded
and
the
order
that
they're
loading.
A
So
let's
cross
our
fingers
here.
So
this
I'm
just
going
to
spit
out
what
the
agent
looks
like
for
this
simple
example.
So
I
have
a
very
basic
agent
config
here
and
the
only
interesting
part
of
this.
That's
abnormal
is
this
right
here.
A
A
Just
to
show
you
the
fruit
we
have,
we
have
mango
peach
and
orange,
and
now
this
the
dynamic
configuration
uses
a
slightly
different
well,
it
uses
a
totally
different
configuration
to
tell
it
where
to
load.
The
configurations
from
and
I'll
only
show
this
this
one,
but
this
is
essentially
how
it
looks
like
so
we
have
template
pass.
A
This
is
a
directory
that
it
will
load
them
from.
It
can
be
s3,
it
can
be
file.
S3
compatible
on
file
are
the
ones
we're
currently
supporting,
but
there
are
more.
We
can
support
same
way
with
data
sources.
This
is
the
you
know
what
we
saw
earlier
with
this
reference.
Is
this
url.
A
A
So
this
will
run
it.
Unfortunately,
it
spits
out
the
whole
configuration,
but
we
can
see
that
we
have
orange.
A
A
All
right
now,
let's
go
to
something
a
little
more
complex,
and
this
is
the
exact
same
detail.
Example
except
it
is
loading
everything
from
s3.
The
configuration
is
being
loaded
from
s3
and
the
fruits.json
is
being
loaded
from
s3,
and
you
can
see
here
I'm
using
agent
cuddle
and
template
parse
instead
of
running
the
agent
to
generate
it.
This
just
runs
the
same
code
and
spits
out
the
config,
and
you
can
see
I'm
using
s3
and
then
my
bucket
and
all
that
jazz.
A
A
Get
rid
of
that
error
popping
up,
but
as
always
so
we
have
peach
mango
peach
and
orange
and
then
it
spit
out
this
error
here
left
where
I
didn't
close
it
properly.
But
so
that's
loading.
That
means
you
can
have
an
agent
with
no
state
on
the
device
and
just
pass
a
s3
config
file,
and
if
you
wanted
to
update
that,
you
could
update
that
s3
config
and
call
reload
on
all
the
endpoints
go
ahead.
Robert.
B
So
with
the
s3
example,
where
was
it
getting
the
data
sources
for
the
fruits
that
time.
A
B
C
Yeah,
so
are
all
these
values
the
default
value
for
right
or
yes,
they
pulled
it
from
okay.
Well,.
A
If
they
put
like
they,
it
pulls
it
from
the
global.
So
it's
it's
the
global
value
that
I
defined
and
then
it
applies
it
to
these
like
a
normal
agent.
So
I
just
pasted
in
what
the
the
the
file
that's
in
s3.
So
you
can
see
the
template
file
is,
is
a
bucket
in
s3,
and
the
data
source
itself
is
a
json
file
and
s3.
A
B
Robert,
so
let's
say
someone
wanted
to
have
different
agents,
pull
different
files
from
s3.
Is
there
any
way
to
send
information
from
like
the
local
machine.
A
Environment
variables,
or
maybe
anything
you
can
do
with
environment
variables,
that's
the
only
thing
that
initially
jumps
out
at
me
is
is
you
could
have
environment
variables
now?
The
thing
you
could
do
is
the
you:
could
the
the
configs
that
you're
loading
could
have
templates
that
can
be
loaded
up
on
environment
variables?
Also,
so
you
could
load
the
same
config
but
based
on
hostname
or
environment
variables.
You
could
have
different
behaviors.
A
Yeah,
it's
a
lot
of
options
to
tune
which
can
make
it.
If
you
have
a
lot
of
complexity,
that's
kind
of
the
cost
you
pay
for
I'm
going
to
be
your
badge,
I'm
sorry!
If
I'm
yeah.
A
Just
uses
the
traditional
environment
variables
there
are
overrides,
you
can
do
that
gun.
Playback
supports
that
I
will
document.
A
But
at
this
point
it's
the
easiest
way
address
the
aws
environment,
variable
secret,
key
and
yeah,
whatever
the
other
one.
Is
that
yeah?
If,
if
there
is
feedback
like
supporting
like
profiles
or
something
like
that,
that's
definitely
the
feedback
we
would
want
to
get
on
like
having
it
be
more
configurable.
In
that
standpoint,
thank
you
cool
all
right
now.
Not
only
can
you
load
simple
arrays,
you
can
load
objects,
so
this
is
an
agent
template
that
is
going
to
pull
from
a
data
source
called
computers.
A
So
let's
say
you
had
a
data
source
that
had
a
list
of
all
the
computers
or
vms
that
you
wanted
to
track,
and
you
know
you
can
do
all
the
go
templating
here
so
ensure
that
there's
you
know.
D
A
Than
zero
and
then
iterate
over
the
range,
if
it's
enabled
then
essentially
make
it
the
name
in
the
ip.
A
B
A
A
A
Cool
and
then
up
here
we
can
see
web
host
one
and
three
are
a
script
config
and
web
host.
Two
is
not.
A
A
A
lot
of
customers
exist
in
a
there
are
a
lot
of
people
customers
wrong
where
a
lot
of
users
exist
in
you
know,
cloud
environments
and
we
want
to
add
the
ability
to
query
those,
so
it
can
be
very
dynamic,
and
in
this
case
this
is
a
ect
query.
You
you
pass
it
a
query
string
this.
There
is
a
ton
of
different
ways.
You
can
slice
and
dice
the
cct
query.
It's
documented
the
link,
there's
a
link
in
the
documentation
to
all
of
those.
In
this
case
I'm
doing
a
very
simple
one.
A
If
the
vm
is
labeled
as
web
host,
then
I
will
want
to
tag
it
and
pass
in
the
private
dns
name
as
a
target.
A
Okay,
and
so
what
I've
got
here
this
little
bit
here,
the
job
name
is
just
the
instance
name,
it's
probably
not
ideal,
but
it
could
be
anything
you
wanted
there
and
then
the
target
is
the
internal
dns
name
that
one
go
ahead:
robert
I'll.
Let
you
finish
first,
I
was
just
going
to
say
this
lets
you.
A
You
know
if
you
have
a
you,
if
you
deploy
new
vms,
if
you
set
a
reload
timer,
which
is
something
I
hope
to
add
or
just
call
the
reload
endpoint,
you
will
automatically
kind
of
pick
up
any
new
targets
and
any
targets
that
have
you
know
been
deleted
will
fall
off
and
you
won't
scrape
those.
So
in
this
case
you
can
just
automatically
as
long
as
you
tag
it
or
query
it
correctly.
A
B
So
I'm
imagining
like
one
of
the
one
of
the
common
questions
we
might
get
about.
This
would
be
how
is
this
different
than
ec2
configs
or
ec2
sd
config
for
prometheus,
and
I
think
the
answer
in
this
case.
It's
not
different
right,
but
do
you
have
an
example
of
what
you
might
be
able
to
use
this,
for
that
you
couldn't
just
do
with
like
sd
configs.
A
The
only
thing
I
could
think
with
sd
configs
or
the
the
ec2
sd
config,
if
you
do
get,
maybe
a
little
bit
more
autonomy
on
what
you
want
to
add
to
things
you
get
more
flexibility
in
that
regard
and
as
far
as
just
querying
ec2,
there's-
probably
not
a
ton
of
that
like
there's,
probably
not
a
huge
difference,
but
we
there
are
additional
avenues
like
there's
other
providers.
That
would
probably
give
you
slightly
more
flexibility,
so,
for
instance,
at
a
place
I
worked
at.
That
was
an
on-prem
environment.
A
We
like
to
say
this
is
best
practice,
but
it's
how
we
did
it
back.
In
the
ancient
days
we
had
a
database
that
had
a
listing
of
all
of
our
vms,
very,
very
long-running
vms,
and
in
this
you
could
essentially
query
that
database
and
generate
your
config
all
based
off
that.
B
I
think
one
way
you
might
be
able
to
use
this
is
to
derive
a
list
of
integrations.
So
if
you
have
a
tag,
that's
like
this
ec2
runs
a
mysql
server.
Then
you
could
use
that
to
iterate
over
how
many
mysql
exporters
you're
spawning
up
for
each
ec2.
I
think
I
think
that's
one
unique
way
that
you
couldn't
you
couldn't
do
today
without
without
this
kind
of
that's.
A
A
When
did
we
really
set
last
whatever
the
most
recent
release
was
yeah?
Was
it
too
okay?
So
that
does
need
to
be
enabled
for
this,
and
one
of
the
main
reasons
is
because
it
allows
you
to
do
integrations
as
an
array.
So
if
you
have
a
bunch
of
my
sequel
instances,
you
can
dynamically
scrape
those
with
the
exporter.
A
All
right
so
yeah
I
tried
to
keep
it
at
like
10
or
15
minutes
to
just
not
eat
up
all
the
time.
So
does
anyone
have
any
other
questions.
A
So
the
agent
cuddle
is
just
a
way
for
me
to
output
the
config,
the
agent,
the
agent.
If
I
like,
if
you
were
to
use
the
agent.
C
A
Configuration
I
I
I'll
top
my
head,
I
believe,
that's
the
flag,
if
you
called
the
agent
like
this,
that
would
load
that
configuration
and
do
essentially
the
same
templating
and
loading
of
remote
resources
and
then
just
use
that
as
a
config.
D
A
It's
not
currently
in
the
pr,
but
the
ability
to
load
on
a
timer
there's
got
to
be
some
more
conversations
around
that,
but
I
think
that
makes
it
even
more
powerful
in
that
you
can
have
a
central
repository
of
your
configurations.
A
A
Oh
okay,
yeah
thanks,
so
that
is
the
that
is
the
current
way
to
do
it.
You
can,
you
can
just
call
the
reload
and
it
calls
the
loader
func.
A
All
right
any
other
questions.
A
All
right,
so
what
I
say
is
feel
free
to
give
any
feedback
pr
is
listed,
I'm
in
the
community
slack
channel
if
you're.
If
you
would
like
to
use
it,
I'm
more
than
happy
to
hear
from
you
it's
experimental
features.
So
we're
definitely
something
I
feel
is
extremely
powerful,
but
we
also
want
to
make
sure
we
deploy
it
in
a
way-
that's
usable
and
not
just
over
complex.
A
Yeah,
but
if
you
are
interested,
I'm
still
more
than
happy
to
talk
to
you
about
your
use
cases
and
then
we
actually
releases
more
than
happy
to
walk
through
you
with
a
little
bit
to
set
it
up
and
make
sure
it's
meeting
needs
all
right.
I
will
stop
presenting
then
and
we'll
go
to
regular
business.
D
Now,
I'm
I'm
not
sure
if
it's
appropriate
here,
because
I'm
like
a
real
newbie
using
the
final
agent-
and
I
am
basically
looking
for
the
basic
orientation
into
how
to
select
the
right
metrics
to
to
for
shipping.
Because
we
need
to
restrict
the.
We
have
a
kubernetes
cluster
and
we
need
to
restrict
the
matrix,
because
otherwise
we
would
pay
too
much
and
ship.
B
Too
much
yeah:
this
is
a
common
thing.
We
run
into
a
lot,
I
think
so
you
have
kubernetes
cluster.
You
want
to
use
kubernetes
sd,
configs.
B
So
we
at
grifando
labs,
we
came
up
with
a
set
of
rules
which
was
every
pod,
must
have
a
label
named
name
and
a
a
port
on
a
pod
which
ends
in
like
dash
metrics,
and
that
let
us
like
have
some
basic
control
over
what
we
scrape.
B
That
really
only
works
if
you're
not
using
helm,
because
the
helm
charts.
Who
who
knows
what
you
have
control
over
and
and
like.
If
you
are
using
helm,
it
just
gets
so
much
more
complicated
and
it
seems
like
the
direction
we're
moving
in
is
towards
the
ground
agent
operator.
Only
because
it.
B
B
I
think
that
that
tends
to
be
the
answer
like
you
can
emulate
what
the
what
the
operator
does
with
service
monitors,
but
the
the
answer
is
really
just
one
job
per
thing
that
you
want
to
scrape
metrics
from
so
either
have
the
operator
generate
that
for
you
or
if
you're,
just
using
the
agent
like
directly,
you
can
kind
of
follow
that
same
pattern.
D
B
B
And
filter
on
their
names
right
yeah,
so
you
could
ignore
any
any.
We
can
help
you
out
with
that
in
the
in
the
the
community
channel.
Okay,.
D
A
All
right,
if
nothing
else,
we
really
appreciate
everybody's
time
and
coming
here
and
chatting
with
us
today
and
we'll
give
everybody
else.
The
remainder
of
the
time
and
see
you
all
in
about
a
month.