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 にコピーされます。

ConfigMap を使用した NetScaler CPX のカスタムメトリクス設定