ConfigMap を使用した NetScaler CPX のカスタムメトリクス設定
Kubernetes の NetScaler CPX™ インスタンスに ConfigMap を使用してカスタムメトリクス設定 JSON ファイルを提供できます。これにより、CPX に含まれるデフォルトのメトリクス設定ファイル (schema.json および reference_schema.json) を上書きすることなく、カスタムメトリクススキーマファイルを追加できます。
起動時に、NetScaler CPX インスタンスはデフォルトのメトリクス設定ファイルを /var/metrics_conf ディレクトリに配置します。/cpx/custom_metrics_conf に ConfigMap をマウントすると、CPX は各 JSON ファイルを検証し、有効なファイルをデフォルトとともに /var/metrics_conf にコピーします。
注:
- カスタム JSON ファイルは有効な JSON を含む必要があります。無効なファイルは起動時にスキップされ、エラーが
boot.logにログされます。 - デフォルトファイル (
schema.json,reference_schema.json) は常に最初に配置されます。 - デフォルトファイルと同じ名前のカスタムファイルは、デフォルトファイルを上書きします。
カスタムメトリクスを構成する
ConfigMap を作成し、ConfigMap がマウントされた NetScaler CPX インスタンスを展開することで、NetScaler CPX のカスタムメトリクスを構成できます。
CLI を使用して構成するには
NetScaler CPX インスタンスに提供するカスタムメトリクス設定 JSON ファイルを作成します。以下は、カスタム設定ファイルのサンプルです。
{
"counter": "http_requests_total",
"label": "method",
"description": "Total HTTP requests by method"
}
<!--NeedCopy-->
kubectl create configmap コマンドを使用してファイルから ConfigMap を作成します。たとえば、設定ファイル custom_schema.json に基づいて custom-metrics-conf という名前の ConfigMap を作成するには:
kubectl create configmap custom-metrics-conf --from-file=custom_schema.json=./custom_schema.json
<!--NeedCopy-->
kubectl get configmap コマンドを使用して作成された ConfigMap を表示します。
kubectl get configmap custom-metrics-conf -o yaml
<!--NeedCopy-->
以下にサンプル出力の例を示します。
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-->
YAML ファイルを使用して構成するには
作成したConfigMap custom-metrics-conf を、NetScaler CPXインスタンスのデプロイに使用するYAMLファイルで指定します。以下のサンプル設定は、デプロイYAMLにConfigMapを含める方法を示しています。
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-->
NetScaler CPXインスタンスをデプロイします。インスタンスがデプロイされ起動すると、デフォルトのメトリクス設定ファイル (schema.json および reference_schema.json) は /var/metrics_conf に配置されます。/cpx/custom_metrics_conf にマウントされたConfigMapからのカスタムJSONファイルは検証され、/var/metrics_conf にコピーされます。