EDIT: so I'm now thinking of releasing a cloud app that can be used to monitor API usage. Any interested beta testers drop me a message below :-)

Day to day I develop a reasonably large web API used by quite a few different clients. It was put together almost 2 years ago now when I had very little consideration of monitoring or auditing.

My current focus is on the usage of certain API endpoints. What is your practice for auditing the usage of a certain endpoint?

For context, I'ts a .NET API and the API is distributed across multiple non-related clients systems. Ideally I'd like to push the results to ElasticSearch.

I feel like a custom piece of middleware is the best option, but am a little concerned about performance.

Thoughts?

This post is also available on DEV.