Getting Started with OpenTelemetry in .NET

  Переглядів 42,844

Nick Chapsas

Nick Chapsas

2 місяці тому

Use code KUBE20 and get 20% off the brand new "From Zero to Hero: Kubernetes for Developers" course on Dometrain: dometrain.com/course/from-zer...
Get the source code: mailchi.mp/dometrain/nfu-hchyl2s
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 OpenTelemetry in .NET using Prometheus and Grafana.
.NET Aspire video: • What Is .NET Aspire? T...
IMeterFactory video: • Creating Dashboards wi...
Aspirate video: • How to Deploy .NET App...
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

КОМЕНТАРІ: 37
@romanpelikh1862
@romanpelikh1862 Місяць тому
I liked the video, but it felt a bit cluttered. This appears to be an ideal continuation for the 'How to Deploy .NET Apps to Kubernetes' series, with a focus on integrating Open Telemetry. But as usual, awesome content 👍
@fakhrulhilal
@fakhrulhilal Місяць тому
Amazing, aspire is getting better and more support from community.
@EncamyGame
@EncamyGame Місяць тому
Awesome video! Thank you for showing foss software and not choosing azure. This is really helpful!
@FatihYucelSEN
@FatihYucelSEN Місяць тому
Awesome content! Awesome Nick! 👌
@fishzebra
@fishzebra Місяць тому
great, feel like my organisation will get there in about 10 years time, lot invested already in kubernetes and terraform
@rafaspimenta
@rafaspimenta Місяць тому
Your course about docker explains how to debug inside a container? Thank you Nick!
@davidtaylor3771
@davidtaylor3771 Місяць тому
Hey Nick. Out of interest, I threw up a version of the Aspire Dashboard as an Azure Web App (I modified it to use a single port for the inbound telemetry and the Blazor UI instead of needing 2 ports). I also added Microsoft Identity authentication and a OTLP API Key to the Dashboard App, although it looks like the core team are adding OTLP API Key support in preview 4 anyway.... But I am enjoying just using that Aspire Dashboard app directly for some of my cloud dev environments.
@monomanbr
@monomanbr Місяць тому
Thanks!
@FataliSMus
@FataliSMus Місяць тому
Cool, a good topic finally!
@cdarrigo
@cdarrigo Місяць тому
How does sampling work in non development environments?
@krccmsitp2884
@krccmsitp2884 Місяць тому
2:12 As far as I know, Aspire is for local development, not for production use. That's at leas what David Fowler answered to my question.
@lusca_costa
@lusca_costa Місяць тому
Does it have metrics for kafka and dapper for a AspNetCore web api? So I can check if queries/messaging are slow. Love the content! : )
@matijabecirevic8214
@matijabecirevic8214 Місяць тому
Hi Nick, I've been following you for a few years now and I appreciate all the content you put out over the years, I learned a lot from the videos. However, last couple of videos felt over-filled, and it felt like you rushed through the content just to get through all of it, instead of explaining everything like you used to. If one does not have personal experience with any of the stuff you present, it is very easy to feel left behind and not understand anything. Please slow down, and explain everything like you used to, because this video specifically feels more like a sales pitch intended to make the listener feel dumb in order to buy the course instead of being a quality piece of content.
@johncerpa3782
@johncerpa3782 Місяць тому
Accurate
@user-sc9if7uw9f
@user-sc9if7uw9f Місяць тому
Hi, Nick can you do video where Prometheus is used as data source only and .net application is using it and exposing the data from it on the application itself and not in grafana?
@tridy7893
@tridy7893 Місяць тому
I am wondering, how different (in the case of Azure, for instance) is it from using Azure Monitor and AppInsights in terms of what you get out of it? What advantages does it give besides the open standards and open source and data portability in the case of OT?
@HenningKilset76
@HenningKilset76 Місяць тому
You don't have to choose - OpenTelemetry has an Azure Monitor exporter. I guess that's part of the advantage - YOU want to run Azure Monitor, but a different deployment of same app may want to run Prometheus/Grafana - and this gives you the option of using any of them without changing your code (except for config).
@tridy7893
@tridy7893 Місяць тому
That is what is good about Azure Monitor by itself. I do not have to do anything in the code. Azure, as the hosting platform provides the telemetry and does all the plumbing. Other cloud providers have similar things as well. If you run something on-prem, I can see the need for that. There might be other scenarios. However, when cloud providers are in use, I think that features like telemetry are built in, without the need to change anything in the code.
@alexisfibonacci
@alexisfibonacci Місяць тому
Managed Prometheus and Grafana have been fused with Azure Monitor. AppInsights is now a component of Azure Monitor. When it comes to monitoring, you are spoiled for choice. It boils down to your preferred tools and the breadth and depth of coverage. The advantage of Azure Monitor is that you can ingest signals from your "entire infrastructure" and other tools and services. This allows you to correlate the information and carry out advanced diagnostics on the logs, metrics, and traces.
@tanglesites
@tanglesites Місяць тому
That was a lot of content. Maybe the most packed one yet. In the real world out in the wild, is one person ever doing all of this? Or is this done by a team of people?
@alexisfibonacci
@alexisfibonacci Місяць тому
Depends on the size and circumstances of the team. For a new team getting started and bootstrapping, the initial team members will do all this ground work themselves. Sometimes, they will just be 1 to 3 people. So they need to know how to code, deploy, handle kubernetes, monitor and deal with database and security issues. Sprinkle on some PKI issues, email setup, etc, etc... Tools like this are meant for such individuals (and also more advanced teams with greater delineation of duties). It reduces the cognitive load while allowing them stay in control of everything going on. They are able to rev quickly, experiment and adapt till they find the sweet spot that works for them that will allow frequent, repeatable deployments and features are added and the project grows... My thoughts (also speaking from personal experience).
@keyser456
@keyser456 Місяць тому
If you're a one-person shop trying to get off the ground, unless you have unlimited runway and bandwidth, this is probably more of a v2.0 / do-it-when-you're-profitable kind of thing. This stuff is cool and immensely useful for finding hot-spots, bottlenecks, and overall project health, but you will bog yourself down if you focus on these kinds of things instead of the core product. Gotta keep minimal viable product in mind. If you run out of funding the project will never see the light of day. No amount of telemetry, metrics, or logging will fix that.
@TheAzerue
@TheAzerue Місяць тому
When deploying different releases of say Api project via Aspire. Then will K8s or docker compose re-deploy all the containers again ?
@lajapathyarun4329
@lajapathyarun4329 Місяць тому
Great :)
@andrewiecisa2907
@andrewiecisa2907 Місяць тому
Very good and interesting topic! One question though. Where is all that data stored? Prometheus scraps it but where is it saved? How does grafana know where to find the data to visualise?
@dauchande
@dauchande Місяць тому
Prometheus stores it. You can query prometheus directly or via a visualization tool like Grafana
@andrewiecisa2907
@andrewiecisa2907 Місяць тому
@@dauchande but where does Prometheus store it? Disc? Can it be configured other storage media like Azure storage table or blob?
@dauchande
@dauchande Місяць тому
@@andrewiecisa2907 Prometheus itself is a time-series database, so you don't store its data in other Azure databases. There is a Managed Prometheus offering in Azure, or you can use a compatible database called Grafana Mimir that can store data in cloud blob storage such as Azure blob storage. Then use something like Grafana Agent to remote-write the prometheus data to Mimir
@user-md7si7bd9m
@user-md7si7bd9m Місяць тому
how to integrate with cgp (trace and metric explorer) instead of grafana
@jcmorin2007
@jcmorin2007 Місяць тому
With the amount of data exported on every single call, I would worry about storage, bandwidth and performance in general. No wonder why the cloud cost so much...
@keyser456
@keyser456 Місяць тому
Worked parallel to a team of about a dozen devs on a brand new greenfield project w/ a couple dozen or so micro apps and services (the tail was wagging the dog for sure, w/ the devs calling all the shots). They were generating on the order of gigabytes of logging data every night, and they weren't even live. Our DBA was furious with them. They ran themselves right into the ground -- the project was poop-canned about 5 years into it. Millions of dollars wasted, other than padding their resumes, and the sad part was they were just fine with that and moved on to make the same mistakes in future projects w/ other organizations. Your point is well taken, esp. for the people in charge funding these development projects. Buyer beware.
@erickleon3309
@erickleon3309 16 днів тому
I come here to learn about open telemetry and found a bad tutorial which base everything on aspire, then aspire dont even work...
@ankushjain358
@ankushjain358 12 днів тому
More a Aspire video than Open Telemetry
@DennisHaney
@DennisHaney Місяць тому
The Prometheus is totally unnecessary, otel alone is enough. Also be aware that the cost of aspnetcore metrics if exporting to grafana web is extreme.
@gregorslana7723
@gregorslana7723 Місяць тому
First!
@vangrails
@vangrails Місяць тому
Adam and Eve were first, not you!!
Forget Grafana And Prometheus! Start With This.
10:51
Nick Chapsas
Переглядів 3,1 тис.
Stop Using the Worst Way to Loop Lists in .NET!
9:35
Nick Chapsas
Переглядів 34 тис.
didn't want to let me in #tiktok
00:20
Анастасия Тарасова
Переглядів 1,5 млн
Эффект Карбонаро и пончики
01:01
История одного вокалиста
Переглядів 7 млн
The New Best Way To Search for Values in .NET 8
11:05
Nick Chapsas
Переглядів 68 тис.
“.NET 9 Is Killing MediatR, MassTransit & Wolverine!”
11:59
Nick Chapsas
Переглядів 75 тис.
What Is .NET Aspire? The Insane Future of .NET!
18:35
Nick Chapsas
Переглядів 253 тис.
Make Your LINQ Up to 10x Faster!
11:08
Nick Chapsas
Переглядів 51 тис.
"Stop Using LINQ in .NET!"
9:15
Nick Chapsas
Переглядів 61 тис.
"Stop Wasting Memory on Strings in C#!" | Code Cop #016
9:20
Nick Chapsas
Переглядів 66 тис.
The Magic of Breaking Down Your Types in C#
8:59
Nick Chapsas
Переглядів 62 тис.
Background Tasks Are Finally Fixed in .NET 8
10:29
Nick Chapsas
Переглядів 93 тис.
Await Async Tasks Are Getting Awesome in .NET 9!
9:24
Nick Chapsas
Переглядів 80 тис.