Eurostar

How Eurostar unifies observability and simplifies troubleshooting with Grafana Cloud

Eurostar’s passenger experience extends from buying a ticket and managing a booking online to checking in at the station. Its Digital Technology department supports the website, mobile app, and booking services, as well as tools that give station staff visibility into check-in counts and last-minute changes to train sets.

Behind those services are hundreds of microservices and around 2,000 Kubernetes pods across five clusters. To understand what is happening across that environment, Eurostar’s digital team brought logs, metrics, and traces together in Grafana Cloud. Lower log ingestion and retention costs helped the team expand observability coverage, while Adaptive Telemetry and Grafana Assistant have made it easier to manage telemetry costs and investigate issues.

For Principal DevOps Engineer Pavel Jelinek, the ambition is clear: “The goal is to know before the customers do.” Eurostar is still working toward that goal, but it has moved from separate tools with limited visibility across systems to a shared platform that helps engineers understand how services behave.

Bringing separate tools into one platform

Understanding the health of hundreds of microservices across separate tools was difficult. With frontend applications on Heroku, backend services on AWS, and a third provider handling some logs and custom metrics, each tool showed part of the environment — but not all of it.

“It was quite hard to get an overall picture of the system’s health,” Jelinek said.

The team has since moved both frontend and backend to Kubernetes on AWS EKS, which prompted a change. CloudWatch did not provide the Kubernetes visibility the team needed, so it chose Grafana Cloud. Logs and custom metrics followed.

The savings from that initial migration made the case for expanding further. Eurostar’s log volume had been expensive with its previous provider, and moving those logs to Grafana Cloud lowered ingestion and retention costs, giving the team room to bring more of its observability onto the platform.

“Once we were saving money there, we could move more of our observability, including metrics and traces, to Grafana,” Jelinek said.

Today, five DevOps engineers in Eurostar’s Digital Technology department support infrastructure spanning around 80 AWS EC2 instances, with capacity adjusting through autoscaling. A single customer request can pass through AWS API Gateway and multiple Kubernetes services before returning an error. Tracing a request across those services is how the team finds where something went wrong.

To standardize instrumentation across its Node.js services, the team built an internal NPM package called Tracer. It produces OpenTelemetry metrics in a consistent way, with Grafana Alloy collecting and sending the data to Grafana Cloud. With consistent instrumentation in place, new services inherit observability automatically. As the number of microservices has grown, application observability has become increasingly important.

Adoption has also spread beyond the digital department. Eurostar’s Data and Middleware department uses Microsoft Azure, while the Digital Technology team primarily uses AWS. Grafana Cloud provides a platform that supports observability across both environments, with the Grafana team helping the additional department get started.

Observing what matters with Adaptive Telemetry

Bringing more services into Grafana Cloud also means deciding which telemetry is useful. That responsibility is shifting from the central DevOps team directly to development teams, which increasingly own their infrastructure, observability, and alerts.

Previously, Jelinek and his team wrote filters in Grafana Alloy to remove logs the team did not need, such as AWS health-check logs. Maintaining those filters took time.

Adaptive Logs and Adaptive Metrics have simplified that work. Adaptive Logs helps the team identify repetitive, noisy logs so it can stop producing them or drop them before ingestion. Adaptive Metrics helps it examine labels with large numbers of values and identify telemetry that is not used by dashboards or alerts.

Jelinek reports that currently the team are dropping more than 60,000 active series out of approximately 400,000 over a month.

“That’s around 15% savings” he said. 

Adaptive Telemetry has also shifted how the DevOps team works with developers. Rather than maintaining every filter centrally, the team can identify a noisy metric and ask the team responsible for the service to address it at the source.

Investigating Kubernetes issues with Grafana Assistant

Grafana Assistant has helped Eurostar connect infrastructure symptoms to application behavior. During one incident, a Kubernetes pod repeatedly restarted while consuming significant memory and CPU. Using Grafana Assistant, the team correlated a memory leak with specific events in the logs and identified the incoming requests that triggered an expensive operation. One DevOps engineer investigated the pod restarts with Assistant, then a developer responsible for the service took over and fixed the 503 errors identified in the logs. Jelinek estimates the work took one to two days — and believes it would have taken at least twice that time without Assistant.

“Investigating those has become much easier with Grafana Assistant,” he said of pod restarts and resource throttling.

The team also uses Grafana Cloud SLOs and Grafana Cloud Frontend Observability to track the passenger experience, including the proportion of user sessions ending in errors. Alerts reach teams through Slack during working hours and PagerDuty outside those hours. Synthetic Monitoring probes from around the world check the systems externally and notify engineers about connection errors.

Results across Eurostar’s digital services

Eurostar’s Digital Technology team now has a shared observability platform supporting its services and infrastructure. Its progress includes:

  • Lower log costs that supported expansion: Reduced ingestion and retention costs enabled the team to bring more metrics and traces into Grafana Cloud.
  • Less unnecessary telemetry: Adaptive Metrics is dropping more than 60,000 active series — roughly 15% of their total — while Adaptive Logs helps teams identify and remove repetitive logs at the source.
  • Faster Kubernetes investigations: Grafana Assistant helped engineers link pod restarts and memory consumption to specific application requests, cutting a complex investigation from several days to one or two.
  • Greater team ownership: Development teams now manage their own telemetry, SLOs, and alerts within a shared platform — reducing the central coordination load on the DevOps team.
  • Broader adoption: Grafana Cloud’s use has expanded to Eurostar’s Data and Middleware department on Azure, alongside the Digital Technology team’s AWS environment.

What’s next for Eurostar

Eurostar is trialing Grafana’s mobile app observability features as it considers bringing more of its digital experience into the platform. Its main priority is connecting frontend and backend traces so engineers can follow a passenger’s journey through the services behind it.

“If we can get a full trace of a user session connected to the backend services, it will help us a lot when we investigate frontend issues,” Jelinek said.

That work brings the team closer to its ambition: understanding problems early enough to act before passengers have to report them.

Industry
Travel & Transportation
Company Size
1,000+
Headquarters
London, United Kingdom
15%
reduction in observability costs