-
-
-
VMware ESX、Linux KVM、およびCitrix HypervisorでNetScaler ADC VPXのパフォーマンスを最適化する
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
トランザクションログをNetScaler からElasticsearchに直接エクスポートする
-
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
トランザクションログをNetScaler からElasticsearchに直接エクスポートする
NetScalerからElasticsearchなどの業界標準のログアグリゲータープラットフォームにトランザクションログをエクスポートできるようになりました。トランザクションログは、HTTP要求と応答、接続の開始と終了など、NetScaler上のアプリケーショントラフィックフローイベントの記録です。トランザクションログの詳細については、「 AppFlow」を参照してください。
トランザクションログをJSON形式でElasticSearchにエクスポートして、Web Insight、セキュリティ、ゲートウェイ、HDX Insightなどのさまざまなインサイトを、NetScalerから直接HTTP(またはHTTPS)経由でエクスポートできます。Kibana の視覚化ツールを使用すると、エクスポートされたデータに関する有意義な洞察を得ることができます。
注:
トランザクションログの一部としてエクスポートされる IP アドレスは、標準形式ではなく 10 進形式で表示されます。たとえば、NetScaler の IP アドレスが 10.102.154.153 の場合、Elasticsearch のトランザクションログには同じアドレスが 174496409 と表示されます。Elasticsearchに組み込まれている式を使用して、IPアドレスを10進形式から標準形式に変換できます。
トランザクションログをNetScalerからHTTPサーバーとして構成されたElasticsearchにエクスポートする
トランザクションログのエクスポートを設定するには、次の手順を実行する必要があります:
- トランザクションログを受信するように Elasticsearch を設定します。
- NetScalerでコレクターサービスと分析プロファイルを作成します。
トランザクションログを受信するように Elasticsearch を設定する
Elasticsearchのドキュメントに記載されている構成手順に従うことで、NetScalerによって転送されたトランザクションログを受信するようにElasticsearchを構成できます。
設定が完了したら、認証トークンをコピーして参照用に保存します。NetScalerで分析プロファイルを構成する際には、このトークンを指定する必要があります。
NetScaler でアナリティクスプロファイルを設定する
NetScalerのトランザクションログをElasticsearchにエクスポートするには、以下を実行してください。
-
Elasticsearch 用のコレクターサービスを作成します。
add service <collector> <elasticsearch-server-ip-address> <protocol> <port>
例:
add service elasticsearch_service 10.102.34.155 HTTP 8088
この構成では:
- IP アドレス:Elasticsearchサーバーの IP アドレス。
- コレクター名:コレクターの名前。
- プロトコル:プロトコルを HTTP または SSL として指定します。
- ポート:ポート番号。
-
分析プロファイルを作成します。
add analytics profile <profile-name> -type <insight> -collectors <collector-name> -analyticsAuthToken <auth-scheme> <authorization-parameters> -analyticsEndpointContentType "application/json" -analyticsEndpointUrl <endpoint-url> -dataFormatFile <data-format-file-name>
例:
add analytics profile transaction-log-profile -type webinsight -collectors elasticsearch_collector -analyticsAuthToken "Basic ZWxhc3RpYzplbGFzdGljMTIz" -analyticsEndpointContentType "application/json" -analyticsEndpointUrl "/_bulk" -dataFormatFile "elastic_format.txt"
注:
-allHttpHeaders
オプションは、NetScaler 14.1-25.x以降でのElasticsearchトランザクションログのエクスポートでサポートされています。add analytics profile <profile-name> -type webinsight -allHttpHeaders
set analytics profile <profile-name> -type webinsight -allHttpHeaders
この構成では:
- Insight:エクスポートできるインサイトの種類次のオプションを使用できます:
- botinsight
- CIinsight
- Gatewayinsight
- hdxinsight
- lsninsight
- securityinsight
- tcpinsight
- udpinsight
- videoinsight
- webinsight
-
-analyticsAuthToken <auth-scheme> <authorization-parameters>
:HTTP 認証ヘッダーの値。Elasticsearch で基本認証が必要な場合は、
-analyticsAuthToken
をBasic <base64 of username:password>
に設定できます。たとえば、ユーザー名がelastic
でパスワードがelastic123
の場合、base64(elastic:elastic123)
は「 ZWxhc3RpYzplbGFzdGljMTIz」になります。 この例の<base64 of username:password>
では、 base64が利用可能なUNIXベースのシステムでprintf elastic:elastic123 | base64
を実行すると見つかります。この値は、使い慣れた他のツールを使用して確認することもできます。したがって、この例では、-analyticsAuthToken <auth-scheme> <authorization-parameters>
の値は「Basic ZWxhc3RpYzplbGFzdGljMTIz」です。基本認証の代わりに API キーを設定したい場合は、同様のセマンティクスを使用できます。この場合、
ApiKey <encoded api key>
を認証トークンとして指定する必要があります(ここで<encoded api key>
はbase64(<unique id>:<api key>)
)。詳しくは、https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.htmlを参照してください。 -
dataformatfile <filename>
:エクスポートする必要があるトランザクションログ内のデータの詳細とその形式を含むファイル。<filename>
は、/var/analytics_conf
ディレクトリにあるデータフォーマットファイルの名前です。各エンドポイントは、JSON ペイロードが特定の形式でエンコードされることを想定しています。形式が指定されていない場合は、デフォルトでsplunk_format.txt
が選択されます。Elasticsearch の場合は、ファイル名としてelastic_format.txt
を設定します。ユースケースに合わせて独自のカスタムデータフォーマットファイルを定義することもできます。カスタムデータフォーマットファイルの詳細については、「 データレコードのフィールドベースのフィルタリング」を参照してください。注:
<filename>
では 、ファイル名の絶対パスを設定しないでください。ファイル名のみを入力します。 -
-analyticsEndpointContentType
:コンテンツタイプヘッダー。ハードコードされた値は application/json です。 -
-analyticsEndpointUrl
:トランザクションのポスト先となる Elasticsearch 上のパス。例:/_bulk
。NetScaler バルクAPIを使用してElasticsearchと通信します。Bulk API の詳細については、https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.htmlを参照してください。注:
分析プロファイルのパラメーターは、
set analytics profile
コマンドを使用して変更できます。
- Insight:エクスポートできるインサイトの種類次のオプションを使用できます:
-
show analytics profile コマンドを使用して、アナリティクスプロファイルの設定を確認します。
> sh analytics profile
-
分析プロファイルを仮想サーバーにバインドします。
bind lb vserver <vserver-name> -analyticsProfile transaction-log-profile
例
bind lb vserver sample-log -analyticsProfile transaction-log-profile
設定が完了すると、トラフィックに基づいてトランザクションが記録され、Elasticsearchにエクスポートされます。
データレコードのフィールドベースのフィルタリング
デフォルトでは、エンドポイントがエクスポートされたデータのすべてを必要としない場合でも、NetScalerはトランザクションログの何百ものフィールドをエクスポートします。また、各エンドポイントは、JSON ペイロードがデータレコードの開始と終了、データレコード間の区切り文字、バッファーの開始と終了などの特定の形式でエンコードされていることを想定しています。
Elasticsearchは、NetScalerから送信されるJSONペイロードが次の形式でエンコードされていることを想定しています:
- バッファーの開始と終了:
BUFFER-START
およびBUFFER-END
には値は必要ありません。バッファの最後に空白行を追加する必要があります。 -
データレコードの開始と終了:データレコードは
{"index": {"_index": "transactions"}} {
で始まり 、}
で終わる必要があります 。エクスポートされるすべてのフィールドは、DATA-START
とDATA-END
の間でキャプチャする必要があります。The data records must start with the following:
RECORD-START {"index": {"_index": "transactions"}} { DATA-START
The data records must end with the following:
DATA-START } RECORD-END
- データレコード間の区切り文字:データレコード間の 1 行の空行。
デフォルトでは、elastic_format.txt
はElasticsearchが想定するJSONペイロード形式を含むvar/analytics_conf
フォルダーにあり、データがエクスポートされるいくつかのデフォルトフィールドも含まれています。分析プロファイルの追加コマンドでelastic_format.txt
を-dataFormatFile
パラメータの値として設定できます。
Elasticsearch のサンプルデータフォーマットファイルを以下に示します:
BUFFER-START
RECORD-START
{"index": {"_index": "transactions"}}
{
DATA-START
153 observationPointId
547 nsPartitionId
154 exportingProcessId
159 transactionId
801 httpReqUrl
685 httpReqMethod
683 httpReqHost
689 httpReqUserAgent
680 httpContentType
691 httpReqXForwardedFor
682 httpDomainName
803 appName
851 appNameVserverLs
484 httpRspStatus
53 httpRspLen
684 httpResLocation
687 httpResSetCookie
DATA-END
}
RECORD-END
RECORD-DELIMITER
RECORD-DELIMITER-END
BUFFER-END
var/analytics_conf
下のJSON_fields.txt
ファイルは、フィールドの完全なリストとその ID 番号を含むリファレンスマスターファイルです。マスターファイル内のフィールドは、インサイトに基づいて分類されます。たとえば、HDX インサイトに関連するフィールドを知りたい場合は、JSON_fields.txt ファイルの HDX インサイトカテゴリを見て、HDX インサイトカテゴリに関連するフィールドを知ることができます。
要件に基づいてelastic_format.txt
ファイルをカスタマイズできます。たとえば、HDX Insightsをエクスポートする場合は、JSON_fields.txt
ファイル内のHDX Insightsカテゴリを確認して、必須フィールドをelastic_format.txt
ファイルに追加できます。同様に、エクスポートしたくないフィールドを削除できます。
elastic_format.txt
ファイルをカスタマイズしたら、次のコマンドを実行して Analytics プロファイルを更新します:
update analytics profile <profile-name> -dataFormatFile <filename>
例:
update analytics profile ns _analytics_ default_http_profile -dataFormatFile elastic_format.txt
GUI を使用してデータ形式ファイルの値を指定することもできます。[ システム] > [AppFlow] > [アナリティクスプロファイル ] に移動し、[ 追加] をクリックします。「 Analytics プロファイルの作成 」ページで、「タイプ」で次のオプションのいずれかを選択すると、ファイル名を指定できる「 データ形式ファイル 」フィールドが表示されます:
- GLOBAL
- WEB INSIGHT
- TCP INSIGHT
- SECURITY INSIGHT
- VIDEO INSIGHT
- HDX INSIGHT
- GATEWAY INSIGHT
- LSN INSIGHT
- BOT INSIGHT
- TIME SERIES
サンプル出力
このセクションには、さまざまなトランザクションログの出力例が含まれています。
HTTP トランザクションログのサンプル出力
以下は、HTTP トランザクションログの出力例です。
{
appName: VS1
clientMss: 1460
clntFastRetxCount: 0
clntTcpJitter: 0
cintTcpPacketsRetransmited: 0
clntTcpRtoCount: 0
clntTcpZeroWindowCount: 0
cltDstIpv4Address: 174496411
cltIpv4Address: 174496407
connEndTimestamp: 0
connStartTimestamp: 7329468222993076980
exportingProcessId: 0
httpRegHost: 10.102.154.155
httpReqMethod: GET
httpReqUrl: /big.html
httpRspLen: 114380
httpRspStatus: 200
mainPageCoreId: 0
mainPageId: 0
nsPartitionId: 0
observationPointId: 174496409
originRspLen: 0
srvrIcpPacketsRetransmited: 0
srvrTcpZeroWindowCount: 0
svrDstIpv4Address: 174496415
svrIpv4Address: 174496408
tepSrvrConnRstCode: 0
transClntRTT: 0
transCltDstPort: 20480
transCltFlowEndUsecRx: 7329468222993084980
transCltFlowEndUsecTx: 7329468222993084980
transCltFlowStartUsecRx: 7329468222993076980
transCltFlowStartUsecTx: 7329468222993077984
transCltSrcPort: 60315
transCltTotRx0ctCnt: 1766
transCltTotTx0ctCnt: 117580
transSrvDstPort: 36895
transSrvSrcPort: 15213
transSrvrRTT: 0
transSvrFlowEndUsecRx: 7329468222993084980
transSvrFlowEndUsecTx: 7329468222993084980
transSvrFlowStartUsecRx: 7329468222993077984
transSvrFlowStartUsecTx: 0
transSvrTotRx0ctCnt: 117580
transSvrTotTx0ctCnt: 1766
transactionId: 4890
}
TCP トランザクションログのサンプル出力
TCP トランザクションログの出力例を次に示します。
{
appName: vs1
clientConnEndTimestamp: 7333165210582386064
clientConnStartTimestamp: 7333165210582386054
clientMss: 1460
clntFastRetxCount: 0
clntTcpJitter: 0
clntTcpPacketsRetransmited: 0
clntTcpRtoCount: 0
clntTcpZeroWindowCount: 0
cltDstIpv4Address: 174496411
cltDstPort: 20480
cltIpv4Address: 174496407
cltSrcPort: 42939
connectionChainHopCount: 0
exportingProcessId: 0
nsPartitionId: 0
observationPointId: 174496409
serverConnEndTimestamp: 7333165201992708470
serverConnStartTimestamp: 7333165201992708459
srvDstPort: 36895
srvSrcPort: 51973
srvrTcpPacketsRetransmited: 0
srvrTcpZeroWindowCount: 0
svrDstIpv4Address: 174496415
svrIpv4Address: 174496408
tcpClntConnRstCode: 0
tcpSrvrConnRstCode: 0
transClntRTT: 0
transCltTotRxOctCnt: 208
transCltTotTxOctCnt: 331
transSrvrRTT: 0
transSvrTotRxOctCnt: 331
transSvrTotTxOctCnt: 208
transactionId: 330
vlanNumber: 1
}
SSL トランザクションログのサンプル出力
SSL トランザクションログの出力例を次に示します。
{
appName: sslvs
clientConnEndTimestamp: 0
clientConnStartTimestamp: 7333182669624439854
clientMss: 1460
clntFastRetxCount: 0
clntTcpJitter: 0
clntTcpPacketsRetransmited: 0
clntTcpRtoCount: 0
clntTcpZeroWindowCount: 0
cltDstIpv4Address: 174496411
cltDstPort: 47873
cltIpv4Address: 174496407
cltSrcPort: 17499
connectionChainHopCount: 0
exportingProcessId: 0
httpContentType: text/html
httpReqHost: 10.102.154.155
httpReqMethod: GET
httpReqUrl: /index.html
httpReqUserAgent: curl/7.69.1
httpRspLen: 291
httpRspStatus: 200
nsPartitionId: 0
observationPointId: 174496409
originRspLen: 0
serverConnEndTimestamp: 0
serverConnStartTimestamp: 7333182665330184556
srvDstPort: 36895
srvSrcPort: 34802
srvrTcpPacketsRetransmited: 0
srvrTcpZeroWindowCount: 0
sslCipherValueBE: 0
sslCipherValueFE: 50331701
sslClientCertSizeBE: 0
sslClientCertSizeFE: 0
sslClntCertSigHashBE: 0
sslClntCertSigHashFE: 0
sslFLagsBE: 0
sslFLagsFE: 1096
sslServerCertSizeBE: 0
sslServerCertSizeFE: 4096
sslSessionIDBE: 0
sslSessionIDFE: 2433458443
sslSigHashAlgBE: 0
sslSigHashAlgFE: 0
sslSrvrCertSigHashBE: 0
sslSrvrCertSigHashFE: 668
svrDstIpv4Address: 174496415
svrIpv4Address: 174496408
tcpClntConnRstCode: 0
tcpSrvrConnRstCode: 0
transClntRTT: 0
transCltFlowEndUsecRx: 7333182669624447854
transCltFlowEndUsecTx: 7333182669624446854
transCltFlowStartUsecRx: 7333182669624439854
transCltFlowStartUsecTx: 7333182669624439854
transCltTotRxOctCnt: 1501
transCltTotTxOctCnt: 2223
transSrvrRTT: 0
transSvrFlowEndUsecRx: 7333182669624446854
transSvrFlowEndUsecTx: 7333182669624446854
transSvrFlowStartUsecRx: 7333182669624446854
transSvrFlowStartUsecTx: 0
transSvrTotRxOctCnt: 331
transSvrTotTxOctCnt: 168
transactionId: 2640
vlanNumber: 1
}
Web Insight トランザクションログのサンプル出力
Web Insight トランザクションログの出力例を次に示します。
{
appName: vs1
clientConnEndTimestamp: 0
clientConnStartTimestamp: 7333336201820249485
clientMss: 1460
clntFastRetxCount: 0
clntTcpJitter: 0
clntTcpPacketsRetransmited: 0
clntTcpRtoCount: 0
clntTcpZeroWindowCount: 0
cltDstIpv4Address: 174496411
cltDstPort: 20480
cltIpv4Address: 174758625
cltSrcPort: 46824
connectionChainHopCount: 0
exportingProcessId: 0
httpContentType: text/html
httpReqHost: 10.102.154.155
httpReqMethod: GET
httpReqUrl: /
httpRspLen: 291
httpRspStatus: 200
nsPartitionId: 0
observationPointId: 174496409
originRspLen: 0
serverConnEndTimestamp: 0
serverConnStartTimestamp: 7333336201820250487
srvDstPort: 36895
srvSrcPort: 6465
srvrTcpPacketsRetransmited: 0
srvrTcpZeroWindowCount: 0
svrDstIpv4Address: 174496415
svrIpv4Address: 174496408
tcpClntConnRstCode: 0
tcpSrvrConnRstCode: 0
transClntRTT: 0
transCltFlowEndUsecRx: 7333336201820251488
transCltFlowEndUsecTx: 7333336201820251488
transCltFlowStartUsecRx: 7333336201820249485
transCltFlowStartUsecTx: 7333336201820250487
transCltTotRxOctCnt: 190
transCltTotTxOctCnt: 371
transSrvrRTT: 0
transSvrFlowEndUsecRx: 7333336201820251488
transSvrFlowEndUsecTx: 7333336201820250487
transSvrFlowStartUsecRx: 7333336201820250487
transSvrFlowStartUsecTx: 7333336201820250487
transSvrTotRxOctCnt: 371
transSvrTotTxOctCnt: 202
transactionId: 11218
vlanNumber: 1
}
共有
共有
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.