For being here, so this I'm on Agines, it's my first time here presenting at my first
IT talk.
I hope this is going to be well, if I'm not done improvising, so yes, I hope you don't
get bored, at least understand the 50% that I want to share today.
So this is actually, this is going to be like observability beginner friendly, because
Mastering is like a gomones, but we're going to try, we're going to try.
So yes, about me, so I am 33 years old, I'm software engineering, I'm like activism
in teamwork, you design communication, innovation, even if I'm unpurple, I'm not like
silver feminists or something like that, but it's my favorite color, yes, so I mean IT
2013, and I keep going, I love to search for solutions, and yeah, so more in the technical
way, so over the past years I, I, I, I, I, you front of development, I do, you, you, you,
UX and UI research and now monitoring and observability, as I say, I'm, you know, I'm
in, in, in a path of, of my career that I want, like to become more like a solution
engineer, searching for solutions, for problems, so what we're, we be covering in today's
session, it's, um, so observability versus monitoring, because I think this is important to
know, um, what is observability, because it's not just monitoring, it's a monitoring
as part of observability, how install, how to install signals using their easy installation
script to do the self-hosted, um, a brief overview of open telemetry and why called instrument
is instrumentation is essential for observability, the demo, we're going to go deep,
like deep dive in, to signals to, and then we, we are going to have the opportunity to explore
signals cloud together and then some QA, so, uh, no, so, thank you, Dali for the photo,
um, so, imagine observability, like cooking a meal, okay, I love cooking so much, so, if you,
actually, if you, how I explain this, so, imagine you're cooking, you're, you're baking
a cake, okay, this is, monitoring is like, okay, you, you know when the time's up, you
know, uh, when it's ready, but you don't know if the cake is burnt, okay, so if we go
more deep in observability, it's like knowing in every step of the, of the, of what you're
cooking, if it's to salty or, it's, um, um, lack of a, lack of sugar, I don't know, did all
this kind of stuff, stuff, um, to, to summarize, okay, to summarize, uh, you can follow
the recipe, you know, this is your code, um, but you don't know how, what exactly is happening
into an application, so, with this, without these ingredients, you will not, you will not
have an, an observability, uh, method, so, you know, you know, when, oh, well, sorry, I, um, well,
so for me, actually, this is our, the training, three main ingredients, so, logs, metrics
and traces, okay, logs are, okay, we're recording the, recording the events, metrics are
for the latency, and okay, how much requests my application have, uh, there's a problem,
and the traces are like the journey of your application, imagine you click in some point,
what is happening, the whole thing, and, but what is the jobs to be done of observability,
so it's instrumentation, so it's the, the fact of, um, putting, um, props in your code to know
what is happening, the monitoring is asking the same question, so, okay, the questions that
are, uh, instruments monitoring what this is, uh, this is something that I'm not like, um,
learning you today, but in fact, these are the three main things to say, okay, we have observability,
we know the bugging, uh, to explore, uh, yes, complex questions and go asking questions over the
fly, and so, yes, more deep dive, it's like, yes, you, you determine what needs to be observed,
so your key metrics, logs, traces, um, define the KPIs and as a loaves, so understand the
dependencies and critical parts, so I gather, so collect, it's okay, what, what, what, what, what,
what are, we're going to collect, but we need, open team of three primitives, the in the previous
talks, they talk a lot about instrumentation, so this is actually, um, really important part,
collect instrument, so do analyze that they're what, when can, we make dashboards that are
efficient for us to know what is happening in our application or even putting alerts,
to be notified that something is going wrong in, in our, in our systems, so now, uh, so yeah,
I want to just do, to, to make it clear, to sensitive, sensitive, sensitive, you, how, um, when we
can say that we have observability, because it's not just monitoring and having logs, it's more
than that, so for signals, okay, signals is an open source tool, um, I think it's over three years,
now, so it's super easy, uh, to install, why I want to present signals is because I'm not telling
signals is better than graphana, data, though, or something like that, I, I wanted to share
signals, because it helped me as a, just a frontant person, helped me a lot to understand
about observability and infractor, and, you know, this, so actually, what, what do we need to,
to install signals in, in, in, in, in a machine, on, in VM, also they have, in Kubernetes,
they have health charts, but I'm gonna focus in the self-hosted method, so we need to have
Linux and macOS, it's normal, um, to Docker, minimum for gigabytes of memory allocated to Docker,
and we need to open port to 3301 for the frontant, 43, 17 for the DRCP request, and 43, 18 is
will, um, to the HTTP request, okay, you can have, you can make it, this is only in the, in the
documentation, but I'm just summarizing, um, so you can have, you can use the install script,
or the, or Docker, Docker compose, so actually, I want to, uh, to, how, I want to show you actually,
um, if I can, if I can, if I can, oh my god, yes, I'm, I'm just not used to do this, okay,
this is my local host, okay, you, here is nothing, okay, last five minutes, um, I'm losing time here,
so what I wanted to show, what is actually super easy to understand, signal, you can, you can
put receivers, okay, you can, uh, so here, these actually also in the documentation, like, for
example, I want to send a logs, like, just format it like this, so you, you, yes, you all
you're, you're receiver and, for example, right, just want to, um, I'm, I did just, uh, make
file that it's just for the, just for the presentation, so I want to send logs, so this is, I, I
open a new port that is the, um, the 80, um, 82, so if I send logs, I'm going to send, I know,
I know the one, yeah, uh, so if I, sorry, let's hear, I can see from here, there are my logs, logs, logs,
so this is how can I send logs, this, this is just for the, this is a basic, but actually,
how, how do you see the logs, um, I represent that the UI is in super, super user-friendly,
so this, this is our logs made by hand, like, as you see, in JSON, um, so if we,
I hope you, I'm not, you're not getting lost, um, so yes, so that's, that's what the style is, so
after that, after things selling, you have, um, seven, like, you know, one, two, three, four, yes,
some containers, double containers that communicate each other, so the collector, this is the
collector that I, I was talking about, to send your, um, yes, your metrics, uh,
traces and logs, this is the port, 80, 82 that I opened that, when I, when I, when I show you the
otel collector, EML, that's the configuration, what it's cool about signals and easy to understand,
it's like, they have just one database, they, if we compare to graph now, okay,
revenue is a little bit, um, difficult to understand, because they have temple, they have
lucky, they have Mimil, you have to, um, know about trace, square, uh, log, square,
prom, square, here in signals, you just have click house, as data stored, other storage.
Now I'm gonna just, so talking about the instrumentation, right, because we don't have, we don't,
if we don't have instrumentation, we don't have observability, so I, um, this is a side project,
okay, you, you must see that I, I like too much cooking, so, in fact, it's just, uh, just an API,
that recommends you, uh, a recipe, a front end in next JS and a backend, but I'm just using this,
just to, to know how you instrumentate your code. So for example, if we take the example to next
JS, you know JavaScript, JavaScript is, so, what just things to install, and then, um, you have the
SDK, SDK, or what providers, so there was a talk about the opening inventory, the first one,
in this room, that it actually goes deep dive about instrumentation, it's really interesting.
So for the, for Python, you, we're gonna use, uh, this package, so you know Python, you know what
our requirements, um, just then, then you, just, um, this is the, the backend part, so this
is where it's handling the auto-dification, and we'll be securing my API, so it's really, really,
really basic that I'm gonna show you today. I also did, um, a bot, a Slack bot, it's, it's, it's called
server scope scope, it's the name of my dog, because he observes all the things that I'm doing,
while I'm cooking, while I'm, with, I'm, well, I'm working, so now we're gonna, yes, four,
what is signals? This is, so I show you the, the, um, how the, the loads are representing, okay,
actually you can even, um, create an alert about these, but when I'm going to show you,
is, uh, dessert, are the services, okay? Oh my god, there's a half a bunch of, uh,
I can't see. Now it's, uh, I'm just gonna change something about my monitor, okay, so you're like,
I'm just gonna, to clone it, because otherwise I cannot see really well to, yes,
or anything, yep. So you tell me when, yep, now it's good. So this is, in the last, last five
minutes, nothing happened. Now we're going into the, oh sorry for my UI, okay, as I said,
it's really, really basic, okay, I want to sign up, and I say, please force them,
the username is supposed to cool, force them, uh, force them,
dot com, and
okay, now he is, we're gonna discover a meal, okay, my mode is good, and I'm vegetarian,
I don't have the picture, but it's, okay, this is a typical plate of,
equal to that scope on the u-com, but it is, um, so, now, what it's happened,
it's right now, I have my front end, okay, if I just, I have my back end, there's a, there's a little bit
of, uh, interval, okay, when I, and what do you have, I have my API, okay, that is cool,
I sell them. So these are my, these are my three services that are, they're actually
instrumentated, with instrumentation, they won't be there, okay, so we can go and, okay,
search for, for, I don't know, for what is happening in, in, in your, in your application,
this is the front end part, um, if we go to the, um, I don't know, to the back end,
actually also, you, you see that I, I register, and they have, um,
they're all the traces about, uh, what happened when I post, out, registered,
these are all the things that it happens, you know, um, what it's a front end application,
so you, I have a course, maybe the where I, I use Express, so, uh, to the time,
that you can even, this is open telemetry, in this part, I can record my events, okay,
what, when I, when I, when I registered, I check if the user exists, uh, what, you hash the
password, you create a new user, and you generate a GWT token, okay, if something goes wrong,
we'll be, um, I don't know if I, so here also, you have, um, the database, okay, because when I'm creating,
I use Post-Resquale, that queries, so it starts, they insert, and then they come in, and they,
we can say, they, they login, because okay, I have my, do a little token, and this why I could
enter in my application. Um, what, what it's cool about signals is you can say this view, for
example, if you, you want, uh, to say this view, and you say, okay, this is interesting, um,
which color, yes, purple, and when I go to the views, I have several ones, this is our, um,
other views that I, I, I record, so, other thing, I can show you about, uh, about signals,
are the alerts, okay, yes, so this, this is how you handle the alerts, but first, you have, you need to,
sorry, uh, you need to configure it, to configure it, um, in your settings, settings, sorry,
I have a channel, okay, this is, uh, and this is correlated with, sorry, yep, uh, also,
the way I wanted to say that the, the signal is open source and the community, it's really active,
and the, the answer questions, the, you know, then, if we have time, we are going to explore
the signals cloud, so this is, this is how the alerts are representing, so if I just go and test
something, uh, sorry, demo, that, uh, I hope this works, otherwise, okay, this is sending
on, on notification now, and we see, no, two hours, it's going to arrive, huh?
12 hours, sorry, so we're going to, we're going to do another, another, another alert, okay,
we're going to, oh yeah, for example, if I want to, other, new alert,
um, look, base it, for example, um, namespace equal staging when something is, I, I'm doing just,
just to show you the interaction with the alert, okay, it's not, okay, I choose my channel,
it's just to show you that it's really, um, easy to, um, um, what a threshold.
flag and not test it here, I don't know why it can not test, well normally they can
sorry, I don't know why I can not set the other words, but I don't know what this happened,
normally, it's super easy to, I'm not quite familiar, I don't know, okay, sorry, this
is the main, what is a staging, okay, a staging, I think this is the thing I didn't put
a name on the, so yes, I created Roo, sorry, I just, oh, hard, threshold, okay, sorry,
yep, no other's found during all, yes, actually they have to, to know if there's, there's
something otherwise they, it's not, it's not gonna work, but it, it works, other thing
that I want to show you, okay, now there's no more, no more data, but if I, for example,
how you correlate different service, if we are, we are making like, we have a microservice,
so for example, I get recommendation from the back end now, in the demo I just, I show
you that was from the, from the front end, sorry, make, get recommendation, okay, this
is interacting with the Python API that I have here, okay, and if we go to signals,
of course they have an interval, come on, sorry, how is it good, yep, so if we go, and we
see the back end now, there's minutes, so I get, what is happening now, and get recommendation,
this is the back end, so Python, the root of Python is predict, the root of, of NASJS
that is the back end that is, it's an interacted with, with the Python API, you can see,
okay, I can see the name of my, the name of my, my functions, this is getting recommendation
to plus, and they post, okay, because I have, I need to post, and this, you, you see in
your flame graph, yep, your, the correlation between the two, two services, in fact,
and this, what, this is why I say traces are highly, highly recommend if you want to know
the, what is happening through all your system, so I have five minutes, right, okay, what
I wanted to also, I have the opportunity to talk when we, the signals, maintainer, he
gives me access to the demo, and actually there, what's been such improvements in signals
that you can check your monitoring, check your infrastructure, you can monitor your
infrastructure, I don't know where, where this host is something, but we can see that
is a GK, K, E, so Google Cloud Platform, and you can also, so if signals are installed
in a Kubernetes, our processor, they're going to show the metrics about your, yes, of
your system, they have message accused with Kafka, well, the exceptions, errors, actually
is pretty cool, the service maps, they have a lot of service, so it's going to take, maybe,
so this is how, actually, you, you can correlate, they correlate the, what else, what
else that I can show you is the, oh yeah, in my, this is the self-costance, so this is my,
from my machine, you can actually have custom dashboards, okay, for example, this is for
HTTP monitoring, this dashboards are made from the community, you, you can have like
argocity dashboards, you can have like, also, dv, dv calls, so if I go from the backend system
that I just show you, I can have om, in, in, yes, in another kind of view, you, you have
your, your queries, and yes, just go, dv about your application, what is happening, and
you can set alerts from here, and all day, you know that, and, sorry, now this is, yeah, sorry,
so I think I, I, I, I make up the whole tour, that way, what I, until you before, they have
a bunch of dashboards that you can go copy and, and put it in, in the dashboard part, like,
graph, and I, well, we already, for a little bit, signal cloud together, and I think this
is all, if you have questions, I have, well, we have two minutes, just two minutes, sorry,
I hope, any questions, so what, so what's the pricing model, the pricing model, I don't
know that, if you want to associate those in subhosted, in a VM, that you are going to
handle, I think the cause are going to be less, but actually, I didn't go deep dive, in
this, in this, in this, but I can inform it, and I can share you the information, sorry,
because it was more that, in the fact that I did this presentation more in the way that,
it's super easy to understand observability, and, and, and, I don't know, explore your
systems and all, but I didn't go to, to, to, to the price and price and model, but I think
it's, it's less, the way there's a, that, the way there's done, done, get off on a cloud
for a simple sort of, one more question, no, okay, then thanks again.