AWS has released a detailed guide on building observability for large language models (LLMs) running on Amazon SageMaker AI inference endpoints. The post, authored by Sandeep Raveesh-Babu and Jonathan Kola, addresses the unique challenges of monitoring generative AI workloads, where outputs are variable and infrastructure demands fluctuate with token consumption.
The authors argue that LLM observability requires two complementary dimensions: quantity and quality. Quantity monitoring tracks the operational health of inference infrastructure, including GPU utilization, latency, and request throughput. Quality monitoring evaluates the outputs of the model itself, measuring accuracy, safety, and consistency over time. These two dimensions must be monitored together because an endpoint can appear healthy while producing poor responses, or it can generate high-quality outputs while running inefficiently.
The guide recommends a phased approach. Teams first establish visibility into core operational metrics like latency and error rates. Then they add quality monitoring through sampling and evaluation. With both dimensions in place, teams can set thresholds and automated alerts that combine infrastructure and quality signals. Over time, the practice extends to cross-model comparisons for tuning cost and performance.
Solution architecture and data flow
The proposed solution uses three AWS services. Amazon SageMaker AI endpoints with inference components host the models. A single endpoint can serve multiple LLMs, such as gpt-oss-20b and Qwen2.5-7B-Instruct, with per-model isolation for traffic and metrics. Amazon CloudWatch acts as the centralized metrics store, receiving two streams of data. Enhanced metrics from SageMaker AI provide instance-level, container-level, and per-GPU dimensions, logged to the /aws/sagemaker/InferenceComponents/<model-name> namespace. Custom quality metrics, such as composite quality scores and safety scores, go into a separate /aws/sagemaker/inference-quality/<model-name> namespace. Amazon Managed Grafana provides the visualization layer, with CloudWatch as a native data source.
The blog post includes two dedicated Grafana dashboards. One dashboard focuses on quantity, displaying GPU memory utilization, CPU usage, and invocation metrics per inference component. The other dashboard tracks quality scores, including safety, relevance, and professional tone, compared across models.
Monitoring quantity: infrastructure health
Quantity monitoring answers questions about traffic patterns, resource saturation, cost attribution, and scaling behavior. The Grafana dashboard for quantity covers three areas. First, model invocations and latency: panels show model latency as a time-series trend, total invocations comparing models, and per-copy invocations broken down for each model. This helps operators understand request throughput and identify latency spikes.
Second, GPU compute and memory utilization: panels display GPU compute percentage and GPU memory percentage for each model. This cross-model comparison helps engineers determine whether a performance issue is compute-bound or memory-limited, and whether one model is consuming disproportionate resources on shared infrastructure.
Stay updated
Get the day's AI and automation news in your inbox. No spam, unsubscribe anytime.
Third, endpoint usage and cost: panels show used GPUs versus free GPUs, total instances, and per-model hourly cost. This view identifies cost drivers and validates auto scaling responsiveness.
Monitoring quality: LLM output performance
Quality monitoring addresses the risk of silent degradation. LLM performance can decline over time due to shifts in input distributions or concept drift, but traditional alerts do not catch quality drops. The solution evaluates model outputs across dimensions such as response relevance, factual accuracy, safety, and professional tone.
The quality Grafana dashboard displays four time-series line charts with configurable alert thresholds, shown as dashed lines. The composite quality score aggregates multiple dimensions. Separate panels track safety score, relevance score, and professional tone score. These metrics are computed using an LLM-as-judge pattern with configurable evaluation rubrics. The example uses Anthropic Claude Sonnet 4.6 served via Amazon Bedrock as the evaluator model. The authors note that teams can substitute their own evaluation system as long as the chosen model's terms permit evaluating outputs from other models, data residency requirements are met, and the evaluator model version is pinned for consistent scoring.
Threshold-based alert rules are deployed via Grafana Alerting, dimensioned by inference component. Notifications can be routed through Amazon SNS to Slack, PagerDuty, or OpsGenie, enabling rapid triage by site reliability engineers.
Conclusion and next steps
The guide concludes that observability for LLM inference stacks requires more than tracking uptime and error rates. By combining SageMaker AI enhanced metrics, CloudWatch, and Amazon Managed Grafana, teams can build an unified observability layer without custom instrumentation. The approach serves different stakeholders: SREs monitor resource saturation and scaling, governance teams track safety thresholds, and product owners compare model quality.
To get started, AWS provides sample notebooks in its GitHub repository for configuring enhanced metrics, publishing custom quality metrics and alerts, and setting up the Grafana dashboards.
Related on Neura Market

