ネットスケーラー オブザーバビリティ エクスポーター と プロメテウス および グラファナ

最終公開日 : Oct 02, 2026
NetScaler Observability ExporterからデータをプルするためのエンドポイントとしてPrometheusを設定できます。また、Grafanaを設定して、同じデータをグラフィカルに視覚化することもできます。
NetScaler Observability Exporterには、Prometheusからのプルリクエストに基づいてメトリクスを提供するプッシュゲートウェイサーバーがあり、ポート5563でリッスンしています。NetScaler Observability Exporterは、時系列データをPrometheusにエクスポートします。
PrometheusとGrafanaのアーキテクチャ(/en-us/netscaler-observability-exporter/media/coe-prometheus-grafana-architecture.png)

ネットスケーラー オブザーバビリティ エクスポーター の展開

YAMLファイルを使用してNetScaler Observability Exporterを展開できます。NetScalerの展開に応じて、NetScaler Observability ExporterをKubernetesクラスターの外部または内部に展開します。NetScaler Observability Exporterは、Kubernetesクラスター内のポッドとして、またはクラスター外のNetScaler MPXまたはVPXアプライアンスに展開できます。

前提条件

  • kube-dnsまたはCoreDNSアドオンが有効になっているKubernetesクラスターがあることを確認してください。
Prometheusエンドポイントを使用してNetScaler Observability Exporterを展開するには、次のタスクが含まれます。
  • サンプルアプリケーションの展開
  • NetScaler Observability Exporterのサポートが有効になっているNetScaler CPXの展開
  • YAMLファイルを使用したPrometheusとGrafanaの展開
  • YAMLファイルを使用したNetScaler Observability Exporterの展開
  • NetScalerを構成してメトリクスをエクスポートする(オプション)
  • Prometheusを構成してテレメトリデータをプルする(オプション)
  • Grafana を構成する
  • Grafana の視覚化を作成する

サンプルアプリケーションを展開する

以下は、サンプルWebサーバーアプリケーションを展開するための手順の例です。
注:
事前展開されたWebアプリケーションがある場合は、手順1から手順3までのステップをスキップしてください。
  1. 独自の証明書とキーを使用して、シークレット ingress.crt とキー ingress.key を作成します。
    この例では、デフォルトの名前空間で ing と呼ばれるシークレットが作成されます。
    kubectl create secret tls ing --cert=ingress.crt --key=ingress.key
  2. アプリケーションを展開するには、webserver-es.yaml からYAMLファイルにアクセスします。
    kubectl create -f webserver-es.yaml
  3. イングレスのスマートアノテーションを使用して、アプリケーションのYAMLファイルのイングレスアノテーションで指定することにより、インポートする必要がある特定のパラメーターを定義します。
    ingress.citrix.com/analyticsprofile: '{"webinsight": {"httpurl":"ENABLED", "httpuseragent":"ENABLED", "httpHost":"ENABLED","httpMethod":"ENABLED","httpContentType":"ENABLED"}}'
    注:
    パラメーターは webserver-es.yaml ファイルで事前定義されています。
    アノテーションの詳細については、Ingress annotations documentation を参照してください。

NetScaler Observability Exporter のサポートが有効な NetScaler CPX を展開する

NetScaler CPX を、NetScaler Ingress Controller とともに NetScaler Observability Exporter のサポートが有効なサイドカーとして展開できます。NetScaler CPX YAML ファイル cpx-ingress-es.yaml を変更して、NetScaler Observability Exporter のサポートに必要な構成情報を含めることができます。
以下に、アプリケーションのデプロイ手順の例を示します。
  1. cpx-ingress-prometheus.yaml と cic-configmap.yaml ファイルをダウンロードします。
  2. 必要なキーと値のペアを持つConfigMapを作成し、ConfigMapをデプロイします。特定のエンドポイントについては、directory で利用可能な cic-configmap.yaml ファイルを使用できます。
  3. 必要に応じて、NetScaler CPX関連のパラメータを変更します。
  4. cic-configmap.yaml ファイルを編集し、NS_ANALYTICS_CONFIG エンドポイント構成でNetScaler Observability Exporterの以下の変数を指定します。
    server: 'coe-prometheus.default.svc.cluster.local' # COE service FQDN
    注:
    default 以外の名前空間を使用した場合は、coe-prometheus.default.svc.cluster.local to を coe-prometheus.<desired-namespace>.svc.cluster.local に変更します。
  5. 以下のコマンドを使用して、NetScaler Observability ExporterをサポートするNetScaler CPXをデプロイします。
    kubectl create -f cpx-ingress-prometheus.yaml
    kubectl create -f cic-configmap.yaml

