Elastic builds observability for its GenAI Support Assistant chatbot
Elastic's Field Engineering team needed comprehensive observability infrastructure for the newly launched GenAI Support Assistant to detect runtime bugs, monitor latency and usage, and prevent abuse of the LLM service.
The initial first-generation timeout was configured on the client side but the server never became aware when the client aborted the request, requiring a redesign to the server-side API layer. A data-loading bug drove endpoint throughput well over 100 transactions per minute, and HTTP 413 errors appeared when RAG context combined with user input exceeded the server's configured payload size limit.
Observability confirmed fixes for runtime bugs, with endpoint throughput dropping to 1 TPM after the data-loading fix, and the Support Assistant served its 100th chat completion 21 hours post-launch with no rate limit violations in the first weeks since launch.
Show all 7 reported metrics
Frequently asked questions
What did this team achieve with this AI workflow?
Observability confirmed fixes for runtime bugs, with endpoint throughput dropping to 1 TPM after the data-loading fix, and the Support Assistant served its 100th chat completion 21 hours post-launch with no rate limit…
What tools did this team use?
Elastic APM, Filebeat, Elasticsearch, Kibana, Elastic Synthetics Monitoring, ES|QL, Azure OpenAI, Elastic Agent, GPT-4, GPT-4o.
What results were reported?
100th chat completion milestone: 21 hours post launch; Endpoint throughput after bug fix: 1 TPM; Average chat completion latency: 20 seconds; Heavy internal user daily chat volume: 10-20 chat messages per day on average (source-reported, not independently verified).
What failed first in this deployment?
The initial first-generation timeout was configured on the client side but the server never became aware when the client aborted the request, requiring a redesign to the server-side API layer.
How is this customer support AI workflow structured?
User submits support question → RAG search retrieves context → LLM generates streaming response → First-generation timeout enforcement → Declined request detection → Response streamed to client → APM observability feedback loop.