Forget Grafana And Prometheus! Start With This.

  Рет қаралды 40,394

Nick Chapsas

Nick Chapsas

15 күн бұрын

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

Пікірлер: 73
@Dominik-K
@Dominik-K 12 күн бұрын
This is pretty amazing! Thanks for sharing, I'll definitely use this
@ivanp_personal
@ivanp_personal 9 күн бұрын
Amazing dashboard. Thank you for making this video about it.
@buddy.abc123
@buddy.abc123 14 күн бұрын
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 9 күн бұрын
Very cool stuff, amazing
@kimfom
@kimfom 14 күн бұрын
I've been waiting my whole life for this!
@KibbleWhite
@KibbleWhite 14 күн бұрын
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 14 күн бұрын
I think you can add the app insights integration, and it will be stored there
@davidtaylor3771
@davidtaylor3771 14 күн бұрын
@@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 14 күн бұрын
@@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 14 күн бұрын
@7:08 "Total 69 Result(s)" Surely that was not a coincidence...
@ninjatogo
@ninjatogo 14 күн бұрын
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 13 күн бұрын
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 13 күн бұрын
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 14 күн бұрын
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.
@LlamaNL
@LlamaNL 14 күн бұрын
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 13 күн бұрын
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 14 күн бұрын
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 14 күн бұрын
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 14 күн бұрын
@@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 7 күн бұрын
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.
@SuperLabeled
@SuperLabeled 13 күн бұрын
Can you run this same thing from podman?
@JoaoVictorFerreira-xx1rq
@JoaoVictorFerreira-xx1rq 13 күн бұрын
We can use this dashboard for multiple projects/repositories? For example, I have 2 api`s in different repositories.
@duongphuhiep
@duongphuhiep 10 күн бұрын
yes
@octaviandobre
@octaviandobre 14 күн бұрын
Now lets wait for them to make it a nuget package so that we can put it in the app directly.
@vitalyzema8518
@vitalyzema8518 13 күн бұрын
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 14 күн бұрын
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 6 күн бұрын
so we won't be getting the detailed video on graphana 😭😭 Nick, you promised 😢
@futurexjam2
@futurexjam2 6 күн бұрын
it seems light weight version of Datadog or NewRelic :)
@sauravbhatta5303
@sauravbhatta5303 14 күн бұрын
Ops awesome 😢
@flobuilds
@flobuilds 14 күн бұрын
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 14 күн бұрын
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 14 күн бұрын
@@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 13 күн бұрын
can u share the code plz?
@inzyster
@inzyster 14 күн бұрын
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- 14 күн бұрын
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 14 күн бұрын
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 14 күн бұрын
That’s a great idea, I’ll see about doing something similar for us. Thanks!
@davidfowl
@davidfowl 14 күн бұрын
@@davidtaylor3771It's supported now out of the box (any oidc server actually).
@allrandomlife
@allrandomlife 14 күн бұрын
If anyone knows how to connect this with Jmeter test runs
@heliobessonirodrigues6632
@heliobessonirodrigues6632 14 күн бұрын
"You are blind now" haha. That is why I use light theme.
@keyser456
@keyser456 14 күн бұрын
So you're always blind?
@darenbaker4569
@darenbaker4569 4 күн бұрын
Wow
@OliverRivettCarnac
@OliverRivettCarnac 7 күн бұрын
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 3 күн бұрын
Can you fix that by setting the service name either via an environment variable or in the application itself.
@mumk
@mumk 14 күн бұрын
HOLY what
@d0pare
@d0pare 14 күн бұрын
That dashboard barely handles any high load of events
@StefanHanrath
@StefanHanrath 14 күн бұрын
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 14 күн бұрын
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 11 күн бұрын
No source code ? :(
@heikenem
@heikenem 12 күн бұрын
Hello everybody, I'm what? Naked... 😂😂
@farzadmf
@farzadmf 14 күн бұрын
Aspire works with non-.NET languages/projects?
@davidtaylor3771
@davidtaylor3771 14 күн бұрын
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 14 күн бұрын
@@davidtaylor3771But yea it does
@farzadmf
@farzadmf 14 күн бұрын
Ah right, but I guess we need a .NET application to bring up the dashboard?
@chamikagoonetilaka4026
@chamikagoonetilaka4026 14 күн бұрын
​@@farzadmf It's a docker image. So you don't need anything
@farzadmf
@farzadmf 14 күн бұрын
@@chamikagoonetilaka4026 Oh really? Didn't know that. So it's a Docker image with Aspire "server"?
@stevanfreeborn
@stevanfreeborn 14 күн бұрын
"sorry you are blind now" 😅😅
@AlexanderBelikov
@AlexanderBelikov 14 күн бұрын
There was 69 likes, I made it 70 👍
@Bennevisie
@Bennevisie 14 күн бұрын
Booooo! 👎👎
@THE_NE0
@THE_NE0 14 күн бұрын
But not production ready….
@nickchapsas
@nickchapsas 14 күн бұрын
It's GA later this month
@michaelnjensen
@michaelnjensen 13 күн бұрын
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 14 күн бұрын
So finally Microsoft is exporting .NET stuff for other languages and realized .NET devs don't care about anything 😂
@ihnatklimchuk1018
@ihnatklimchuk1018 14 күн бұрын
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 14 күн бұрын
Someone didn't watch the video - OTLP is the standard used by all languages/platforms, not Aspire.
@monomanbr
@monomanbr 14 күн бұрын
@@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.
The Insane C# 13 Feature That Changes Everything
10:32
Nick Chapsas
Рет қаралды 44 М.
"Stop Using Async Await in .NET to Save Threads" | Code Cop #018
14:05
OMG 😨 Era o tênis dela 🤬
00:19
Polar em português
Рет қаралды 3,8 МЛН
The Shamen - Ebeneezer Goode  - TOTP  - 1992 [Remastered]
3:26
TopOfThePopsFan
Рет қаралды 4,2 М.
Getting Started with Event Sourcing in .NET
37:07
Nick Chapsas
Рет қаралды 33 М.
Fetching API Data using ReactJS | Code With Aquib
11:46
Code With Aquib
Рет қаралды 161
The Pattern You MUST Learn in .NET
20:48
Nick Chapsas
Рет қаралды 74 М.
Another glorious battle for AI dominance… GPT-4o vs Google I/O
4:40
MS-DOS has been Open-Sourced!  We Build and Run it!
15:01
Dave's Garage
Рет қаралды 328 М.
Stop Using the Worst Way to Loop Lists in .NET!
9:35
Nick Chapsas
Рет қаралды 42 М.
Doom didn't kill the Amiga...Wolfenstein 3D did
16:58
Modern Vintage Gamer
Рет қаралды 475 М.
Stop Calling Your API a "REST API"
17:42
Amichai Mantinband
Рет қаралды 12 М.
The New Data Protection Features of .NET 8 (GDPR)
14:10
Nick Chapsas
Рет қаралды 47 М.