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.