TSA

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.

Interfaces

TSA supports a number of interfaces to perform its functional role. The key supported interfaces are summarized in the following diagram.

TSA interfaces 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.

Management interface

TSA exposes an HTTP-based management interface with the following endpoints:

  • GET /health returns 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 /metrics provides service metrics in Prometheus text-based format.