Forget Grafana And Prometheus! Start With This.

Sdílet
Vložit
  • čas přidán 8. 05. 2024
  • Get 20% off our new Deep Dive: Domain-Driven Design course on Dometrain: bit.ly/44pf7sE
    Become a Patreon and get special perks: / nickchapsas
    Hello, everybody, I'm Nick, and in this video I will show you how you can get started with metrics, logs, spans and dashboards using OpenTelemetry the easy way. We will do that by using .NET Aspire's dashboard as a standalone service.
    Workshops: bit.ly/nickworkshops
    Don't forget to comment, like and subscribe :)
    Social Media:
    Follow me on GitHub: github.com/Elfocrash
    Follow me on Twitter: / nickchapsas
    Connect on LinkedIn: / nick-chapsas
    Keep coding merch: keepcoding.shop
    #csharp #dotnet

Komentáře • 73

  • @Dominik-K
    @Dominik-K Před 12 dny +4

    This is pretty amazing! Thanks for sharing, I'll definitely use this

  • @ivanp_personal
    @ivanp_personal Před 8 dny

    Amazing dashboard. Thank you for making this video about it.

  • @buddy.abc123
    @buddy.abc123 Před 13 dny +1

    Lol you're a life saver. I have been trying to deploy grafana, loki and Prometheus on docker swarm. It works locally but I have Loki errors in UAT. Which is weird, I'm going to check this out even though it's not persistent

  • @andreaskarz
    @andreaskarz Před 8 dny

    Very cool stuff, amazing

  • @kimfom
    @kimfom Před 13 dny +2

    I've been waiting my whole life for this!

  • @KibbleWhite
    @KibbleWhite Před 13 dny +12

    If there was a way to persist the metrics this would be perfect. However for a quick way to get things rolling it is great. Thanks 🎉

    • @stephen6605
      @stephen6605 Před 13 dny +3

      I think you can add the app insights integration, and it will be stored there

    • @davidtaylor3771
      @davidtaylor3771 Před 13 dny +1

      @@stephen6605 Yes but that has nothing to do with the dashboard. You can export from any app to any endpoint and/or multiple endpoints, so you can add app insights as a separate telemetry endpoint - but it has nothing to do with the dashboard thing Nick is talking about.

    • @stephen6605
      @stephen6605 Před 13 dny +3

      @@davidtaylor3771 maybe I got it wrong but I responded to a comment where it was said about "persisting metrics", and nothing about the dashboard

  • @alexclark6777
    @alexclark6777 Před 13 dny +20

    @7:08 "Total 69 Result(s)"
    Surely that was not a coincidence...

  • @ninjatogo
    @ninjatogo Před 13 dny +6

    This is fantastic, was actually just looking for something like this.
    Since this is just storing things in memory at the moment, does it currently have a cap to the amount of data it can keep stored, or will it just grow until your machine runs out of memory?

  • @MZDisaster
    @MZDisaster Před 13 dny +7

    I personally use Datalust Seq would never change it.
    If you need graphs it's so easy to create them, you can also query and analyze your logs easily with SQL like language.
    You can setup alerts and supports injestion of logs via open telementry or with serilog.

  • @FredericMauroy
    @FredericMauroy Před 13 dny

    Nice, I tried to use this last week but failed to display my custom metrics. Do you have a public repo with the code you showed so I could compare ? Keep up the great content !

  • @urzalukaskubicek9690
    @urzalukaskubicek9690 Před 13 dny +16

    What is the communication model here? Is the dashboard polling the app or is the app pushing to dashboard?

    • @davidtaylor3771
      @davidtaylor3771 Před 13 dny +14

      App is pushing to dashboard using OTLP via GRPC. There is no collector, the app(s) just directly pushes to the dashboard (it is all in-memory) via GRPC.

  • @LlamaNL
    @LlamaNL Před 13 dny +4

    If i persist logs to file for instance, can i then read them back in the dashboard as well? If it doesn't, what is a solution that does?

  • @davidpine7
    @davidpine7 Před 13 dny

    on the metrics page, we also added a table view of the data. And defaults to graph, but it’s obvious that the UX might need a bit more emphasis on those multiple views.

  • @yekt3805
    @yekt3805 Před 13 dny +7

    I'd be very interested in a tutorial on how to bake a telemetry dashboard straight into the application itself. If my app is a locally run service I don't want to bother the user with a docker container or having to install additional software. Just run the executable and an admin-style dashboard with a telemetry page is right there.
    In other words, I'd love to see a video on In-Memory exporter and the best way to connect that data to an UI-component lib like MudBlazor :D

    • @davidtaylor3771
      @davidtaylor3771 Před 13 dny

      The earlier versions were also available as a Nuget package, but they removed that, at least for now. I run the dashboard the way you are asking for, but needed to download the source from the Aspire git repo. I would like Microsoft to keep providing new versions as a nuget package so we can continue doing this without needing the dashboard source code.

    • @yekt3805
      @yekt3805 Před 13 dny

      @@davidtaylor3771 That's a bummer. Perhaps a standalone nuget package is back on the table once the whole thing is out of preview..

    • @gileee
      @gileee Před 6 dny

      That's basically what I need now, and I'm leaning towards using an sqlite sink in serilog, sync that data to a server, then use grafana to read from that sqlite data source. Which isn't even close but ticks all the boxes I need.

  • @JoaoVictorFerreira-xx1rq

    We can use this dashboard for multiple projects/repositories? For example, I have 2 api`s in different repositories.

  • @SuperLabeled
    @SuperLabeled Před 12 dny

    Can you run this same thing from podman?

  • @octaviandobre
    @octaviandobre Před 13 dny +4

    Now lets wait for them to make it a nuget package so that we can put it in the app directly.

  • @vitalyzema8518
    @vitalyzema8518 Před 12 dny

    I think, Elasticsearch can do just that, except it doesn't responsive as Aspire and you need to customize dashboards. Out of the box is just a table of logs

  • @tylercornett2022
    @tylercornett2022 Před 13 dny

    it is interesting, but I don't believe there is a useful place for this in my development cycle. I typically use Sentry (free tier) during development because they it's trivial to add for stack tracing. Then I drop Sentry and add prometheus + grafana for live application / infrastructure monitoring for the production environment.

  • @ikenwakochukwudi9395
    @ikenwakochukwudi9395 Před 6 dny

    so we won't be getting the detailed video on graphana 😭😭
    Nick, you promised 😢

  • @futurexjam2
    @futurexjam2 Před 6 dny

    it seems light weight version of Datadog or NewRelic :)

  • @sauravbhatta5303
    @sauravbhatta5303 Před 13 dny

    Ops awesome
    😢

  • @flobuilds
    @flobuilds Před 13 dny +1

    Thats actually insane we are looking currently for monitoring tools for our Services but most of it is paid and not cheap or hard to setup

    • @keithnicholas
      @keithnicholas Před 13 dny +1

      sometimes its worth it, especially with multiple instances, logs from lots of sources, etc. We use data dog and doing queries and combing all that is really powerful. This dashboard here is really really basic

    • @flobuilds
      @flobuilds Před 13 dny

      @@keithnicholas ok thanks for the info. Would you recomend it for the starting phase until the customer counter rises for easy and simple monitoring?

  • @R0ckyRocket
    @R0ckyRocket Před 12 dny +1

    can u share the code plz?

  • @inzyster
    @inzyster Před 13 dny

    Is there another way to obtain the token other than looking into container logs? I’d love to sell this to my coworkers for our local environment but I can already see them scoffing at that part 😅

    • @Birb-
      @Birb- Před 13 dny

      in docker run add -e DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS='true'
      If you're using the self built version use "DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS": "true" in appsettings

    • @davidtaylor3771
      @davidtaylor3771 Před 13 dny +1

      I added our companies Azure AD login to the dashboard, so a token was not required - but I changed the dashboard source (the Program.cs) to achieve this. I am not 100% sure if Microsoft support that scenario natively now - I know they did a lot of auth related work.

    • @inzyster
      @inzyster Před 13 dny

      That’s a great idea, I’ll see about doing something similar for us. Thanks!

    • @davidfowl
      @davidfowl Před 13 dny

      @@davidtaylor3771It's supported now out of the box (any oidc server actually).

  • @allrandomlife
    @allrandomlife Před 13 dny

    If anyone knows how to connect this with Jmeter test runs

  • @heliobessonirodrigues6632
    @heliobessonirodrigues6632 Před 13 dny +26

    "You are blind now" haha. That is why I use light theme.

    • @keyser456
      @keyser456 Před 13 dny +14

      So you're always blind?

  • @darenbaker4569
    @darenbaker4569 Před 3 dny

    Wow

  • @OliverRivettCarnac
    @OliverRivettCarnac Před 6 dny

    The "unknown_service" thing is a little ugly... But otherwise really cool.
    I didn't know you could split the dashboard from the codebase. I actually added aspire to one project just to get the dashboard... I had no intention of use the cloud native bits.

    • @davidfowl
      @davidfowl Před 2 dny

      Can you fix that by setting the service name either via an environment variable or in the application itself.

  • @d0pare
    @d0pare Před 13 dny +2

    That dashboard barely handles any high load of events

  • @mumk
    @mumk Před 13 dny

    HOLY what

  • @StefanHanrath
    @StefanHanrath Před 13 dny

    Id say kudos for the simple out of box experience and moving to the otel interface,
    but i tend to be wary of trading open tools with a community for msft maintained tools. They tend to lose interest after some time and maintenance and commitment in the long run suffer.

    • @davidtaylor3771
      @davidtaylor3771 Před 13 dny +4

      Yes but that will not happen with this. I have worked with the codebase, it is all open source and really clean. The whole dashboard itself is written in Blazor, and is a modern very beautiful codebase.

  • @thomasleberre1119
    @thomasleberre1119 Před 10 dny

    No source code ? :(

  • @heikenem
    @heikenem Před 11 dny

    Hello everybody, I'm what? Naked... 😂😂

  • @farzadmf
    @farzadmf Před 13 dny

    Aspire works with non-.NET languages/projects?

    • @davidtaylor3771
      @davidtaylor3771 Před 13 dny +3

      That isn't what Nick said, he said the Aspire "Dashboard" works with non-.NET projects/languages. The Aspire Dashboard just accepts telemetry via an open standard (OTLP), so anything using that standard can be configured to send data to the Aspire Dashboard.

    • @davidfowl
      @davidfowl Před 13 dny

      @@davidtaylor3771But yea it does

    • @farzadmf
      @farzadmf Před 13 dny

      Ah right, but I guess we need a .NET application to bring up the dashboard?

    • @chamikagoonetilaka4026
      @chamikagoonetilaka4026 Před 13 dny +4

      ​@@farzadmf It's a docker image. So you don't need anything

    • @farzadmf
      @farzadmf Před 13 dny +1

      @@chamikagoonetilaka4026 Oh really? Didn't know that. So it's a Docker image with Aspire "server"?

  • @stevanfreeborn
    @stevanfreeborn Před 13 dny

    "sorry you are blind now" 😅😅

  • @AlexanderBelikov
    @AlexanderBelikov Před 13 dny

    There was 69 likes, I made it 70 👍

  • @THE_NE0
    @THE_NE0 Před 13 dny

    But not production ready….

  • @michaelnjensen
    @michaelnjensen Před 13 dny +2

    Not personally a fan of Aspire, the team from MS is way too small like most side projects from them (they launch so many different things and then abandon them shortly after or stop feature development), the features are way too basic for most real world usage outside really simple applications.

  • @MatinDevs
    @MatinDevs Před 13 dny

    So finally Microsoft is exporting .NET stuff for other languages and realized .NET devs don't care about anything 😂

  • @ihnatklimchuk1018
    @ihnatklimchuk1018 Před 13 dny +1

    Worst advice ever. Once you need metrics from anything else than C# - you failed. Aspire will never be standard for other languages/tools/databases/libs/services

    • @davidtaylor3771
      @davidtaylor3771 Před 13 dny +17

      Someone didn't watch the video - OTLP is the standard used by all languages/platforms, not Aspire.

    • @monomanbr
      @monomanbr Před 13 dny +4

      @@starawojtka That dashboard is in a Docker Image and can be deployed anywhere. Also it is an independent component of the Aspire stack, you are not deploying Aspire to get it working.