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.