NetScaler ingress controller

Deploy NetScaler Observability Exporter (NSOE) by using NetScaler Operator

NetScaler Observability Exporter is a container that collects metrics and transactions from NetScaler and transforms them to suitable formats, such as JSON and AVRO. You can export the data collected by NSOE to any desired endpoint for analysis and get valuable insights at the microservices level for applications proxied by NetScaler devices.

Prerequisites

  • Red Hat OpenShift Cluster (version 4.1 or later).
  • Deploy NetScaler Operator. See Deploy NetScaler Operator.
  • Because NSOE operates via any User ID (uid), deploy the following security context constraints (SCC) for the namespace in which NSOE is deployed.

     oc adm policy add-scc-to-user anyuid system:serviceaccount:<namespace>:default
     <!--NeedCopy-->
    

Deploy NetScaler Observability Exporter using NetScaler Operator

Perform the following steps:

  1. Log in to the OpenShift 4.x Cluster console.

  2. Navigate to Operators > Installed Operators and select NetScaler Operator.

    NetScaler Ingress Controller Operator

  3. Click NetScaler Observability Exporter and select Create NetScalerObservabilityExporter .

    NetScaler Ingress Controller Create

    The NetScaler Observability Exporter YAML definition is displayed. Optionally, you can select Form view button and update the parameters in a form.

    Parameter lists

  4. Refer the following table that lists the mandatory and optional parameters and their default values that you can configure during installation.

    Parameters Mandatory or Optional Default value Description
    acceptLicense Mandatory no Set this value to Yes to accept the NSOE EULA.
    affinity Optional N/A Affinity labels for pod assignment.
    nodePortRequired Optional false Set this parameter to true to create a NSOE nodeport service.
    nodeSelector Optional N/A The node label key:value pair to be used for the nodeSelector option in an NSOE deployment.
    podAnnotations Optional N/A Map of annotations to add to the pods.
    pullPolicy Optional IfNotPresent The NSOE image pull policy.
    replicas Optional 1 The number of NSOE pods that run at any given time.
    resources Optional N/A CPU/memory resources for an NSOE container.
    tolerations Optional N/A The tolerations for an NSOE deployment.
    headless Optional false Set this parameter to true to create a headless service.
    image Mandatory quay.io/netscaler/netscaler-observability-exporter@shavalue of latest NSOE image The NSOE image hosted on Quay.io.
    nsoeLogLevel Optional INFO The log level to control the logs generated by NSOE. The supported log levels are: CRITICAL, ERROR, WARNING, INFO, DEBUG, TRACE, and NONE.
    Parameters Mandatory or Optional Default value Description
    elasticsearch  
    enabled Optional false Set this parameter to true to enable an Elasticsearch endpoint for transactions.
    server Optional http://elasticsearch:9200 The Elasticsearch endpoint.
    Parameters Mandatory or Optional Default value Description
    jsonTransRateLimiting  
    enabled Optional false Set this parameter to true to enable rate-limiting of transactions for JSON-based endpoints, such as Splunk, ElasticSearch, and Zipkin.
    limit Optional 100 The rate limit for JSON transactions. Hundred amounts to approximately 800 TPS.
    queueLimit Optional 1000 The amount of transactional data that can be saved before NSOE starts shedding them. For Zipkin, 1000 amounts to approximately 64 MB of data. For Splunk and ElasticSearch, 1000 amounts to approximately 32 MB of data.
    Window Optional 5 The recalculation window in seconds. The lower the window size (any value greater than 0), the more effective is the rate limiting. However, setting a lower window size results in CPU overhead.
    Parameters Mandatory or Optional Default value Description
    kafka  
    auditLogs Optional no Set this parameter to yes to export the audit logs to Kafka.
    broker Optional N/A The kafka broker IP address.
    dataFormat Optional AVRO The format of the data exported to Kafka. Possible values are JSON and AVRO.
    enabled Optional false Set this parameter to true to enable sending transaction data to the kafka server.
    events Optional no Set this parameter to yes to export events to Kafka.
    topic Optional HTTP The kafka topic details to upload data.
    Parameters Mandatory or Optional Default value Description
    nstracing  
    enabled Optional false Set this parameter to true to enable sending trace data to a tracing server.
    server Optional zipkin:9411/api/v1/spans The tracing server API endpoint.
    Parameters Mandatory or Optional Default value Description
    splunk  
    authToken Optional N/A The authentication token for Splunk.
    enabled Optional false Set this parameter to true to enable sending transaction data to the Splunk server.
    indexPrefix Optional N/A The Splunk index prefix to upload the transactions.
    server Optional N/A The Splunk server API endpoint.
    Parameters Mandatory or Optional Default value Description
    timeseries  
    enabled Optional false Set this parameter to true to enable metrics data upload in Prometheus format. Currently, Prometheus is the only metrics endpoint supported.

    Notes:

    NSOE can be deployed in multiple namespaces. Also, multiple instances of NSOE can also be deployed in the same namespace, provided the deployment name is different for each instance. Before deploying, ensure that the prerequisite any-uid SCC is deployed for the target namespace.

  5. After updating the values for the required parameters, click Create.

    Ensure that the NetScaler Observability Exporter is successfully deployed.

    NetScaler Observability Exporter Instance

  6. Navigate to Workloads > Pods section and verify that the NetScaler Observability Exporter pod is up and running.

    Application Pod UP and Running

Deploy NetScaler Observability Exporter (NSOE) by using NetScaler Operator