Jump to content
Updated Privacy Statement

Mayur Patil

Internal Members
  • Posts

    21
  • Joined

  • Last visited

Posts posted by Mayur Patil

  1. Hello @Danny Gullick, thank you for your message.

    NetScaler 13.0 supports Prometheus integration using PUSH mode meaning netScaler will push the metrics to Prometheus PUSH Gateway or NetScaler observability exporter from which Prometheus will PULL the metrics.

    NetScaler 13.1 Prometheus integration is direct meaning Prometheus will PULL/scrape the metrics directly from NetScaler.

    Hence I would recommend you upgrade your NetScaler to 13.1 for better integration.

  2. Will you help me understand your use case, are you exporting NetScaler data to elasticsearch and facing issue?

    We have documentation to deploy elasticsearch along with how to guide for exporting NetScaler telemetry data to elasticsearch and visualise it in Kibana dashboard - https://docs.citrix.com/en-us/citrix-observability-exporter/deploy-coe-with-es.html#deploy-elasticsearch-and-kibana-using-yaml-files

  3. Hello,

     

    There are some modification required in the Ingress file to support the use case that you are targeting (CLIENT -->https-->VPX VS-->http-->app ingress (k8s))

    • Since you want SSL connection at the front end, Ingress file should define the tls section under spec of Ingress (please refer below Ingress sample file copied from https://github.com/citrix/example-cpx-vpx-for-kubernetes-2-tier-microservices/blob/master/on-prem/config/ingress_vpx.yaml)
    • secure-port: 443 this annotation will come in the picture only after tls section is present in Ingress, this port is used to use custom port for SSL connection other than 443
    • secure-service-type : this annotation will be used along with tls section from Ingress to define the type of SSL vserver protocol
    • insecure-port annotation is used with insecure-termination: "allow" to send the traffic on non-secure port along with secure port, but you will not need this annotation because you want SSL connection in front end.

    Try to change the Ingress accordingly, please refer to above link where end to end demo yaml files are located for your reference.

     

     

    Sample Ingress file:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: ingress-vpx
      annotations:
       kubernetes.io/ingress.class: "vpx"
       ingress.citrix.com/insecure-termination: "redirect"
       ingress.citrix.com/frontend-ip: "x.x.x.x"
       ingress.citrix.com/secure_backend: '{"lb-service-hotdrinks": "True","lb-service-colddrinks": "True"}'        ### This annotation helps to make backend service secure
    spec:
      tls:                                                     ### This section is required for secure front end connection                         
      - secretName: hotdrink-secret        ### this is secret used as server certificate in vserver config
      rules:
      - host:  hotdrink.beverages.com
        http:
          paths:
          - path: 
            backend:
              serviceName: lb-service-hotdrinks
              servicePort: 443
      - host:  guestbook.beverages.com
        http:
          paths:
          - path: 
            backend:
              serviceName: lb-service-guestbook
              servicePort: 80
      - host:  colddrink.beverages.com
        http:
          paths:
          - path: 
            backend:
              serviceName: lb-service-colddrinks
              servicePort: 443

    • Like 2
  4. Hi,

    NetScaler has the capability to parse the Json string using xp function and NetScaler can insert/Rewrite the JSON string as per customer requirement.

     

    Please find below sample for better understanding.

     

    If Original data is:

    { "PARENT" : {"name" : {"ganesh": "ramesh"},"C" : "abchijabc"}, "B" : "def" }

     

    Then the config will give the response as:

    { "PARENT" : {"name" : {"ganesh": "ramesh"},"C" : "abchijabc","NEW" : "VALUE"}, "B" : "def" }

     

    The config is:

    add rewrite action ac6 insert_after "http.res.body(http.res.content_length).xpath_json_with_markup(xp%/PARENT/child::C%)" q/",\"NEW\" : \"VALUE\""/

     

    Write back to us if you have any concerns,

     

    Regards,

    Mayur P.

×
×
  • Create New...