Traffic Statistics Appender (TSA) is a Kaa service that listens to Traffic Reporting Events over the 9/ELCE protocol and indexes that data in Open Distro for Elasticsearch.
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.