Solutions for observability

In a microservices based architecture, visibility into service to service communications is critical to build an efficient and resilient architecture. Traditional ways for logging and monitoring is not capable of addressing the challenges of a microservices architecture. Observability solutions from Citrix provide you the ability to see what is happening when your services interact with each other and get meaningful insights about your system.

Citrix provides the following solutions to address the observability needs of your microservices architecture:

  • Citrix ADM service graph and analytics
  • Citrix ADC observability exporter

Citrix ADM service graph and analytics

Citrix Application Delivery Management (ADM) is a centralized management solution that provides enterprise-wide visibility and automation for management jobs that need to be run across multiple instances.

In a microservice architecture, troubleshooting is challenging because a single end-user request may span across multiple microservices.

Citrix ADM’s service graph and analytics provides visibility into interactions between microservices and helps to identify and fix issues based on various metrics such as latency and HTTP errors.

Citrix ADM also provides advanced analytics based on metrics and transaction logs collected from Citrix ADC.

Citrix ADM solution provides the following benefits:

  • Provides a single pane of glass for applications across containers, on-premises, or cloud
  • Provides better observability and faster troubleshooting for microservices
  • Supports Canary deployment

The following diagram shows a sample service graph for an application which contains multiple microservices.

Citrix ADM service graph

For more information on how to set up Citrix ADM service graph and analytics, see the Service graph documentation.

Citrix ADC observability exporter

Citrix ADC observability exporter is a container which collects metrics and transactions from Citrix ADCs and transforms them to suitable formats (such as JSON, AVRO) for supported endpoints. You can export the data collected by Citrix ADC observability exporter to the desired endpoint. By analyzing the data, you can get valuable insights at a microservices level for applications proxied by Citrix ADCs.

Distributed tracing support

Distributed tracers allow you to visualize the data flow between your microservices and helps to identify the bottlenecks in your microservices architecture. OpenTracing is a specification and standard set of APIs for designing and implementing distributed tracing.

Citrix observability exporter implements distributed tracing for Citrix ADC and currently supports Zipkin as the distributed tracer.

You can enhance the trace analysis by using Elasticsearch and Kibana with Zipkin. Elasticsearch provides long-term retention of the trace data. Kibana allows you to get much deeper insight into the data by providing a tool to explore, and visualize log messages.

Transaction collection and streaming support

Citrix ADC observability exporter supports collecting transactions and streaming them to endpoints. Currently, Citrix ADC observability exporter supports Elasticsearch and Kafka as transaction endpoints.

For more information, see the Citrix ADC observability exporter documentation.

Enable analytics using annotations in the Citrix ingress controller YAML file

You can enable analytics using the analytics profile which is defined as a smart annotation in Ingress or service of type LoadBalancer configuration. You can define the specific parameters you need to monitor by specifying them in the Ingress or service configuration of the application. For more information about enabling analytics using annotations, see Analytics using annotations.

Solutions for observability