YAMLファイルを使用してPrometheusとGrafanaをデプロイする

YAMLファイルを使用してPrometheusとGrafanaをデプロイするには、以下の手順を実行します。
  1. prometheus-grafana.yaml から Prometheus-Grafana YAMLファイルをダウンロードします。
  2. default 以外の名前空間を使用したい場合は、名前空間の定義を編集します。
  3. PrometheusとGrafanaをデプロイするには、以下のコマンドを実行します。
    kubectl create -f prometheus-grafana.yaml
注:
PrometheusとGrafanaは、同じKubernetesクラスターのデフォルトの名前空間にデプロイされます。

YAMLファイルを使用してNetScaler Observability Exporterを展開する

YAMLファイルを使用してNetScaler Observability Exporterを展開できます。YAMLファイルはcoe-prometheus.yamlからダウンロードしてください。
  • NetScaler Observability Exporterバージョン1.3.001およびそれ以前のバージョンでは、coe-prometheus.yaml YAMLファイルで提供されているConfigMap構成を使用できます。
  • NetScaler Observability Exporterバージョン1.4.001では、展開前にcoe-prometheus.yamlファイル内のConfigMapを次のように変更する必要があります。
     apiVersion: v1
     kind: ConfigMap
     metadata:
       name: coe-config-prometheus
     data:
       lstreamd_default.conf: |
         {

           "Endpoints": {
               "ZIPKIN": {
                             "ServerUrl":"http://0.0.0.0:0",
                             "RecordType":{},
                             "PrometheusMode":"yes"
                           }
                 }
         }
Kubernetes YAMLを使用してNetScaler Observability Exporterを展開するには、次のコマンドを実行します。
kubectl create -f coe-prometheus.yaml
注:
カスタム名前空間を使用している場合は、NetScaler Observability ExporterのYAMLファイルを変更してください。

メトリックをエクスポートするようにNetScalerを構成する(オプション)

注:
NetScaler Ingress Controllerを使用してNetScalerを構成しない場合は、NetScalerで次の手動構成を実行できます。
NetScalerを手動で構成して、メトリックをNetScaler Observability Exporterにエクスポートできます。NetScaler Observability ExporterのIP/FQDNアドレスをHTTPサービスとして指定し、デフォルトのns_analytics_time_series_profile分析プロファイルと組み合わせます。メトリックのエクスポートを有効にし、出力モードをPrometheusに設定します。
以下は構成例です。
add server COE_instance 192.168.1.102
add service coe_metric_collector_svc_192.168.1.102 COE_instance HTTP 5563
set analytics profile ns_analytics_time_series_profile -collector coe_metric_collector_svc_192.168.1.102 -Metrics ENABLED -OutputMode Prometheus

テレメトリデータをプルするようにPrometheusを構成する(オプション)

Prometheusサービスは、QuayコンテナレジストリおよびDocker HubでDockerイメージとして利用できます。
Prometheusを起動し、ポート9090で公開するには、次のコマンドを実行します。
docker run -p 9090:9090 prom/prometheus
NetScaler Observability Exporterをスクレイプターゲットとして手動で追加するには、prometheus.yamlファイルを編集します。YAMLファイルで、NetScaler Observability ExporterのIP/FQDNアドレスとポート5563をスクレイプターゲットとして指定します。
scrape_configs:
  - job_name: coe
    static_configs:
      - targets: ['192.168.1.102:5563']

Grafanaを構成する

現在のデプロイでは、Prometheusサーバーはすでにデータソースとして追加されています。既存のPrometheusサーバーをデプロイに使用する場合は、Grafanaにデータソースとして追加されていることを確認してください。詳細については、Grafana support for Prometheusを参照してください。

Grafanaの視覚化を作成する

Grafanaダッシュボードを作成し、データに適した主要なメトリックと視覚化タイプを選択できます。
次の手順は、ADC CPUメトリックをGrafanaパネルに追加する方法を示しています。
  1. パネルタイトルをADC CPUとして指定します。
  2. クエリタブで、クエリAのメトリックをcpu_useとして指定します。
  3. 設定タブで、視覚化タイプを選択します。
    Grafanaでデータとその表現を変更できます。詳細については、Grafana Documentationを参照してください。
    Grafanaダッシュボード

Grafana用の事前構築済みダッシュボードをインポートする

事前構築済みダッシュボードをGrafanaにインポートすることもできます。利用可能なダッシュボードを参照してください。
NetScaler Observability Exporterに関連するトラブルシューティングについては、NetScaler CPX troubleshootingを参照してください。