Giter VIP home page Giter VIP logo

netscaler-observability-exporter's Introduction

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 Observability Exporter to the desired endpoint. By analyzing the data exported to the endpoint, you can get valuable insights at a microservices level for applications proxied by Citrix ADCs.

Supported Endpoints

Citrix ADC Observability Exporter currently supports the following endpoints:

Overview

Distributed tracing support with Zipkin

In a microservice architecture, a single end-user request may span across multiple microservices and tracking a transaction and fixing sources of errors is challenging. In such cases, traditional ways for performance monitoring cannot accurately pinpoint where failures occur and what is the reason behind poor performance. You need a way to capture data points specific to each microservice which is handling a request and analyze them to get meaningful insights.

Distributed tracing addresses this challenge by providing a way to track a transaction end-to-end and understand how it is being handled across multiple microservices. OpenTracing is a specification and standard set of APIs for designing and implementing distributed tracing. Distributed tracers allow you to visualize the data flow between your microservices and helps to identify the bottlenecks in your microservices architecture.

Citrix ADC Observability Exporter implements distributed tracing for Citrix ADC and currently supports Zipkin as the distributed tracer.

Currently, you can monitor performance at the application level using Citrix ADC. Using Citrix ADC Observability Exporter with Citrix ADC, you can get tracing data for microservices of each application proxied by your Citrix ADC CPX, MPX, or VPX.

Transaction collection and streaming support

Citrix ADC Observability Exporter supports collecting transactions and streaming them to endpoints. Currently, Citrix ADC Observability Exporter supports Elasticsearch, Prometheus, Zipkin, Splunk Enterprise and Kafka as transaction endpoints.

Time series data support

Citrix ADC Observability Exporter supports collecting time series data (metrics) from Citrix ADC instances and exports them to Prometheus. Prometheus is a monitoring solution for storing time series data like metrics. You can then add Prometheus as a data source to Grafana and graphically view the Citrix ADC metrics and analyze the metrics.

How does Citrix ADC Observability Exporter work

Distributed tracing with Zipkin using Citrix ADC Observability Exporter

Logstream is a Citrix-owned protocol that is used as one of the transport modes to efficiently transfer transactions from Citrix ADC instances. Citrix ADC Observability Exporter collects tracing data as Logstream records from multiple Citrix ADCs and aggregates them. Citrix ADC Observability Exporter converts the data into a format understood by the tracer and then uploads to the tracer (Zipkin in this case). For Zipkin, the data is converted into JSON, with Zipkin-specific key values.

You can view the traces using the Zipkin user interface. However, you can also enhance the trace analysis by using Elasticsearch and Kibana with Zipkin. Elasticsearch provides long-term retention of the trace data and Kibana allows you to get much deeper insight into the data.

Citrix ADC Observability Exporter with Elasticsearch as the transaction endpoint

When Elasticsearch is specified as the transaction endpoint, Citrix ADC Observability Exporter converts the data to JSON format. On the Elasticsearch server, Citrix ADC Observability Exporter creates Elasticsearch indexes for each ADC on an hourly basis. These indexes are based on data, hour, UUID of the ADC, and the type of HTTP data (http_event or http_error). Then, Citrix ADC Observability Exporter uploads the data in JSON format under Elastic search indexes for each ADC. All regular transactions are placed into the http_event index and any anomalies are placed into the http_error index.

Effective with the Citrix ADC Observability Exporter release 1.2.001, when the Citrix ADC Observability Exporter sends the data to the Elasticsearch server some of the fields are available in the string format. Also, index configuration options are also added for Elasticsearch. For more information on fields which are in the string format and how to configure the Elasticsearch index, see Elasticsearch support enhancements.

Citrix ADC Observability Exporter with Kafka as the transaction endpoint

When Kafka is specified as the transaction endpoint, Citrix ADC Observability Exporter converts the transaction data to Avro format and streams them to Kafka.

