ADC

Exportez les journaux de transactions directement de NetScaler vers Splunk

Vous pouvez désormais exporter des journaux de transactions depuis NetScaler vers des plateformes d’agrégation de journaux standard telles que Splunk. Le journal des transactions est l’enregistrement des événements du flux de trafic des applications sur le NetScaler, tels que les requêtes et réponses HTTP, le début et la fin de la connexion. Pour plus d’informations sur les journaux de transactions, consultez AppFlow.

Vous pouvez exporter les journaux de transactions au format JSON pour obtenir différentes informations telles que Web Insight, la sécurité, la passerelle, HDX Insights. Pour exporter des journaux de transactions vers Splunk, vous devez configurer Splunk en tant que serveur HTTP et utiliser le collecteur d’événements HTTP pour envoyer les journaux de transactions via HTTP (ou HTTPS) directement à la plateforme Splunk depuis votre NetScaler. À l’aide des outils de visualisation de Splunk, vous pouvez obtenir des informations pertinentes sur les données exportées.

Remarque :

Les adresses IP exportées dans le cadre des journaux de transactions apparaissent au format décimal au lieu du format standard. Par exemple, si votre adresse IP NetScaler est 10.102.154.153, la même adresse dans les journaux de transactions de Splunk s’affiche sous la forme 174496409. Vous pouvez utiliser les expressions intégrées disponibles sur Splunk pour convertir l’adresse IP du format décimal au format standard.

Exportez les journaux de transactions de NetScaler vers Splunk configuré en tant que serveur HTTP

Pour configurer l’exportation des journaux de transactions, vous devez suivre les étapes suivantes :

  1. Configurez un collecteur d’événements HTTP sur Splunk.
  2. Créez un service de collecte et un profil d’analyse sur NetScaler.

Configurer un collecteur d’événements HTTP sur Splunk

Vous pouvez transmettre les journaux de transactions à Splunk en configurant un collecteur d’événements HTTP. Pour plus d’informations sur la configuration du collecteur d’événements HTTP, consultez la documentation Splunk.

Une fois que vous avez configuré le collecteur d’événements HTTP, copiez le jeton d’authentification et enregistrez-le pour référence. Vous devez spécifier ce jeton lors de la configuration du profil d’analyse sur NetScaler.

Configurer le profil d’analyse sur NetScaler

Procédez comme suit pour exporter les journaux de transactions NetScaler vers Splunk.

  1. Créez un service de collecte pour Splunk.

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

    Exemple :

    add service splunk_service 10.102.34.155 HTTP 8088
    

    Dans cette configuration :

    • adresse IP : adresse IP du serveur Splunk.
    • collector-name : nom du collecteur.
    • protocole : spécifiez le protocole HTTP ou SSL.
    • port : numéro de port.
  2. Créez un profil analytique.

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

    Exemple :

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

    Remarque :

    L’option -allHttpHeaders n’est pas prise en charge pour l’exportation du journal des transactions Splunk.

    add analytics profile <profile-name> -type webinsight -allHttpHeaders

    set analytics profile <profile-name> -type webinsight -allHttpHeaders

    Dans cette configuration :

    • insight : types d’informations que vous pouvez exporter Les options suivantes sont disponibles :
      • aperçu des robots
      • Aperçu de la CIA
      • Gateway Insight
      • aperçu hdx
      • aperçu du LSN
      • aperçu de la sécurité
      • tcpinsight
      • uppinsight
      • aperçu vidéo
      • aperçu du Web
    • -Paramètres d’autorisation du schéma d’authentification -AnalyticsAuthToke : spécifiez le jeton d’authentification à inclure dans l’en-tête d’autorisation avec le schéma d’authentification « Splunk » lors de l’envoi de journaux à Splunk. Ce jeton est le jeton d’authentification créé sur le serveur Splunk lors de la configuration du collecteur d’événements HTTP.

    • AnalyticSendpointContentType : en-tête Content-Type. La valeur codée en dur est application/json.

    • AnalyticSendpointUrl : chemin d’accès à HEC sur Splunk (/services/collector/event ou /services/collector).

      REMARQUE :

      Vous pouvez modifier les paramètres du profil d’analyse à l’aide de la commande set analytics profile.

  3. Vérifiez la configuration du profil d’analyse à l’aide de la commande 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. Liez le profil d’analyse au serveur virtuel.

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

    Exemple :

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

Une fois la configuration réussie, en fonction du trafic, les transactions seront enregistrées et exportées vers HEC sur Splunk.

Sorties d’échantillons

Cette section contient des exemples de résultats pour différents journaux de transactions.

Exemple de sortie du journal des transactions HTTP

Voici un exemple de sortie pour le journal des transactions 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
}

Exemple de sortie du journal des transactions TCP

Voici un exemple de sortie pour le journal des transactions 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
}

Exemple de sortie du journal des transactions SSL

Voici un exemple de sortie pour le journal des transactions 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
}

Exemple de sortie du journal des transactions Web Insight

Voici un exemple de sortie pour le journal des transactions 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
}

Exemples de tableaux de bord pour les journaux de transactions

Les tableaux de bord suivants disponibles sur Splunk fournissent les données relatives aux journaux de transactions :

  • Tableau de bord NetScaler HTTP Insight
  • Tableau de bord NetScaler SSL Insight
  • Tableau de bord NetScaler TCP Insight

Pour plus d’informations, consultez la section Exemples de tableaux de bord sur Splunk.