Ingress Controller de Citrix ADC

Soporte de configuración de análisis mediante ConfigMap

Puede usar Citrix Observability Exporter para exportar métricas y transacciones de Citrix ADC CPX, MPX o VPX y analizar los datos exportados para obtener información significativa. La compatibilidad con Citrix Observability Exporter está habilitada en la configuración del Citrix Ingress Controller. Ahora puede habilitar la configuración de Citrix Observability Exporter en el Citrix Ingress Controller mediante un ConfigMap.

Variables de entorno compatibles para la configuración de análisis mediante ConfigMap

Puede configurar los siguientes parámetros en NS_ANALYTICS_CONFIG mediante un ConfigMap:

  • distributed_tracing: Esta variable habilita o inhabilita OpenTracing en Citrix ADC y tiene los siguientes atributos:

    • enable: Defina este valor en true para habilitar OpenTracing. El valor predeterminado es false.
    • samplingrate: especifica la velocidad de muestreo de OpenTracing en porcentaje. El valor por defecto es 100.
  • endpoint: especifica la dirección IP o la dirección DNS del servidor de análisis.

    • server: defina este valor como la dirección IP o la dirección DNS del servidor.
    • service: Especifica la dirección IP o el nombre del servicio del exportador de observabilidad de Citrix ADC en función de si el servicio se ejecuta en una máquina virtual o como un servicio de Kubernetes. Si la instancia del exportador de observabilidad de Citrix ADC se ejecuta en una máquina virtual, este parámetro especifica la dirección IP. Si la instancia del exportador de observabilidad de Citrix ADC se ejecuta como un servicio en el clúster de Kubernetes, este parámetro especifica la instancia como espacio de nombres/nombre de servicio.
  • timeseries: Permite exportar datos de series temporales desde Citrix ADC. Puede especificar los siguientes atributos para la configuración de series temporales.

    • port: especifica el número de puerto del punto final de serie temporal del servidor de análisis. El valor predeterminado es 5563.
    • metrics: permite exportar métricas desde Citrix ADC.
      • enable: Defina este valor en true para habilitar las métricas de envío. El valor predeterminado es false.
      • mode: especifica el modo de punto final de la métrica. El valor por defecto es avro.
    • auditlogs: permite exportar datos de registro de auditoría desde Citrix ADC.
      • enable: Defina este valor en true para habilitar los datos del registro de auditoría. El valor predeterminado es false.
    • events: Permite exportar eventos desde Citrix ADC.
      • enable: Defina este valor en true para permitir la exportación de eventos. El valor predeterminado es false.
  • transactions: permite exportar transacciones desde Citrix ADC.

    • enable: Defina este valor en true para permitir el envío de transacciones. El valor predeterminado es false.
    • port: especifica el número de puerto del punto final transaccional del servidor de análisis. El valor predeterminado es 5557.

Las siguientes configuraciones no se pueden cambiar mientras se ejecuta el Citrix Ingress Controller y debe reiniciar el Citrix Ingress Controller para aplicar esta configuración.

  • Configuración del servidor (dispositivo de punto final)
  • configuración de puertos (series temporales)
  • configuración de puertos (transacciones)

Puede cambiar otras configuraciones de ConfigMap en tiempo de ejecución mientras se ejecuta el Citrix Ingress Controller.

Nota:

Cuando el usuario especifica el valor de un servicio como namespace/service name, Citrix Ingress Controller obtiene el punto final asociado a ese servicio y lo vincula dinámicamente al grupo de servicios transaccionales en el ADC de nivel 1 de Citrix. Si un usuario especifica el valor de un servicio como dirección IP, la dirección IP se enlaza directamente al grupo de servicios transaccionales. Citrix Ingress Controller se ha mejorado para crear perfiles de análisis predeterminados basados en web o TCP y vincularlos al servidor virtual de registros. Los perfiles de análisis predeterminados están enlazados a todos los servidores virtuales de equilibrio de carga de las aplicaciones si el exportador de observabilidad de Citrix ADC está habilitado en el clúster. Si el usuario quiere cambiar el perfil de análisis, puede usar la anotación analyticsprofile.

Los atributos de NS_ANALYTICS_CONFIG deben seguir un esquema bien definido. Si algún valor proporcionado no se confirma con el esquema, se rechaza toda la configuración. Como referencia, consulte el archivo de esquema ns_analytics_config_schema.yaml.

Creación de un ConfigMap para la configuración de análisis

En este tema se proporciona información sobre cómo crear un ConfigMap para la configuración de análisis.

Crea un archivo YAML cic-configmap.yaml con los pares clave-valor requeridos en ConfigMap.

  apiVersion: v1
  kind: ConfigMap
  metadata:
    name: cic-configmap
    labels:
      app: citrix-ingress-controller
  data:
    LOGLEVEL: 'info'
    NS_PROTOCOL: 'http'
    NS_PORT: '80'
    NS_HTTP2_SERVER_SIDE: 'ON'
    NS_ANALYTICS_CONFIG: |
      distributed_tracing:
        enable: 'false'
        samplingrate: 100
      endpoint:
        server: '1.1.1.1'
        service: 'default/coe-kafka'
      timeseries:
        port: 5563
        metrics:
          enable: 'false'
          mode: 'avro'
        auditlogs:
          enable: 'false'
        events:
          enable: 'false'
      transactions:
        enable: 'true'
        port: 5557

Para obtener más información sobre cómo configurar la compatibilidad con ConfigMap en el Citrix Ingress Controller, consulte configurar la compatibilidad con ConfigMap para el Citrix Ingress Controller.

Esquema para NS_ANALYTICS_CONFIG

A continuación se presenta el esquema de NS_ANALYTICS_CONFIG. Los atributos deben confirmarse con este esquema.

type: map
mapping:
  NS_ANALYTICS_CONFIG:
    required: no
    type: map
    mapping:
      endpoint:
        required: yes
        type: map
        mapping:
          server:
            required: yes
            type: str
      distributed_tracing:
        required: no
        type: map
        mapping:
          enable:
            required: yes
            type: str
            enum:
              - 'true'
              - 'false'
          samplingrate:
            required: no
            type: int
            range:
              max: 100
              min: 0
      timeseries:
        required: no
        type: map
        mapping:
          port:
            required: no
            type: int
          metrics:
            required: no
            type: map
            mapping:
              enable:
                required: yes
                type: str
                enum:
                  - 'true'
                  - 'false'
              mode:
                required: yes
                type: str
                enum:
                  - prometheus
                  - avro
                  - influx
          auditlogs:
            required: no
            type: map
            mapping:
              enable:
                required: yes
                type: str
                enum:
                  - 'true'
                  - 'false'
          events:
            required: no
            type: map
            mapping:
              enable:
                required: yes
                type: str
                enum:
                  - 'true'
                  - 'false'
      transactions:
        required: no
        type: map
        mapping:
          enable:
            required: yes
            type: str
            enum:
              - 'true'
              - 'false'
          port:
            required: no
            type: int
Soporte de configuración de análisis mediante ConfigMap