Configuration des métriques personnalisées pour NetScaler CPX à l’aide de ConfigMap

Vous pouvez fournir des fichiers JSON de configuration de métriques personnalisées à une instance NetScaler CPX™ dans Kubernetes à l’aide de ConfigMap. Cela vous permet d’ajouter des fichiers de schéma de métriques personnalisées sans écraser les fichiers de configuration de métriques par défaut (schema.json et reference_schema.json) inclus avec CPX.

Au démarrage, l’instance NetScaler CPX place les fichiers de configuration de métriques par défaut dans le répertoire /var/metrics_conf. Si vous montez un ConfigMap à /cpx/custom_metrics_conf, CPX valide chaque fichier JSON et copie les fichiers valides dans /var/metrics_conf à côté des fichiers par défaut.

Remarques :

  • Les fichiers JSON personnalisés doivent contenir du JSON valide. Les fichiers non valides sont ignorés au démarrage, et une erreur est enregistrée dans boot.log.
  • Les fichiers par défaut (schema.json, reference_schema.json) sont toujours placés en premier.
  • Les fichiers personnalisés portant le même nom qu’un fichier par défaut remplacent le fichier par défaut.

Configurer les métriques personnalisées

Vous pouvez configurer des métriques personnalisées pour NetScaler CPX en créant un ConfigMap et en déployant l’instance NetScaler CPX avec le ConfigMap monté.

Pour configurer à l’aide de la CLI

Créez les fichiers JSON de configuration de métriques personnalisées que vous souhaitez fournir à l’instance NetScaler CPX. Voici un exemple de fichier de configuration personnalisée :

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

Créez un ConfigMap à partir des fichiers à l’aide de la commande kubectl create configmap. Par exemple, pour créer un ConfigMap nommé custom-metrics-conf basé sur le fichier de configuration custom_schema.json :

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

Affichez le ConfigMap créé à l’aide de la commande kubectl get configmap.

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

L’exemple suivant montre un exemple de sortie :

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

Pour configurer à l’aide d’un fichier YAML

Spécifiez le ConfigMap créé, custom-metrics-conf, dans le fichier YAML utilisé pour déployer l’instance NetScaler CPX. L’exemple de configuration suivant montre comment inclure le ConfigMap dans le YAML de déploiement :

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

Déployez l’instance NetScaler CPX. Une fois l’instance déployée et démarrée, les fichiers de configuration des métriques par défaut (schema.json et reference_schema.json) sont placés dans /var/metrics_conf. Les fichiers JSON personnalisés du ConfigMap monté à /cpx/custom_metrics_conf sont validés et copiés dans /var/metrics_conf.

Configuration des métriques personnalisées pour NetScaler CPX à l’aide de ConfigMap