![Adam Gardner](/img/default-banner.jpg)
- Видео 31
- Просмотров 19 208
Adam Gardner
Добавлен 13 окт 2018
The channel for Observability, OpenTelemetry and DevOps content.
What I learn, I share. Join me in the learning journey and let's learn together.
agardner.net
What I learn, I share. Join me in the learning journey and let's learn together.
agardner.net
Use CURL for OpenTelemetry Logs?? YES!
Yes! You really can use curl to send OpenTelemetry logs!
This is the easy button. Send a curl to an OpenTelemetry collector and get a log line into your observability system.
Transcript
Open telemetry, metrics, logs, traces, processors, receivers. Where is the easy button?
I just want to send a log line in and see something. Let's get straight to it. Now, everyone has curl,
so what I really want is some way to use curl to send data into an open telemetry collector,
process that data if I need to, and send it on out as a log entry or some other data type
to my backend system. That's precisely what we're going to do now. We are going to use
the webhook event receiver in the collector and send it on...
This is the easy button. Send a curl to an OpenTelemetry collector and get a log line into your observability system.
Transcript
Open telemetry, metrics, logs, traces, processors, receivers. Where is the easy button?
I just want to send a log line in and see something. Let's get straight to it. Now, everyone has curl,
so what I really want is some way to use curl to send data into an open telemetry collector,
process that data if I need to, and send it on out as a log entry or some other data type
to my backend system. That's precisely what we're going to do now. We are going to use
the webhook event receiver in the collector and send it on...
Просмотров: 29
Видео
FastAPI and requests [Python] with OpenTelemetry in 2 lines of code!
Просмотров 144День назад
How to instrument Python FastAPI and requests modules automatically in just two lines of code. Transcript Fast API and the requests module are two of the most popular pieces of the Python ecosystem. A while ago, I did a video on how to manually instrument with open telemetry, but you know, times have moved on and there are really good auto instrumenters now. So in this video, I'm going to show ...
OpenTelemetry filelog receiver + OpenObserve: Any logs to any destination!
Просмотров 14214 дней назад
Use the OpenTelemetry collector's filelog receiver to grab any log, from anywhere and send it to any system you want (or multiple backends simultaneously). This video will show you how. Timestamps 00:00 The Status Quo: Manually processing log files 00:30 Manually looking at individual log files does not scale! 00:45 OpenTelemetry's collector and filelog receiver to the rescue 00:50 Gotcha! Don'...
Redis in Python in under 4 minutes for beginners
Просмотров 5714 дней назад
Here's how to use Python in Redis in under 4 minutes. This video will get you started with the very basics of working with Redis in Python. You'll also see cache busting techniques (aka automated removal of values from Redis after a set amount of time). This video is meant for beginners to get you up and running as quickly as possible. Sections 00:00 Intro 00:09 Installation 00:36 Definition of...
Spans vs. Traces in OpenTelemetry: Which is Which?
Просмотров 146Месяц назад
This quick tips video discusses the differences between spans and traces in OpenTelemetry
OpenTelemetry and Python: Manually create complex traces
Просмотров 142Месяц назад
Part One: Part Two: Part Three: The Code Repo: github.com/agardnerIT/python-opentelemetry-manual-instrumentation/tree/main/part-four Here are two demo applications, manually traced in Python with OpenTelemetry. This demonstrates to full power of OpenTelemetry in Python, sending the data to the @cncf project Jaeger trace and analysis storage backend. Timestamps 00:00 Intro 00:42 Start Jaeger 01:...
OpenTelemetry and Python: Sending spans from Python to Jaeger via an OpenTelemetry Collector
Просмотров 4382 месяца назад
Part one: ruclips.net/video/iVQmhMLEkS0/видео.html Part two: ruclips.net/video/jEbArKXtd0Y/видео.html All the code is here: github.com/agardnerIT/python-opentelemetry-manual-instrumentation/tree/main/part-three 00:00 Intro and Recap 00:27 Starting Jaeger 01:12 Explanation: Why you should use an OpenTelemetry Collector 01:40 Starting the OpenTelemetry Collector 01:43 Testing Span Ingestion using...
OpenTelemetry & Python: Manually set Span Status, Span Attributes and Span Events
Просмотров 2492 месяца назад
Part 1 of this tutorial is here: ruclips.net/video/iVQmhMLEkS0/видео.html Part 3 is here: ruclips.net/video/tnml6Zd58gs/видео.html In this video I'll explain the purpose of different parts of the span JSON output and add the Python code to manually set the span status, span attributes and add a span event. Code samples: Code samples: github.com/agardnerIT/python-opentelemetry-manual-instrumenta...
OpenTelemetry & Python: Manual Instrumentation for Beginners
Просмотров 6703 месяца назад
In this video I walk through how to manually instrument your very first Python application with OpenTelemetry. This video is part of series which will progressively expand the OpenTelemetry monitoring in Python. If you are new to OpenTelemetry, this is the perfect introduction to instrumentation in approximately 5 minutes. Read along with the text based version: agardner.net/manual-tracing-open...
Helm Plugin 101: How to create a Helm Plugin
Просмотров 16211 месяцев назад
Hands-on code walkthrough on how to create a Helm plugin from scratch. The example is then extended to create a plugin which generates OpenTelemetry spans and allows tracing of Helm commands using tracepusher. The traces are pushed into, and visualised by Jaeger. *Links* - Blog: agardner.net/my-first-helm-plugin - Helm Plugins Guide: helm.sh/docs/topics/plugins - OpenTelemetry: opentelemetry.io...
tracepusher v0.8.0 release notes
Просмотров 12011 месяцев назад
tracepusher v0.8.0 is out now! 1) Thank you so much to the 7 new contributors in this release! 2) Standalone binaries are the big news in this release. No more installing python or running Docker to generate #OpenTelemetry traces. Just download the tracepusher binary and execute it. 3) The Span duration can now be configured to either milliseconds or seconds - meaning the precision of pushed sp...
Perform a SQL Injection Attack (and how to avoid in your code!)
Просмотров 158Год назад
In this video I discuss what a SQL injection is, I'll show you how to perform a SQL injection, describe ways to avoid one being performed on your application and discuss some recent real-world SQL injection attacks. Links Hands On Exercise (do a SQL injection yourself) killercoda.com/agardnerit/scenario/security-sql-injection
tracepusher v0.7.0 released
Просмотров 89Год назад
tracepusher v0.7.0 has been released. Generate OpenTelemetry traces with tracepusher. Thank you so much to our contributors for all your hard work! New Features - Span Events support - hexdump changes to openssl for trace and span ID generation - Documentation improvements Links v0.7.0 Release: Documentation Website: agardnerit.github.io/tracepusher
Logpusher in action
Просмотров 149Год назад
Generate and send OpenTelemetry compatible logs from anywhere with logpusher. Documentation: agardnerit.github.io/logpusher/ Hands on Demo: killercoda.com/agardnerit/scenario/logpusherOSS #opentelemetry #logs #logging
tracepusher v0.6 release notes
Просмотров 45Год назад
Release notes for tracepusher version 0.6 00:00 Intro 00:10 tracepusher supports span attributes 00:35 tracepusher has a website tracepusher: agardnerit.github.io/tracepusher/ #opentelemetry #distributedtracing
Tracing Gitlab Pipelines with OpenTelemetry
Просмотров 803Год назад
Tracing Gitlab Pipelines with OpenTelemetry
Get Started with Fluent Bit in 2 minutes
Просмотров 3 тыс.Год назад
Get Started with Fluent Bit in 2 minutes
OpenTelemetry, OpenFeature, CloudEvents, CDEvents and OCSF
Просмотров 572Год назад
OpenTelemetry, OpenFeature, CloudEvents, CDEvents and OCSF
Docker and OCI Image Analysis: Dive Project Intro
Просмотров 310Год назад
Docker and OCI Image Analysis: Dive Project Intro
Pyrsia Overview and Hands On in 5 minutes
Просмотров 68Год назад
Pyrsia Overview and Hands On in 5 minutes
Hands on Intro to NATS in Under 4 Minutes
Просмотров 129Год назад
Hands on Intro to NATS in Under 4 Minutes
Create an API in Python in under 6 minutes!
Просмотров 551Год назад
Create an API in Python in under 6 minutes!
Service Level Providers, SLIs and SLOs in Keptn
Просмотров 140Год назад
Service Level Providers, SLIs and SLOs in Keptn
Keptn Job Executor Service + Quality Gate
Просмотров 180Год назад
Keptn Job Executor Service Quality Gate
Trigger Webhook Integrations from Keptn
Просмотров 163Год назад
Trigger Webhook Integrations from Keptn
i searched for "opentelemetry python" and only your channel results were relevant - so you can keep on extending this series - also create playlist
agree - music is distracting - video content is good
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
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!
Please cut out the background music. Very useful video otherwise.
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)?
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).
wow thanks subscribed
Thanks for the sub!
Now that’s an awesome overview, thank you!🎉
Glad you liked it!
nice explanation, thank you.
Glad it was helpful!
Any specific reason to use 6004 port instead of 4317. ?
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
Thanks. Waiting for sampling vids
Great idea!
Can you please add vid on otlp exporter, to send traces to jaeger ?
Yup! That's the very next video in the series. Coming soon. Part 3: Sending spans to Jaeger >> ruclips.net/video/tnml6Zd58gs/видео.html
Subscribed! Thanks for adding manual instrumentation.
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.
this was really helpful, cheers mate
Glad it helped
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.
Thank you so much for the video. Could you please help me understand why there're 6 spans? From what I see, you loop through 3 times, each time generate a span. Then there should be only 3 spans, right?
Thank you, this is great to know about! If you have any more info, I would love to know how I can: 1. Integrate this with grafana instead of jaeger 2. Maybe check for an alternative of the context manager (indenting could become really messy really quick for each block I want telemetry info from)
Thanks! Grafana is the visualisation layer, you still need a place to store the traces (Jaeger, Dynatrace, Datadog, SigNoz or another commercial vendor). You then use Grafana to visualise the traces using a data source: grafana.com/docs/grafana/latest/datasources/jaeger/
@@agardnerit is the process the same for azure application insights? I don't see any trace logging dashboards in azure
@@adityasoni3849 I'm afraid I have no experience with Azure
@@agardnerittempo?
@@kwesikwaaI don’t understand?
You are doing great. Keep going and thank you for simple explanation and ways of protections. Glory to King, glory to Ukraine. Take care🫶
Nice I think I'll make use of that tonight... :)
You’ll be happy to hear the tracepusher now offers standalone binaries: github.com/agardnerIT/tracepusher/releases/tag/0.8.0
it's a good idea but has so many requirments: - you need python in your job image - all the other jobs cannot have before and after scripts blocks anymore unless you override it duplicating the logics
tracepusher v0.8.0 is out now and has standalone binaries: ruclips.net/video/1O-2taFaiRA/видео.html
Super! Thx a lot!
the video is blurry
Try increasing the quality to 720p with the cog wheel.
Hi @Adam - I followed the instructions in azure/ubuntu/minikube. To access the bridge which IP I need to use?
Hey Adam! What you have chosen the path to talk and share about OSS is really really incredible. This is going to be amazing ahead. I always told you. You had that potential you need to open up. #CNCF is calling you. 😅
I really appreciate your videos, good in concepts and in practice