NetScaler® オブザーバビリティエクスポーター
NetScaler Observability Exporterは、NetScalerからメトリクスとトランザクションを収集し、サポートされているエンドポイント向けに適切な形式(JSON、AVROなど)に変換するコンテナです。NetScaler Observability Exporterによって収集されたデータを、目的のエンドポイントにエクスポートできます。エンドポイントにエクスポートされたデータを分析することで、NetScalerによってプロキシされたアプリケーションのマイクロサービスレベルで貴重な洞察を得ることができます。
サポートされているエンドポイント
NetScaler Observability Exporterは現在、以下のエンドポイントをサポートしています。
概要
Zipkinによる分散トレーシングのサポート
マイクロサービスアーキテクチャでは、単一のエンドユーザーリクエストが複数のマイクロサービスにまたがることがあり、トランザクションの追跡やエラーの原因特定は困難です。そのような場合、従来のパフォーマンス監視方法では、障害が発生した場所やパフォーマンス低下の原因を正確に特定することはできません。リクエストを処理する各マイクロサービスに固有のデータポイントをキャプチャし、それらを分析して意味のある洞察を得る方法が必要です。
分散トレーシングは、トランザクションをエンドツーエンドで追跡し、複数のマイクロサービス間でどのように処理されているかを理解する方法を提供することで、この課題に対処します。OpenTracingは、分散トレーシングを設計および実装するための仕様と標準APIセットです。分散トレーサーを使用すると、マイクロサービス間のデータフローを視覚化し、マイクロサービスアーキテクチャのボトルネックを特定するのに役立ちます。
NetScaler Observability ExporterはNetScaler向けに分散トレーシングを実装しており、現在、分散トレーサーとしてZipkinをサポートしています。
現在、NetScalerを使用してアプリケーションレベルでパフォーマンスを監視できます。NetScaler Observability ExporterをNetScalerと併用することで、NetScaler CPX、MPX、またはVPXによってプロキシされた各アプリケーションのマイクロサービスに関するトレーシングデータを取得できます。
トランザクションの収集とストリーミングのサポート
NetScaler Observability Exporterは、トランザクションを収集し、エンドポイントにストリーミングすることをサポートしています。現在、NetScaler Observability Exporterは、トランザクションエンドポイントとしてElasticsearchとKafkaをサポートしています。
時系列データのサポート
NetScaler Observability Exporterは、NetScalerインスタンスから時系列データ(メトリクス)を収集し、Prometheusにエクスポートすることをサポートしています。Prometheusは、メトリクスなどの時系列データを保存するための監視ソリューションです。その後、PrometheusをGrafanaのデータソースとして追加し、NetScalerのメトリクスをグラフィカルに表示して分析できます。
NetScaler Observability Exporterの仕組み
NetScaler Observability Exporterを使用したZipkinによる分散トレース
Logstreamは、NetScalerインスタンスからトランザクションを効率的に転送するためのトランスポートモードの1つとして使用される、Citrixが所有するプロトコルです。NetScaler Observability Exporterは、複数のNetScalerからLogstreamレコードとしてトレースデータを収集し、それらを集約します。NetScaler Observability Exporterは、データをトレーサーが理解できる形式に変換し、トレーサー(この場合はZipkin)にアップロードします。Zipkinの場合、データはZipkin固有のキー値を持つJSONに変換されます。
Zipkinユーザーインターフェイスを使用してトレースを表示できます。ただし、ZipkinとElasticsearchおよびKibanaを使用することで、トレース分析を強化することもできます。Elasticsearchはトレースデータの長期保存を提供し、Kibanaはデータに対するより深い洞察を得ることを可能にします。
トランザクションエンドポイントとしてのElasticsearchを備えたNetScaler Observability Exporter
Elasticsearchがトランザクションエンドポイントとして指定されている場合、NetScaler Observability ExporterはデータをJSON形式に変換します。Elasticsearchサーバー上で、NetScaler Observability Exporterは各ADCのElasticsearchインデックスを1時間ごとに作成します。これらのインデックスは、データ、時間、ADCのUUID、およびHTTPデータのタイプ(http_eventまたはhttp_error)に基づいています。その後、NetScaler Observability Exporterは、各ADCのElasticsearchインデックスの下にJSON形式でデータをアップロードします。すべての通常のトランザクションはhttp_eventインデックスに配置され、異常はhttp_errorインデックスに配置されます。
エンドポイントとしてのKafkaを備えたNetScaler Observability Exporter
NetScaler Observability Exporterは、トランザクションをAvroまたはJSONとしてKafkaにエクスポートします。監査ログとイベントはJSONとしてエクスポートされます。
時系列データのエンドポイントとしてのPrometheusを備えたNetScaler Observability Exporter
Prometheusが時系列データの形式として指定されている場合、NetScaler Observability ExporterはNetScalerからさまざまなメトリクスを収集し、適切なPrometheus形式に変換してPrometheusサーバーにエクスポートします。これらのメトリクスには、仮想サーバーのカウンター、分析プロファイルがバインドされているサービス、HTTP、TCPなどのグローバルカウンターが含まれます。
エンドポイントとしてのSplunk Enterpriseを備えたNetScaler Observability Exporter
Splunk Enterpriseがトランザクションエンドポイントとして指定されている場合、NetScaler Observability Exporterはインデックス、監査ログ、およびイベントを収集し、Splunk Enterpriseにエクスポートします。Splunk Enterpriseはインデックスをキャプチャし、リポジトリ内のリアルタイムデータを関連付け、そこからレポート、グラフ、ダッシュボード、および視覚化を生成できます。Splunk Enterpriseはこれらのデータのグラフィカルな表現を提供します。
展開
Kubernetes YAMLを使用してNetScaler Observability Exporterを展開できます。Kubernetes YAMLを使用してNetScaler Observability Exporterを展開するには、展開を参照してください。Helmチャートを使用してNetScaler Observability Exporterを展開するには、Helmチャートを使用した展開を参照してください。
機能
カスタムヘッダーロギング
カスタムヘッダーロギングにより、トランザクションのすべてのHTTPヘッダーのロギングが可能になり、現在Kafkaエンドポイントでサポートされています。 詳細については、カスタムヘッダーロギングを参照してください。
Elasticsearchサポートの機能強化
NetScaler Observability Exporterリリース1.2.001以降、NetScaler Observability ExporterがデータをElasticsearchサーバーに送信する際、一部のフィールドが文字列形式で利用可能になりました。また、Elasticsearchのインデックス構成オプションも追加されました。文字列形式のフィールドとElasticsearchインデックスの構成方法の詳細については、Elasticsearchサポートの機能強化を参照してください。