microsoft / reverse-proxy

A toolkit for developing high-performance HTTP reverse proxy applications.
https://microsoft.github.io/reverse-proxy
MIT License
8.3k stars 817 forks source link

Proxy Status dashboard (product feature) #123

Open samsp-msft opened 4 years ago

samsp-msft commented 4 years ago

What should we add or change to make your life better?

Dashboard for proxy status and monitoring configuration

Why is this important to you?

Web front end so that people can understand and monitor the state of the proxy without having to go manually parse logs etc.

Should depend on #124 ( REST / gRPC endpoint). Ideally this could be built and run independently from the proxy process. In larger sites, there can be multiple instances of the proxy server, so the dashboard would ideally be able to pull data from each individual proxy without having to have multiple instances of the dashboard. It could be delivered as an independent project, that just depends on a well known API endpoint.

(Came as part of scenario discussion with @Kahbazi )

davidni commented 4 years ago

We're planning to build a poor man's dashboard using Razor pages. @samsp-msft when are you expecting this might start getting traction over here? Sure would be nice to collaborate on this too.

samsp-msft commented 4 years ago

What feature set are you thinking of? I was thinking of it being a site that is independent from the proxy, that can aggregate info from multiple servers that should be "clustered" together from a monitoring perspective, and individual from a config examination. Each proxy would expose a Rest/gRPC endpoint for pulling the data.

What info would you want to show - then lets back track that to an API that can be used by the dashboard or other apps. What is the overlap between the dashboard and log or event counter monitoring?

davidni commented 4 years ago

P0 for us is exploring the active configuration of the proxy. Recall that we do dynamic service discovery from Service Fabric in a multi-tenant setup where multiple teams are hosted behind our gateway through annotations in their service manifests. We want to provide a self-serve experience where teams can quickly see the Gateway's view of their service. This means pretty much dumping the RuntimeModel classes in a friendly UX, including Backends, Routes, Endpoints, concurrency counters, and assessed health per endpoint and backend.

thompson-tomo commented 2 months ago

Dashboard should be factored into Aspire.