Configuración de métricas personalizadas para NetScaler CPX mediante ConfigMap

Puede proporcionar archivos JSON de configuración de métricas personalizadas a una instancia de NetScaler CPX™ en Kubernetes mediante ConfigMap. Esto le permite añadir archivos de esquema de métricas personalizadas sin sobrescribir los archivos de configuración de métricas predeterminados (schema.json y reference_schema.json) que incluye CPX.

Durante el inicio, la instancia de NetScaler CPX coloca los archivos de configuración de métricas predeterminados en el directorio /var/metrics_conf. Si monta un ConfigMap en /cpx/custom_metrics_conf, CPX valida cada archivo JSON y copia los archivos válidos en /var/metrics_conf junto con los predeterminados.

Notas:

  • Los archivos JSON personalizados deben contener JSON válido. Los archivos no válidos se omiten durante el inicio y se registra un error en boot.log.
  • Los archivos predeterminados (schema.json, reference_schema.json) siempre se colocan primero.
  • Los archivos personalizados con el mismo nombre que un archivo predeterminado anulan el archivo predeterminado.

Configurar métricas personalizadas

Puede configurar métricas personalizadas para NetScaler CPX creando un ConfigMap e implementando la instancia de NetScaler CPX con el ConfigMap montado.

Para configurar mediante la CLI

Cree los archivos JSON de configuración de métricas personalizadas que desea proporcionar a la instancia de NetScaler CPX. El siguiente es un archivo de configuración personalizado de ejemplo:

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

Cree un ConfigMap a partir de los archivos mediante el comando kubectl create configmap. Por ejemplo, para crear un ConfigMap llamado custom-metrics-conf basado en el archivo de configuración custom_schema.json:

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

Vea el ConfigMap creado mediante el comando kubectl get configmap.

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

El siguiente ejemplo muestra una salida de ejemplo:

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-->

Para configurar mediante un archivo YAML

Especifique el ConfigMap creado, custom-metrics-conf, en el archivo YAML utilizado para implementar la instancia de NetScaler CPX. La siguiente configuración de ejemplo muestra cómo incluir el ConfigMap en el YAML de implementación:

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-->

Implemente la instancia de NetScaler CPX. Una vez que la instancia se implemente e inicie, los archivos de configuración de métricas predeterminados (schema.json y reference_schema.json) se colocarán en /var/metrics_conf. Los archivos JSON personalizados del ConfigMap montado en /cpx/custom_metrics_conf se validan y se copian en /var/metrics_conf.

Configuración de métricas personalizadas para NetScaler CPX mediante ConfigMap