NetScaler Observability Exporter と Elasticsearch をエンドポイントとして

最終公開日 : Oct 02, 2026
NetScaler Observability Exporter は、NetScaler からメトリクスとトランザクションを収集するコンテナです。データをサポートされている形式(JSONなど)に変換し、エンドポイントとしてElasticsearchにエクスポートします。Elasticsearch は Lucene ライブラリに基づいた検索エンジンです。HTTP Web インターフェイスとスキーマフリーの JSON ドキュメントを備えた、分散型でマルチテナント対応の全文検索エンジンを提供します。

NetScaler Observability Exporter を展開する

YAML ファイルを使用して NetScaler Observability Exporter を展開できます。NetScaler の展開に応じて、NetScaler Observability Exporter を Kubernetes クラスターの外部または内部に展開できます。NetScaler Observability Exporter は、Kubernetes クラスター内のポッドとして、またはクラスター外の NetScaler MPX または VPX アプライアンスに展開できます。
次の図は、NetScaler を Ingress Gateway として、NetScaler Ingress Controller と NetScaler Observability Exporter をサイドカーとして示しています。NetScaler Observability Exporter は、NetScaler アプリケーションのメトリクスとトランザクションデータを Elasticsearch に送信し、同じデータを Kibana にエクスポートします。Kibana はデータのグラフィカルな表現を提供します。
ネットスケーラー オブザーバビリティ エクスポーター の展開(/en-us/netscaler-observability-exporter/media/coe-es-architecture.png)

前提条件

  • Kubernetes クラスターで kube-dns または CoreDNS アドオンが有効になっていることを確認してください。
以下の手順では、YAML ファイルを使用して Kubernetes の defauIt 名前空間に NetScaler Observability Exporter を展開します。default 以外のプライベート名前空間に展開する場合は、YAML ファイルを編集して名前空間を指定してください。
以下は、アプリケーション展開手順の例です。
注:
Web アプリケーションがすでに展開されている場合は、手順 1 と 2 をスキップしてください。
  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 Ingress ControllerとともにNetScaler Observability Exporterサポートを有効にして、NetScaler CPXをサイドカーとして展開できます。NetScaler Observability Exporterサポートに必要な構成情報を含めるために、NetScaler CPX YAMLファイルcpx-ingress-es.yamlを変更できます。
NetScaler Observability Exporterサポートを使用してNetScaler CPXインスタンスを展開するには、次の手順を実行します。
  1. cpx-ingress-es.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-es.default.svc.cluster.local' # COE service FQDN
    注:
    default以外の名前空間を使用している場合は、coe-es.default.svc.cluster.local toをcoe-es.<desired-namespace>.svc.cluster.localに変更します。ADCがKubernetesクラスターの外部にある場合は、NetScaler Observability ExporterのIPアドレスとノードポートアドレスを指定する必要があります。
  5. 次のコマンドを使用して、NetScaler Observability ExporterサポートでNetScaler CPXを展開します。
    kubectl create -f cpx-ingress-es.yaml
    kubectl create -f cic-configmap.yaml

YAMLファイルを使用してElasticsearchとKibanaを展開する

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

YAMLファイルを使用してNetScaler Observability Exporterをデプロイする

YAMLファイルを使用してNetScaler Observability Exporterをデプロイできます。coe-es.yamlからYAMLファイルをダウンロードします。
Kubernetes YAMLを使用してNetScaler Observability Exporterをデプロイするには、Elasticsearchエンドポイントで次のコマンドを実行します。
kubectl create -f coe-es.yaml
注:
カスタムの名前空間を使用している場合は、NetScaler Observability ExporterのYAMLファイルを変更します。

NetScaler Observability Exporterのデプロイを検証する

NetScaler Observability Exporterのデプロイを検証するには、次の手順を実行します。
  1. 次のコマンドを使用してデプロイを検証します。
    kubectl get deployment,pods,svc -o wideサンプル出力
  2. ブラウザを使用してURL: https://kubernetes-node-IP:cpx-ingress-es nodeport/でアプリケーションにアクセスします。
    たとえば、ステップ1から<http://10.102.40.41:30176/>にアクセスします。ここで、10.102.40.41はKubernetesノードIPの1つです。
    リクエスト
  3. ブラウザを使用してKibanaにアクセスします。URL: https://<kubernetes-node-IP>:<kibana nodeport>/。
    例えば、ステップ1から<http://10.102.40.41:32529/>にアクセスします。ここで、10.102.40.41はKubernetesノードのIPの1つです。
    1. 「自分で探索」をクリックします。
      探索
    2. 「Elasticsearchインデックスに接続」をクリックします。
      Elasticインデックスに接続
    3. 「保存済みオブジェクト」をクリックします。
    4. KibanaAppTrans.ndjsonからKibanaダッシュボードをダウンロードしてインポートします。
      保存済みオブジェクト
    5. 「アプリトランザクションダッシュボード」をクリックします。
      ダッシュボード
      ダッシュボードが表示されます。
      ダッシュボード設定に基づくElasticsearchインデックス

NetScalerを複数のNetScaler Observability Exporterインスタンスと手動で統合する

