Adam Gardner
Adam Gardner
  • Видео 31
  • Просмотров 19 208
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...
Просмотров: 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
OSS Project Intros - Teaser
Просмотров 55Год назад
OSS Project Intros - Teaser
OpenTelemetry Instrumented FastAPI
Просмотров 10 тыс.Год назад
OpenTelemetry Instrumented FastAPI
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
Lifecycle of a Keptn Task
Просмотров 130Год назад
Lifecycle of a Keptn Task
Trigger a Keptn Sequence
Просмотров 129Год назад
Trigger a Keptn Sequence
Create a Keptn Project and Service
Просмотров 133Год назад
Create a Keptn Project and Service

Комментарии

  • @srsvg
    @srsvg День назад

    i searched for "opentelemetry python" and only your channel results were relevant - so you can keep on extending this series - also create playlist

  • @srsvg
    @srsvg День назад

    agree - music is distracting - video content is good

  • @user-gu4hn3zz6x
    @user-gu4hn3zz6x 6 дней назад

    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 6 дней назад

      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 19 дней назад

    Please cut out the background music. Very useful video otherwise.

  • @MrBarneyDinosaur
    @MrBarneyDinosaur Месяц назад

    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 Месяц назад

      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 Месяц назад

    wow thanks subscribed

  • @Nick-yd3rc
    @Nick-yd3rc 2 месяца назад

    Now that’s an awesome overview, thank you!🎉

    • @agardnerit
      @agardnerit 2 месяца назад

      Glad you liked it!

  • @sadiqkavungal990
    @sadiqkavungal990 2 месяца назад

    nice explanation, thank you.

    • @agardnerit
      @agardnerit 2 месяца назад

      Glad it was helpful!

  • @akshayawate7239
    @akshayawate7239 2 месяца назад

    Any specific reason to use 6004 port instead of 4317. ?

    • @agardnerit
      @agardnerit 2 месяца назад

      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 2 месяца назад

    Thanks. Waiting for sampling vids

  • @akshayawate7239
    @akshayawate7239 2 месяца назад

    Can you please add vid on otlp exporter, to send traces to jaeger ?

    • @agardnerit
      @agardnerit 2 месяца назад

      Yup! That's the very next video in the series. Coming soon. Part 3: Sending spans to Jaeger >> ruclips.net/video/tnml6Zd58gs/видео.html

  • @akshayawate7239
    @akshayawate7239 2 месяца назад

    Subscribed! Thanks for adding manual instrumentation.

  • @rajujagadeesan8806
    @rajujagadeesan8806 3 месяца назад

    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 3 месяца назад

    this was really helpful, cheers mate

  • @autohmae
    @autohmae 7 месяцев назад

    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.

  • @SimKieu
    @SimKieu 8 месяцев назад

    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?

  • @Newascap
    @Newascap 8 месяцев назад

    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)

    • @agardnerit
      @agardnerit 8 месяцев назад

      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/

    • @adityasoni3849
      @adityasoni3849 8 месяцев назад

      @@agardnerit is the process the same for azure application insights? I don't see any trace logging dashboards in azure

    • @agardnerit
      @agardnerit 8 месяцев назад

      @@adityasoni3849 I'm afraid I have no experience with Azure

    • @kwesikwaa
      @kwesikwaa 2 месяца назад

      ​@@agardnerittempo?

    • @agardnerit
      @agardnerit 2 месяца назад

      @@kwesikwaaI don’t understand?

  • @Flash_Gen
    @Flash_Gen 8 месяцев назад

    You are doing great. Keep going and thank you for simple explanation and ways of protections. Glory to King, glory to Ukraine. Take care🫶

  • @grimonce
    @grimonce 11 месяцев назад

    Nice I think I'll make use of that tonight... :)

  • @agardnerit
    @agardnerit Год назад

    You’ll be happy to hear the tracepusher now offers standalone binaries: github.com/agardnerIT/tracepusher/releases/tag/0.8.0

  • @user-xl4on3zv7z
    @user-xl4on3zv7z Год назад

    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

    • @agardnerit
      @agardnerit 11 месяцев назад

      tracepusher v0.8.0 is out now and has standalone binaries: ruclips.net/video/1O-2taFaiRA/видео.html

  • @filippov_es
    @filippov_es Год назад

    Super! Thx a lot!

  • @lucndabaneze
    @lucndabaneze Год назад

    the video is blurry

    • @agardnerit
      @agardnerit Год назад

      Try increasing the quality to 720p with the cog wheel.

  • @jadumani2003
    @jadumani2003 Год назад

    Hi @Adam - I followed the instructions in azure/ubuntu/minikube. To access the bridge which IP I need to use?

  • @afzalvth
    @afzalvth Год назад

    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. 😅

  • @davidg1279
    @davidg1279 Год назад

    I really appreciate your videos, good in concepts and in practice