tracepusher v0.8.0 release notes
1:59
tracepusher v0.7.0 released
2:17
Жыл бұрын
Logpusher in action
2:20
Жыл бұрын
tracepusher v0.6 release notes
1:04
OSS Project Intros - Teaser
1:43
Жыл бұрын
OpenTelemetry Instrumented FastAPI
6:50
Пікірлер
@RakeshShivayyaGuttedar
@RakeshShivayyaGuttedar Күн бұрын
Well explained.
@AnnabelleAYRAULT
@AnnabelleAYRAULT 9 күн бұрын
Thank you for this video
@tomhopewell2537
@tomhopewell2537 10 күн бұрын
Best explanation of open telemetry I've come across yet!
@agardnerit
@agardnerit 9 күн бұрын
Thanks!
@orendado
@orendado 27 күн бұрын
Thanks for the example & explanation , is there a link to the source code ?
@arceus02
@arceus02 Ай бұрын
Hi, Thanks for the east explanation for the topics. I have one question , what would happen if we leave the processor part empty ? like would the data flowing into the metrics would be correct or not ?
@agardnerit
@agardnerit Ай бұрын
Processors are optional. If they aren't specified, nothing happens meaning the data is not altered in any way. What you send in is what comes out again.
@devendrabharadwaz9580
@devendrabharadwaz9580 Ай бұрын
Excellent content with clarity and nice pace.
@arnabdhar-y7j
@arnabdhar-y7j Ай бұрын
Thank You for explaining Open Telemetry in such a simple way. Just one suggestion, please lower down the background music, it can cause distraction to some viewers
@rupenanjaria
@rupenanjaria Ай бұрын
Nice explaination: question though, when we say we can have multiple receivers (4:18), are you saying that OT collector is replaced by prometheus? as if I understand, OT collector receives data, processes (so that Prometheus can understand) and exports it. Later, prometheus will collect the data via pull.
@agardnerit
@agardnerit Ай бұрын
Prometheus can be understood as two different things. 1) The Prometheus data syntax. By this I mean the syntax of the lines of code that describe the metrics + the fact that metrics usually live at a standard endpoint. 2) The Prometheus "product". By this I mean the software that retrieves (or accepts) metrics, stores them, visualises them etc. Here I'm explaining that the OTEL collector (instead of Prometheus) can scrape the metrics (which are formatted like 1) and send them to a backend which isn't prometheus (2). My point about multiple receivers: Prometheus (the product) only deals with metrics. It doesn't do metrics or traces. But the OTEL collector process all of those signals. So... If your backend is capable, you can send your metrics, logs and traces to the same place.
@oe5019
@oe5019 Ай бұрын
As always greate video frim Adam about Fluebt Bit, is there any chance for a video about sending syslog messages to Fluent Bit?
@MHamza-wx5kv
@MHamza-wx5kv Ай бұрын
Thanks for the tutorial, I just have two questions, in the video where do you manage to fetch log files from the VMs? like I don't see any VM name or the IP.. or am I missing something here? Second, as per 2:21 you configured and deployed Otel Collector on each VM?
@agardnerit
@agardnerit Ай бұрын
Correct, the collector would be deployed on each VM (or at least in a location capable of retrieving the logs if the logs were on a network share (for example). One thing to mention is that you could use the OpenTelemetry collector builder (look for the “everything you need to know to get started with the collector” video on my channel) and custom build a collector with ONLY the filelog receiver, whichever processors you want (eg batch) and the exporter you need (eg. OTLP). The resulting binary would be tiny and thus a much easier “sell” to your boss to deploy in each VM
@MHamza-wx5kv
@MHamza-wx5kv Ай бұрын
Best video and best explanation! thanks for the nice explanation.
@relicfrog
@relicfrog 2 ай бұрын
Very good explanation of the core components of the OpenTelemtry Collector! I'm already looking forward to new content on this!
@RolfRochen-yb6sq
@RolfRochen-yb6sq 2 ай бұрын
Very well explained 👍
@agardnerit
@agardnerit 2 ай бұрын
Thank you 🙂
@mrmuli23
@mrmuli23 2 ай бұрын
Oh man you have amazing content! thank you so much for this explanation and looking forward to more! The way you broke down the collector and in the end introduced connectors and extensions is brilliant. Keep it up
@agardnerit
@agardnerit 2 ай бұрын
Awesome, thank you!
@LielAlmog
@LielAlmog 2 ай бұрын
This was a very good video !
@agardnerit
@agardnerit 2 ай бұрын
Thank you!
@SameerSalve
@SameerSalve 2 ай бұрын
Can this send metrics back to Prometheus or VictoriaMetrics? I was trying this but it didn't work with Prometheus/VictoriaMetrics as backend. Thanks for your videos .
@agardnerit
@agardnerit 2 ай бұрын
Yes, Prometheus could scrape the collector or you could use the prometheusremotewrite exporter. TBH though, these days I'd be expecting any backend to be OpenTelemetry Protocol OTLP compliant and thus the OTLP(http) exporter(s) should "just work". I have no experience with VictoriaMetrics so can't comment
@jscancella
@jscancella 2 ай бұрын
Perfect video for me to share with my coworkers who don't know anything about open telemetry, thank you! Im looking forward to seeing all the specialized videos on the various collector elements
@zuowang5185
@zuowang5185 2 ай бұрын
did you confuse http vs grpc with tcp vs websocket? I thought grpc is where you define the schema for compact serialization and unmarshaling
@zuowang5185
@zuowang5185 2 ай бұрын
why do you need "as span" if you aren't using `span` later?
@amasoharnold4762
@amasoharnold4762 2 ай бұрын
Does it mean it’s like fluentd ? I’ve been looking into logging I’ve got some backend api and a database I would like to have a webpage where I could track logs I’ve come across elk stack and I’ve now know that Logstash is a way to centralized all logs as well as fluentd but I’ve been seeing open telemetry popping of here and there during my search but I’m not sure what it is everything is so abstract that I’m seeing
@agardnerit
@agardnerit 2 ай бұрын
The collector and fluentd (sidetone, I'd recommend fluentbit over fluentd) are both the middleware. OpenTelemetry is not a backend (storage) for Observability data (logs, metrics, traces etc.) so you'll still need a backend system (ELK, Dynatrace, Datadog, Opensearch etc.). Would it be helpful if I made a short explainer viideo on "what is OpenTelemetry?"
@amasoharnold4762
@amasoharnold4762 2 ай бұрын
⁠​⁠​⁠​⁠​⁠​⁠​⁠​⁠@@agardnerityes I guess that’ll be nice but I don’t know if a developer would find it useful or know what’s the use case I guess this is a very deep Devops thing which I am not I just wanted something to track logs in a nice way since I’m using docker and can’t keep running dog logs command I think I’ve been seeing this fluentbit thing as well but they aren’t a lot of resources like fluentd I didn’t even know this term flying around called observability but I guess it’s part of a broader name given to do certain things Thank you very much for your response also can I know which is the most simplest solution for my use case I just want to have a way of viewing my logs and nothing to heavy or resource intensive I’m currently dabbling with this elk thing and it seems packed with a lot of stuffs I don’t need and understand
@zuowang5185
@zuowang5185 3 ай бұрын
annoying music
@duncdudeable
@duncdudeable 3 ай бұрын
I like the music, sets a cadence to the video, just needs to be lowered a bit :)
@PrasadTupe-n3z
@PrasadTupe-n3z 3 ай бұрын
Thank you very much. Was able to replicate the same in Windows.
@agardnerit
@agardnerit 3 ай бұрын
Glad it helped!
@daddyIsBest
@daddyIsBest 3 ай бұрын
You instrumented the app, but didn't uninstrument it. FastAPIInstrumentor().uninstrument_app(app) Ain't it necessary.
@navinkumar6388
@navinkumar6388 3 ай бұрын
Learning new items Thanks 🙏 for this video 📸 With Love from India 🇮🇳
@agardnerit
@agardnerit 3 ай бұрын
I’m happy you found this useful. Let me know if you find any cool projects that I should review!
@nforlife
@nforlife 3 ай бұрын
I'm new to open telemetry and this was very informative
@agardnerit
@agardnerit 3 ай бұрын
So glad you found it useful.
@akshayawate7239
@akshayawate7239 4 ай бұрын
Hi @adam, couple of months back, I mailed you regarding Otel collaboration
@agardnerit
@agardnerit 4 ай бұрын
Sorry, I missed that. What collaboration?
@mahzorimipod
@mahzorimipod 4 ай бұрын
cool story
@vivekshukla2480
@vivekshukla2480 4 ай бұрын
Thank you so much. How can I start the collector up? Your code in github doesn't have `otelcol` file - I would appreciate your help.
@agardnerit
@agardnerit 4 ай бұрын
I don’t add (and don’t recommend adding) large binaries to repos as it bloats the repo unnecessarily. There are many collector distributions available to choose from (that’s my next video about how you choose). But to get you going for now: download the appropriate binary from here: github.com/open-telemetry/opentelemetry-collector-releases/latest extract it and run it
@vivekshukla2480
@vivekshukla2480 4 ай бұрын
Running this `docker run -p 16686:16686 -p 4317:4317 225` produces error stating Unable to find image `225:latest` locally. I was so looking forward to getting this done, using your tutorials, but I may end up moving on to someone else's. :(
@agardnerit
@agardnerit 4 ай бұрын
That command is referencing an existing container ID because I had Jaeger running previously. Just replace 255 with jaegertracing/all-in-one:1.60 www.jaegertracing.io/docs/1.60/getting-started/
@vivekshukla2480
@vivekshukla2480 4 ай бұрын
@@agardnerit Thank you so much. How can I start the collector up? Your code in github doesn't have otelcol file - I would appreciate your help.
@vivekshukla2480
@vivekshukla2480 4 ай бұрын
My response somehow got deleted, but this video I am having trouble following, for example - starting from using the docker command to run the jaeger, so I used previous video to run the jaeger then even after jumping through hoops I could never get past the issue when I run `python app.py` command. I receive Transient error StatusCode.UNAVAILABLE encountered while exporting traces to 127.0.0.1:6004. error. Suggestion is appreciated.
@agardnerit
@agardnerit 4 ай бұрын
You need to run Jaeger AND a seperate standalone Otel collector. It’s the standalone collector that you need to configure (via the YAML file) to listen on 6004. This is because jaeger already runs a collector on 4317 / 4318 so you can’t use those ports for your standalone.
@vivekshukla2480
@vivekshukla2480 4 ай бұрын
What do I need to get `./otelcol --config=collector-config.yaml` running, in your previous videos I have not seen you install any specific tool to be able to call this command successfully, Did I miss something?
@agardnerit
@agardnerit 4 ай бұрын
Thanks. You're right actually. I missed that. I'll make a quick video explaining the different options soon. But in short, see this page: opentelemetry.io/docs/collector/installation/ There are many different distributions of the collector, the OTEL project produces a few that supposedly are optimised for particular use cases. Some vendors produce their own and you can even build your own. In these videos I use the contributors distribution. I downloaded the binary for my OS from here: github.com/open-telemetry/opentelemetry-collector-releases/releases/latest
@vivekshukla2480
@vivekshukla2480 4 ай бұрын
@@agardnerit Thank you for your quick response. I will let you know how it goes, to provide some background, I was able to follow your kzbin.info/www/bejne/a3jHiJyuqNSjm8ksi=GIkjN1HisC-gSE6y video that let me visualize the traces. I am assuming this video will take it a step further. Am I not right?
@leamon9024
@leamon9024 4 ай бұрын
Hi, thanks for the video. Could you explain the difference between OpenTelemetry Collector and jaeger-collector?
@agardnerit
@agardnerit 4 ай бұрын
Thanks for the suggestion, I'll put this topic on my backlog! The timing of your request is interesting as the Jaeger project is looking to move more towards the OTEL Collector. IMO using the OTEL collector is the future proof decision.
@nrodear
@nrodear 4 ай бұрын
thank you. gg
@oe5019
@oe5019 5 ай бұрын
Wow Greate Video!, but you didn't mention how you jave installed the OpenTelemtry Collector, did you ran it on a Container?
@agardnerit
@agardnerit 4 ай бұрын
At 03:47 you can see I've download the otelcol-contrib collector (the OpenTelemetry contrib distribution) and am running it as a standalone binary. There are many ways to run the collector so I didn't want to go into each one. You're right though, for future videos I'll call this out more clearly. opentelemetry.io/docs/collector/installation/
@srsvg
@srsvg 5 ай бұрын
i searched for "opentelemetry python" and only your channel results were relevant - so you can keep on extending this series - also create playlist
@agardnerit
@agardnerit 5 ай бұрын
Thank you. Please do suggest content you’d like to see and if I know enough about it, I’ll do it
@srsvg
@srsvg 5 ай бұрын
agree - music is distracting - video content is good
@GabrielCamboim-p8s
@GabrielCamboim-p8s 5 ай бұрын
Just wanted to say that I've found your series very helpful. For the last week I've been trying to understand these concepts, but none of the other videos or docs that I've found helped me as you did. Keep creating content about telemetry in Python! <3
@agardnerit
@agardnerit 5 ай бұрын
Thank you so much. If you want specific content covered, let me know and if I know it, I’ll do an episode on it :) We’re all learning all of this together. Good luck!
@dotnetfanboy
@dotnetfanboy 5 ай бұрын
Please cut out the background music. Very useful video otherwise.
@MrBarneyDinosaur
@MrBarneyDinosaur 6 ай бұрын
So a span is effectively a structured log (e.g. a JSON Object), and a trace is a collection of structured logs (e.g. an array of JSON objects) - where each structured log may have different attributes (including arrays of other structured logs)?
@agardnerit
@agardnerit 6 ай бұрын
Love the comment. It's one of the reasons I make this content. To provoke thought and discussion - so keep them coming :) I've always felt a bit uneasy with the projects use of that terminology. While technically, yes, spans are structured and traces are collections of spans. I feel like this oversimplifies and may lead new users (the intended audience for this video) to equate spans == logs. That would be a mistake because then they think: "oh well, I'll just use logs as I already do". You're not wrong though, technically. At the end of the day, Observability for me is the means to provide the ability to do your job (fix / prevent the issue, generate a report for the boss etc.). Whether that takes the form of a log line, or a span, or a metric, ultimately who cares (beyond those of us who live and breath Observability).
@Emma-tm1mx
@Emma-tm1mx 6 ай бұрын
wow thanks subscribed
@agardnerit
@agardnerit 6 ай бұрын
Thanks for the sub!
@Nick-yd3rc
@Nick-yd3rc 7 ай бұрын
Now that’s an awesome overview, thank you!🎉
@agardnerit
@agardnerit 7 ай бұрын
Glad you liked it!
@sadiqkavungal990
@sadiqkavungal990 7 ай бұрын
nice explanation, thank you.
@agardnerit
@agardnerit 7 ай бұрын
Glad it was helpful!
@akshayawate7239
@akshayawate7239 7 ай бұрын
Any specific reason to use 6004 port instead of 4317. ?
@agardnerit
@agardnerit 7 ай бұрын
I tried to make that clear in the video. Obviously I didn’t do a good job! Jaeger all-in-one image comes with its own collector so 4317 was already in use. It was also to demonstrate that even though 4317 is the standard, you don’t HAVE to use that
@akshayawate7239
@akshayawate7239 7 ай бұрын
Thanks. Waiting for sampling vids
@agardnerit
@agardnerit 7 ай бұрын
Great idea!
@akshayawate7239
@akshayawate7239 7 ай бұрын
Can you please add vid on otlp exporter, to send traces to jaeger ?
@agardnerit
@agardnerit 7 ай бұрын
Yup! That's the very next video in the series. Coming soon. Part 3: Sending spans to Jaeger >> kzbin.info/www/bejne/qp_QnWmQmZprndU
@akshayawate7239
@akshayawate7239 7 ай бұрын
Subscribed! Thanks for adding manual instrumentation.
@rajujagadeesan8806
@rajujagadeesan8806 8 ай бұрын
Thanks Adam. It was really helpful for my current project. Is it possible to show me how to instrument "FastApi Fargate-based-container" to push the data to Dynatrace. Thanks in advance.
@bjorn5366
@bjorn5366 8 ай бұрын
this was really helpful, cheers mate
@agardnerit
@agardnerit 7 ай бұрын
Glad it helped
@autohmae
@autohmae Жыл бұрын
Thanks for creating this overview. It's gonna be very good for the industry when we do end up with some of these standards being widely adopted. But let's be very clear, part of the point is to have more data, data turns into big data, big data turns into machine learning and machine learning will be one way to do anomaly detection. This may sound silly and slightly off-topic, but I feel all the event-based systems all started with webhooks. Without webhooks I don't think we would have gotten to this point. I've always kept tabs on Jeff Lindsay aka progrium, for a while he was doing interesting things in the container space, but sadly at some point it stopped.