NetScaler Observability Exporterは手動で設定することもできます。前のセクションで説明したように、YAMLファイルを使用してNetScaler Observability Exporterを自動的にデプロイすることをお勧めします。MPXおよびVPXフォームファクターのNetScalerについても手動設定を実行できます。
            enable feature appflow®
            enable ns mode ULFD
            add dns nameserver &lt;KUBE-CoreDNS>
            add server COEsvr &lt;FQDN/IP>
            add servicegroup COEsvcgrp LOGSTREAM  -autoScale™ DNS
            bind servicegroup COEsvcgrp COEsvr &lt;PORT>
            add lb vserver COE LOGSTREAM 0.0.0.0 0
            bind lb vserver COE COEsvcgrp
            add analytics profile web_profile -collectors COE -type webinsight -httpURL ENABLED -httpHost ENABLED -httpMethod ENABLED -httpUserAgent ENABLED -httpContentType ENABLED
            add analytics profile tcp_profile -collectors COE -type tcpinsight
            bind lb vserver &lt;WEB-VSERVER> -analyticsProfile web_profile
            bind lb vserver &lt;WEB-VSERVER> -analyticsProfile tcp_profile

            # To enable metrics push to prometheus
            add service metrichost_SVC &lt;IP> HTTP &lt;PORT>
            set analyticsprofile ns_analytics_time_series_profile -collectors metrichost_SVC -metrics ENABLED -outputMode prometheus
FQDNを使用してNetScaler Observability Exporterを追加する
            enable feature appflow
            enable ns mode ULFD
            add dns nameserver &lt;KUBE-CoreDNS>
            add server COEsvr &lt;FQDN>
            add servicegroup COEsvcgrp LOGSTREAM  -autoScale DNS
            bind servicegroup COEsvcgrp COEsvr &lt;PORT>
            add lb vserver COE LOGSTREAM 0.0.0.0 0
            bind lb vserver COE COEsvcgrp
            add analytics profile web_profile -collectors COE -type webinsight -httpURL ENABLED -httpHost ENABLED -httpMethod ENABLED -httpUserAgent ENABLED -httpContentType ENABLED
            add analytics profile tcp_profile -collectors COE -type tcpinsight
            bind lb vserver &lt;WEB-VSERVER> -analyticsProfile web_profile
            bind lb vserver &lt;WEB-VSERVER> -analyticsProfile tcp_profile

            # To enable metrics push to prometheus
            add service metrichost_SVC &lt;IP> HTTP &lt;PORT>
            set analyticsprofile ns_analytics_time_series_profile -collectors metrichost_SVC -metrics ENABLED -outputMode prometheus
NetScalerがアプリケーションデータログをNetScaler Observability Exporterに送信しているかどうかを確認するには:
nsconmsg -g lstream_tot_trans_written -d current
カウンター値は、NetScaler Observability Exporterに送信されたアプリケーショントランザクション(例:HTTPトランザクション)の数を示します。
カウンター値(/en-us/netscaler-observability-exporter/media/coe-es-counter-value.png)
NetScaler Observability Exporterに送信されるアプリケーショントラフィックレート(例:HTTP req/sec)がlstream_tot_trans_writtenと等しくない場合は、次のコマンドを使用して確認できます。
nsconmsg -g nslstream_err_ulf_data_not_sendable -d current
カウンター値は、ネットワーク輻輳、ネットワーク帯域幅の不足などにより、NetScalerがデータをNetScaler Observability Exporterに送信できないことを示します。データは利用可能なバッファに保存されます。
さまざまなトランザクションデータと個々のフィールド、およびそれらのデータ型に関する情報は、NetScalerの次の場所で入手できます。
shell/netscaler/appflow/ns_ipfix.yaml
データロケーション(/en-us/netscaler-observability-exporter/media/coe-es-shell-ipfix.png)
アプリケーショントランザクションレコードがNetScalerからNetScaler Observability Exporterにエクスポートされていることを確認するには、次のコマンドを使用します。
nsconmsg -g appflow_tmpl -d current
パフォーマンスデータ(/en-us/netscaler-observability-exporter/media/coe-es-appflow-current.png)
時系列データ用のメトリックデータエクスポートログのNetScalerへの保存場所:
/var/nslog/metrics_prom.log
Elasticsearch関連のカウンターを確認するには、次のコマンドを実行します。
      kubectl exec -it &lt;cpx-pod-name> [-c &lt;cpx-container-name>] [-n &lt;namespace-name>] -- bash

      tail -f /var/ulflog/counters/lstrmd_counters_codes.log | grep -iE "(http_reqs_done|elk)"
NetScaler Observability Exporterの設定が正しく適用されていることを確認するには、次の場所にあるログを見つけてください。
vi /var/logproxy/lstreamd/conf/lstreamd.conf
NetScaler Observability Exporter が失敗した場合は、以下の場所にあるログとファイルを収集し、NetScaler サポートに連絡してください。
/var/crash/ (Loation of the coredump files, if any.)
/var/ulflog/ (Location of the `libulfd` logs and counter details.)
/var/log  (Location of the console logs, lstreamd logs and so on.)
NetScaler Observability Exporter に関連するトラブルシューティングについては、「NetScaler CPX のトラブルシューティング」を参照してください。