Citrix ADC Ingress Controller

Unterstützung der Analytics-Konfiguration mit ConfigMap

Sie können Citrix Observability Exporter verwenden, um Metriken und Transaktionen aus Citrix ADC CPX, MPX oder VPX zu exportieren und die exportierten Daten zu analysieren, um aussagekräftige Erkenntnisse zu erhalten. Die Unterstützung des Citrix Observability Exporters ist in der Citrix Ingress Controller Ingress-Controller-Konfiguration aktiviert. Sie können jetzt die Konfiguration des Citrix Observability Exporters mit im Citrix Ingress Controller mithilfe einer ConfigMapaktivieren.

Unterstützte Umgebungsvariablen für die Analytics-Konfiguration mit ConfigMap

Unter NS_ANALYTICS_CONFIG mit einer ConfigMap können Sie die folgenden Parameter konfigurieren:

  • distributed_tracing: Diese Variable aktiviert oder deaktiviert OpenTracing in Citrix ADC und hat die folgenden Attribute:

    • enable: Setzen Sie diesen Wert auf true, um OpenTracing zu aktivieren. Der Standardwert ist false.
    • samplingrate: Gibt die OpenTracing-Abtastrate in Prozent an. Der Standardwert ist 100.
  • endpoint: Gibt die IP-Adresse oder DNS-Adresse des Analyseservers an.

    • server: Stellen Sie diesen Wert als die IP-Adresse oder DNS-Adresse des Servers ein.
    • service: Gibt die IP-Adresse oder den Dienstnamen des Citrix ADC Observability Exporter-Dienstes an, abhängig davon, ob der Dienst auf einer virtuellen Maschine oder als Kubernetes-Dienst ausgeführt wird. Wenn die Citrix ADC Observability Exporter-Instanz auf einer virtuellen Maschine ausgeführt wird, gibt dieser Parameter die IP-Adresse an. Wenn die Citrix ADC Observability Exporter-Instanz als Dienst im Kubernetes-Cluster ausgeführt wird, gibt dieser Parameter die Instanz als Namespace/Dienstnamen an.
  • timeseries: Ermöglicht das Exportieren von Zeitreihendaten aus Citrix ADC. Sie können die folgenden Attribute für die Zeitreihenkonfiguration angeben.

    • port: Gibt die Portnummer des Zeitreihenendpunkts des Analyseservers an. Der Standardwert ist 5563.
    • metrics: Ermöglicht das Exportieren von Metriken aus Citrix ADC.
      • enable: Setzen Sie diesen Wert auf true um das Senden von Metriken zu ermöglichen Der Standardwert ist false.
      • mode: Gibt den Modus des metrischen Endpunkts an. Der Standardwert ist avro.
    • auditlogs: Ermöglicht das Exportieren von Überwachungsprotokolldaten aus Citrix ADC.
      • enable: Setzen Sie diesen Wert auf true, um Überwachungsprotokolldaten zu aktivieren. Der Standardwert ist false.
    • events: Ermöglicht das Exportieren von Ereignissen aus dem Citrix ADC.
      • enable: Setzen Sie diesen Wert auf true, um den Export von Ereignissen zu ermöglichen. Der Standardwert ist false.
  • transactions: Ermöglicht das Exportieren von Transaktionen aus Citrix ADC.

    • enable: Setzen Sie diesen Wert auf true, um das Senden von Transaktionen zu ermöglichen. Der Standardwert ist false.
    • port: Gibt die Portnummer des Transaktionsendpunkts des Analytics-Servers an. Der Standardwert ist 5557.

Die folgenden Konfigurationen können nicht geändert werden, während der Citrix Ingress Controller ausgeführt wird, und Sie müssen den Citrix Ingress Controller neu starten, um diese Einstellungen zu übernehmen.

  • Serverkonfiguration (Endpunkt)
  • Port-Konfiguration (Zeitreihen)
  • Port-Konfiguration (Transaktionen)

Sie können andere ConfigMap-Einstellungen zur Laufzeit ändern, während der Citrix Ingress Controller ausgeführt wird.

Hinweis:

Wenn der Benutzer den Wert für einen Dienst als angibt namespace/service name, leitet der Citrix Ingress Controller den diesem Dienst zugeordneten Endpunkt ab und bindet ihn dynamisch an die Transaktionsdienstgruppe in Citrix Tier-1 ADC. Wenn ein Benutzer den Wert für einen Dienst als IP-Adresse angibt, wird die IP-Adresse direkt an die Transaktionsdienstgruppe gebunden. Der Citrix Ingress Controller wurde erweitert, um webbasierte oder TCP-basierte Standardanalyseprofile zu erstellen und diese an den virtuellen Protokollierungsserver zu binden. Die Standardanalyseprofile sind an alle virtuellen Lastausgleichsserver von Anwendungen gebunden, wenn der Citrix ADC Observability Exporter im Cluster aktiviert ist. Wenn der Benutzer das Analyseprofil ändern möchte, kann er die Anmerkung analyticsprofile verwenden.

Die Attribute von NS_ANALYTICS_CONFIG sollten einem genau definierten Schema folgen. Wenn ein angegebener Wert nicht mit dem Schema übereinstimmt, wird die gesamte Konfiguration zurückgewiesen. Weitere Informationen finden Sie in der Schemadatei ns_analytics_config_schema.yaml.

Erstellen einer ConfigMap für die Analytics-Konfiguration

Dieses Thema enthält Informationen zum Erstellen einer ConfigMap for Analytics-Konfiguration.

Erstellen Sie eine YAML-Datei cic-configmap.yaml mit den erforderlichen Schlüssel-Wert-Paaren in der 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

Weitere Informationen zum Konfigurieren der ConfigMap-Unterstützung auf dem Citrix Ingress Controller finden Sie unter Konfigurieren der ConfigMap-Unterstützung für den Citrix Ingress Controller.

Schema für NS_ANALYTICS_CONFIG

Es folgt das Schema für NS_ANALYTICS_CONFIG. Die Attribute sollten mit diesem Schema bestätigt werden.

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
Unterstützung der Analytics-Konfiguration mit ConfigMap