Citrix ADC Observability Exporter with Prometheus as the endpoint for time series data

When Prometheus is specified as the format for time series data, Citrix Observability Exporter collects various metrics from Citrix ADCs and converts them to the appropriate Prometheus format and exports them to the Prometheus server. These metrics include counters of the virtual servers, services to which the analytics profile is bound and global counters of HTTP, TCP, and so on.

Citrix ADC Observability Exporter with Splunk Enterprise as the endpoint for audit logs, events, and transactions

When Splunk Enterprise is specified as the format for data, Citrix ADC Observability Exporter collects various indexes and audit logs from Citrix ADCs and converts them to appropriate format and exports them to the Splunk Enterprise. Splunk Enterprise captures indexes and correlates real-time data in a repository from which it can generate reports, graphs, dashboards, and visualizations. Splunk Enterprise provides a graphical representation of these data.

Deployment

Citrix ADC Observability Exporter is supported on both Kubernetes and stand-alone Linux environments. In a Kubernetes environment, you can deploy Citrix ADC Observability Exporter using Kubernetes YAML or Helm charts. To deploy Citrix ADC Observability Exporter using Kubernetes YAML, see Deployment. Also, you can deploy Citrix ADC Observability Exporter as a container on a Docker system in stand-alone Linux environment. For more information, see Deploy Citrix ADC Observability Exporter on Linux.

Questions and support

For questions and support, the following channels are available:

To request an invitation to participate in the Slack channel, provide your email address using this form: https://podio.com/webforms/22979270/1633242.

For more information about Citrix cloud native solutions, you can reach out to the Citrix product team at: [email protected]

Issues

Describe issues in detail, collect logs, and use the discussion forum to raise the issue.

Code of Conduct

This project adheres to the Kubernetes Community Code of Conduct. By participating in this project, you agree to abide by its terms.

netscaler-observability-exporter's People

Contributors

ajitchelat avatar aneeshpunathil avatar ishleenk avatar luisug avatar nagaraj-citrix avatar ritjaintibco avatar sathiyacv avatar sreejithgs avatar subashd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netscaler-observability-exporter's Issues

Equivalent of ssl configuration from netscaler-adc-metrics-exporter ?

Hello,

I have configured the netscaler metrics based on this documentation: https://docs.netscaler.com/en-us/citrix-adc/current-release/observability/prometheus-integration.html - everything worked as expected!

Could someone please guide me on which is the equivalent configuration for netscaler-observability-exporter related to ssl certificates, especially the expiration days(the scope is to monitor SSL Expiration Date using Grafana and Prometheus alerting)?

To be more precise, what is the equivalent of the below configuration for /var/metrics_conf/schema.json ?
citrix-metrics-ssl-expiration-days

@mayur-netscaler I saw your comment "use COE instead of metrics exporter", does COE support this?

Add OpenTelemetry Exporter

Add OpenTelemtry-Exporter as alternative to zipkin exporter.

Opentracing is depricated and fellowed by Opentelemetry

openshift crashloopbackoff

hey
I am using openshift 4.14. When deploying the export using the helm chart, here is what I am getting:

cp: cannot create regular file '/var/logproxy/lstreamd/conf/lstreamd.conf': Permission denied
chmod: changing permissions of '/var/logproxy/lstreamd/conf/lstreamd.conf': Operation not permitted
/var/logproxy/run_coe.sh: 44: /var/logproxy/run_coe.sh: cannot create /var/log//lstreamd.log: Permission denied

Why does the exporter needs to change the configmap content? How to overcome it?

ELK and ADC connection

How can I specify the ADC address and port to be monitored and how to pass username and password to elasticsearch?

docker-compose up not completing

running docker-compose up does not finish - sysctl cannot stat proc/sys...shmmax and shmall and does not proceed past kernel.core_pattern = cores ... or will exit 0 - so docker coe image is not running.

Linux version: Ubuntu 20.04 LTS Focal

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.