ADC

トランザクションログをNetScalerからSplunkに直接エクスポートする

NetScalerからSplunkなどの業界標準のログアグリゲータープラットフォームにトランザクションログをエクスポートできるようになりました。トランザクションログは、HTTP要求と応答、接続の開始と終了など、NetScaler上のアプリケーショントラフィックフローイベントの記録です。トランザクションログの詳細については、「 AppFlow」を参照してください。

Web Insight、セキュリティ、ゲートウェイ、HDXインサイトなどのさまざまなインサイト用にトランザクションログをJSON形式でエクスポートできます。トランザクションログをSplunkにエクスポートするには、SplunkをHTTPサーバーとして構成し、HTTPイベントコレクターを使用してトランザクションログをHTTP (またはHTTPS) 経由でNetScalerからSplunkプラットフォームに直接送信する必要があります。Splunkの視覚化ツールを使用すると、エクスポートされたデータについて有意義な洞察を得ることができます。

注:

トランザクションログの一部としてエクスポートされる IP アドレスは、標準形式ではなく 10 進形式で表示されます。たとえば、NetScaler の IP アドレスが 10.102.154.153 の場合、Splunk のトランザクションログには同じアドレスが 174496409 と表示されます。Splunkに組み込まれている式を使用して、IPアドレスを10進形式から標準形式に変換できます。

NetScalerからHTTPサーバーとして構成されたSplunkにトランザクションログをエクスポートします

トランザクションログのエクスポートを設定するには、次の手順を実行する必要があります:

  1. Splunk で HTTP イベントコレクターを設定します。
  2. NetScalerでコレクターサービスと分析プロファイルを作成します。

Splunk での HTTP イベントコレクターの設定

HTTP イベントコレクターを設定することで、トランザクションログを Splunk に転送できます。HTTP イベントコレクターの設定方法については、 Splunk のドキュメントを参照してください

HTTP イベントコレクターを設定したら、認証トークンをコピーして参照用に保存します。NetScalerで分析プロファイルを構成する際には、このトークンを指定する必要があります。

NetScaler でアナリティクスプロファイルを設定する

NetScalerのトランザクションログをSplunkにエクスポートするには、次の操作を行います。

  1. Splunk 用のコレクターサービスを作成します。

    add service <collector> <splunk-server-ip-address> <protocol> <port>
    

    例:

    add service splunk_service 10.102.34.155 HTTP 8088
    

    この構成では:

    • IPアドレス:SplunkサーバーのIPアドレス。
    • コレクター名:コレクターの名前。
    • プロトコル:プロトコルを HTTP または SSL として指定します。
    • ポート:ポート番号。
  2. 分析プロファイルを作成します。

    add analytics profile `profile-name` -type <insight> -collectors `collector-name` -analyticsAuthToken `<auth-scheme> <authorization-parameters>` `-analyticsEndpointContentType` `application/json` -analyticsEndpointUrl `endpoint-url`
    

    例:

    add analytics profile transaction-log-profile -type webinsight -collectors -analyticsAuthToken "Splunk 1234-5678-12345" -analyticsEndpointContentType "application/json" -analyticsEndpointUrl "/services/collector/event"
    

    注:

    -allHttpHeadersオプションは Splunk トランザクションログのエクスポートではサポートされていません。

    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
    • -AnalyticsAuthToke認証スキーム認証パラメーター:Splunkにログを送信する際に、認証スキーム「Splunk」を使用して認証ヘッダーに含める認証トークンを指定します。このトークンは、HTTP イベントコレクターの設定時に Splunk サーバーで作成される認証トークンです。

    • アナリティクスエンドポイントコンテンツタイプ:コンテンツタイプヘッダー。ハードコードされた値は application/json です。

    • AnalyticsEndpointURL: Splunk 上の HEC へのパス (/サービス/コレクター/イベントまたは /サービス/コレクター)。

      注:

      分析プロファイルのパラメーターは、 set analytics profile コマンドを使用して変更できます。

  3. show analytics profile コマンドを使用して、アナリティクスプロファイルの設定を確認します。

    > sh analytics profile 
        
    ns_analytics_default_http_profile
    1)      Name: ns_analytics_default_http_profile
            Collector: splunk
            Profile-type: webinsight
                    Page Tracking: DISABLED
                    Client Side Measurements: DISABLED
                    URL Logging: ENABLED
                    Host Header Logging: ENABLED
                    Method Logging: ENABLED
                    Cookie Header Logging: DISABLED
                    Referer Header Logging: DISABLED
                    User Agent Logging: DISABLED
                    Content Type Logging: DISABLED
                    Authorization Header Logging: DISABLED
                    Via Header Logging: DISABLED
                    Location Header Logging: DISABLED
                    URL Category Logging: DISABLED
                    Log All HTTP Headers: DISABLED
                    X-Forwarded-For Header Logging: DISABLED
                    Set-Cookie Header Logging: DISABLED
                    Set-Cookie2 Header Logging: DISABLED
                    Domain Name Logging: DISABLED
                    URL-Query Logging: DISABLED
                    Integrated Cache Logging: DISABLED
                    gRPC Status Logging: DISABLED
                    API Spec Info Export Logging: DISABLED
            Authentication Token:
            Endpoint URL: /services/collector/event
            Endpoint Content-type: text/json
            Reference Count: 1
            Managementlog: NONE
    
  4. 分析プロファイルを仮想サーバーにバインドします。

    bind lb vserver <vserver-name> -analyticsProfile transaction-log-profile
    

    例:

    bind lb vserver sample-virtualserver -analyticsProfile transaction-log-profile
    

構成が成功すると、トラフィックに基づいてトランザクションが記録され、SplunkのHECにエクスポートされます。

サンプル出力

このセクションには、さまざまなトランザクションログの出力例が含まれています。

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
}

トランザクションログのサンプルダッシュボード

Splunkで利用できる次のダッシュボードには、トランザクションログに関連するデータが表示されます:

  • NetScaler HTTP インサイトダッシュボード
  • NetScaler SSL Insightダッシュボード
  • NetScaler TCP Insightダッシュボード

詳細については、「 Splunk のサンプルダッシュボード」を参照してください。