Forget Grafana And Prometheus! Start With This.

Поделиться
HTML-код
  • Опубликовано: 8 май 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

Комментарии • 77

  • @alexclark6777
    @alexclark6777 Месяц назад +22

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

  • @Dominik-K
    @Dominik-K 29 дней назад +4

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

  • @ivanp_personal
    @ivanp_personal 25 дней назад

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

  • @ninjatogo
    @ninjatogo Месяц назад +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?

  • @andreaskarz
    @andreaskarz 26 дней назад

    Very cool stuff, amazing

  • @buddy.abc123
    @buddy.abc123 Месяц назад +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

  • @KibbleWhite
    @KibbleWhite Месяц назад +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 Месяц назад +3

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

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

  • @kimfom
    @kimfom Месяц назад +3

    I've been waiting my whole life for this!

  • @LlamaNL
    @LlamaNL Месяц назад +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?

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

    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 !

  • @MZDisaster
    @MZDisaster Месяц назад +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.

  • @octaviandobre
    @octaviandobre Месяц назад +5

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

  • @urzalukaskubicek9690
    @urzalukaskubicek9690 Месяц назад +16

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

    • @davidtaylor3771
      @davidtaylor3771 Месяц назад +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.

  • @diegovigil7311
    @diegovigil7311 13 часов назад

    Thanks for sharing. Great tool!
    Is it possible to track some web job like we track requests? I mean, grouping logs / spans / traces over telemetry

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

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

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

      @@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 23 дня назад

      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.

  • @josephhungerman1056
    @josephhungerman1056 11 дней назад

    Any chance you can do a video on deploying Aspire with Azure Devops pipelines? The official docs seem off

  • @SuperLabeled
    @SuperLabeled 29 дней назад

    Can you run this same thing from podman?

  • @JoaoVictorFerreira-xx1rq
    @JoaoVictorFerreira-xx1rq Месяц назад

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

  • @R0ckyRocket
    @R0ckyRocket 29 дней назад +2

    can u share the code plz?

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

    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

  • @futurexjam2
    @futurexjam2 23 дня назад

    it seems light weight version of Datadog or NewRelic :)

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

    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.

  • @heliobessonirodrigues6632
    @heliobessonirodrigues6632 Месяц назад +27

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

    • @keyser456
      @keyser456 Месяц назад +14

      So you're always blind?

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

    If anyone knows how to connect this with Jmeter test runs

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

    Ops awesome
    😢

  • @ikenwakochukwudi9395
    @ikenwakochukwudi9395 23 дня назад

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

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

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

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

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

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

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

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

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

  • @darenbaker4569
    @darenbaker4569 20 дней назад

    Wow

  • @d0pare
    @d0pare Месяц назад +2

    That dashboard barely handles any high load of events

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

    HOLY what

  • @OliverRivettCarnac
    @OliverRivettCarnac 23 дня назад

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

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

  • @thomasleberre1119
    @thomasleberre1119 27 дней назад

    No source code ? :(

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

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

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

    Aspire works with non-.NET languages/projects?

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

      @@davidtaylor3771But yea it does

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

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

    • @chamikagoonetilaka4026
      @chamikagoonetilaka4026 Месяц назад +4

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

    • @farzadmf
      @farzadmf Месяц назад +1

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

  • @heikenem
    @heikenem 28 дней назад

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

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

    There was 69 likes, I made it 70 👍

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

    "sorry you are blind now" 😅😅

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

    But not production ready….

  • @michaelnjensen
    @michaelnjensen Месяц назад +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.

    • @krccmsitp2884
      @krccmsitp2884 19 часов назад

      Well, .NET Aspire has about 20 active and 100 overall contributors, and it went GA on May 21.

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

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

  • @ihnatklimchuk1018
    @ihnatklimchuk1018 Месяц назад +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 Месяц назад +17

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

    • @monomanbr
      @monomanbr Месяц назад +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.