Each handled report is indexed into the corresponding tenant’s index.
Then other services having access to the tenants’ indexes can calculate the amount of sent and received data to/from endpoints for a specific period of time, e.g., last 7 days, 1 month, etc. Web Dashboard is an example of such a service that queries traffic data to visualize API usage on UI.
TSA supports a number of interfaces to perform its functional role. The key supported interfaces are summarized in the following diagram.
For inter-service communication, Kaa services mainly use REST APIs and messaging protocols that run over NATS messaging system.
Endpoint traffic reports
TSA listens to 09/ELCE endpoint traffic report events and stores them to Open Distro.
TSA exposes an HTTP-based management interface with the following endpoints:
GET /healthreturns 200 OK if the service is up and running properly, and 500 Internal Server Error otherwise. In case of errors, the response payload contains their human-redable descriptions. This endpoint can be used by Kubernetes for liveness and readiness probing.
GET /metricsprovides service metrics in Prometheus text-based format.