ADC

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.

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

  • NetScaler Console service graph and analytics
  • NetScaler Observability Exporter

NetScaler Console service graph and analytics

NetScaler 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.

NetScaler Console 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.

NetScaler Console also provides advanced analytics based on metrics and transaction logs collected from NetScaler.

NetScaler Console 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.

NetScaler Console service graph

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

NetScaler Observability Exporter

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

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.

NetScaler Observability Exporter implements distributed tracing for NetScaler 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

NetScaler Observability Exporter supports collecting transactions and streaming them to endpoints. Currently, NetScaler Observability Exporter supports Elasticsearch and Kafka as transaction endpoints.

For more information, see the NetScaler Observability Exporter documentation.

Enable analytics using annotations in the NetScaler 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