Konfiguration benutzerdefinierter Metriken für NetScaler CPX mit ConfigMap

Sie können benutzerdefinierte JSON-Dateien für die Metrikkonfiguration einer NetScaler CPX™-Instanz in Kubernetes mithilfe von ConfigMap bereitstellen. Dadurch können Sie benutzerdefinierte Metrikschemata hinzufügen, ohne die Standard-Metrikkonfigurationsdateien (schema.json und reference_schema.json) zu überschreiben, die CPX enthalten.

Während des Starts platziert die NetScaler CPX-Instanz die Standard-Metrikkonfigurationsdateien im Verzeichnis /var/metrics_conf. Wenn Sie eine ConfigMap unter /cpx/custom_metrics_conf einbinden, validiert CPX jede JSON-Datei und kopiert gültige Dateien zusammen mit den Standarddateien nach /var/metrics_conf.

Hinweise:

  • Benutzerdefinierte JSON-Dateien müssen gültiges JSON enthalten. Ungültige Dateien werden während des Starts übersprungen, und ein Fehler wird in boot.log protokolliert.
  • Standarddateien (schema.json, reference_schema.json) werden immer zuerst platziert.
  • Benutzerdefinierte Dateien mit demselben Namen wie eine Standarddatei überschreiben die Standarddatei.

Benutzerdefinierte Metriken konfigurieren

Sie können benutzerdefinierte Metriken für NetScaler CPX konfigurieren, indem Sie eine ConfigMap erstellen und die NetScaler CPX-Instanz mit der eingebundenen ConfigMap bereitstellen.

Konfigurieren über die CLI

Erstellen Sie die benutzerdefinierten JSON-Dateien für die Metrikkonfiguration, die Sie der NetScaler CPX-Instanz bereitstellen möchten. Das Folgende ist eine Beispielkonfigurationsdatei:

{
    "counter": "http_requests_total",
    "label": "method",
    "description": "Total HTTP requests by method"
}
<!--NeedCopy-->

Erstellen Sie eine ConfigMap aus den Dateien mithilfe des Befehls kubectl create configmap. Zum Beispiel, um eine ConfigMap namens custom-metrics-conf basierend auf der Konfigurationsdatei custom_schema.json zu erstellen:

kubectl create configmap custom-metrics-conf --from-file=custom_schema.json=./custom_schema.json
<!--NeedCopy-->

Zeigen Sie die erstellte ConfigMap mit dem Befehl kubectl get configmap an.

kubectl get configmap custom-metrics-conf -o yaml
<!--NeedCopy-->

Das folgende Beispiel zeigt eine Beispielausgabe:

apiVersion: v1
data:
  custom_schema.json: |
    {
      "counter": "http_requests_total",
      "label": "method",
      "description": "Total HTTP requests by method"
    }
kind: ConfigMap
metadata:
  creationTimestamp: 2026-05-14T06:26:50Z
  name: custom-metrics-conf
  namespace: default
  resourceVersion: "8865149"
  uid: c1c7cb5b-ea05-11e7-914a-926745c10b02
<!--NeedCopy-->

Konfigurieren über eine YAML-Datei

Geben Sie die erstellte ConfigMap, custom-metrics-conf, in der YAML-Datei an, die zur Bereitstellung der NetScaler CPX-Instanz verwendet wird. Die folgende Beispielkonfiguration zeigt, wie die ConfigMap in die Bereitstellungs-YAML aufgenommen wird:

apiVersion: v1
kind: Pod
metadata:
  name: cpx-1
  labels:
    app: cpx-daemon
  annotations:
    NETSCALER_AS_APP: "True"
spec:
  containers:
  - name: cpx
    image: "quay.io/netscaler/netscaler-cpx:14.1-72.56"
    securityContext:
      privileged: true
  volumeMounts:
    - name: config-volume
      mountPath: /cpx/bootup_conf
    - name: custom-metrics-volume
      mountPath: /cpx/custom_metrics_conf
  env:
    - name: "EULA"
      value: "yes"
    imagePullPolicy: IfNotPresent
  volumes:
  - name: config-volume
    configMap:
      name: cpx-config
  - name: custom-metrics-volume
    configMap:
      name: custom-metrics-conf
<!--NeedCopy-->

Stellen Sie die NetScaler CPX-Instanz bereit. Sobald die Instanz bereitgestellt und gestartet ist, werden die Standardkonfigurationsdateien für Metriken (schema.json und reference_schema.json) in /var/metrics_conf abgelegt. Die benutzerdefinierten JSON-Dateien aus der ConfigMap, die unter /cpx/custom_metrics_conf gemountet ist, werden validiert und nach /var/metrics_conf kopiert.

Konfiguration benutzerdefinierter Metriken für NetScaler CPX mit ConfigMap