Skip to content

aforank/telemetry

Repository files navigation

Open Telemetry Demo (Ride Booking Application)

Overall Architecture

image

Pre-rquisites

  • Visual Studio 19 or greater (Visual Studio 22 Recommended)
  • NET 6
  • Azure Subscription

Local Apps/Resources

  • MongoDB on local
  • SQL on local
  • Jaeger (Optional) For traces
  • Prometheus (Optional) - For metrics
  • Seq (Optional) - For logs

Install Mongo DB

Install SQL

  • Install SSMS
  • Create a new database "CustomerDB" on your local MS Server.
  • Table and Records will be auto seeded when you run the application.

Install Jaeger (Optional)

Prometheus (Optional)

Seq (Optional)

Azure Resources

  • Application Insights
  • Service Bus
  • Redis Cache
  • Storage Account

Application Insights

  • Create a new Application Insights resource on your Azure subscription and keep the Instumentation key and Connection String with you.
  • Update Instumentation key and Connection String in all the appsettings.json files (6 projects)

Service Bus

  • Create a new Service Bus resource and keep the connection string with you.
  • Update connection string in Booking API, Payment API and Notifcation API appsettings.json files
  • Create two queues with default settings
    • notifications
    • payments

Azure Redis

  • Create a new Redis cache resource and keep the connection string with you.
  • Update connection string in Drivers API project (app settings.json file)

Azure Storage

  • Create a storage account and keep the connection string with you.
  • Create a container "templates"
  • Create a dummy file by the name of "Email.txt"
  • Update connection string in Notifcation API project (app settings.json file)

Run the application

  • Download/Clone source code from this repository
  • Build the solution file
  • Set Startup Projects image
  • Run the application
  • Swagger UI will start up with just one API
  • Try out the API by providing the CustomerId (Make sure there are no digits only alphabets)
  • Hit the endpoint and see you have recieved TraceId as a response or not

Monitoring

Wait for a few seconds and check your telemetry data

  • Traces - Application Insights & Jaeger
  • Logs - Seq and Console
  • Metrics - Prometheus

Give it a Star if you like it. Thanks!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages