ADC

Métriques

Les mesures font référence à l’élément de données suivi par NetScaler. Les mesures fournissent des informations pertinentes et sont utiles pour suivre l’état de santé de NetScaler et des applications gérées par NetScaler.

Une série chronologique est une séquence de points de données séquentiels qui se produisent sur un intervalle de temps donné. NetScaler prend en charge la configuration du profil de séries chronologiques d’analyse pour envoyer des mesures à un service.

Configurer les mesures

Vous pouvez activer les mesures sur NetScaler pour collecter et exporter des mesures depuis NetScaler vers différents points de terminaison. Vous pouvez exporter des mesures dans les formats suivants : Avro, Prometheus et JSON. Les mesures exportées peuvent être traitées et visualisées pour obtenir des informations pertinentes. Par défaut, les mesures prennent en charge l’exportation de données analytiques de séries chronologiques toutes les 30 secondes. Cependant, vous pouvez le configurer sur une valeur comprise entre 30 et 300 secondes selon vos besoins.

Procédez comme suit pour configurer une mesure à l’aide de l’interface de ligne de commande NetScaler.

  1. Configurez un service avec une adresse IP, un protocole et un port à l’aide de la commande suivante :

    add service <metrics_service_name> <ip-address> <protocol> <port>
    <!--NeedCopy-->
    

    Exemple :

    add service metrics_service1 192.168.1.1 HTTP 5563
    <!--NeedCopy-->
    
  2. Configurez le profil de série chronologique d’analyse pour envoyer des mesures au service. Spécifiez le service, la fréquence d’exportation des mesures et le mode de sortie.

    set analytics profile ns_analytics_time_series_profile -collectors <metrics_service_name> -type timeseries -metrics ENABLED metricsExportFrequency <30-300> -outputMode <avro/prometheus>
    <!--NeedCopy-->
    

    Exemple :

    set analytics profile ns_analytics_time_series_profile -collectors metrics_service1 -type timeseries -metrics Enabled metricsExportFrequency 90 -outputMode prometheus --serveMode PUSH
    <!--NeedCopy-->
    

    Remarque :

    Cet exemple utilise le profil de série chronologique par défaut ns_analytics_time_series_profile. Si vous souhaitez créer un profil de série chronologique, vous pouvez utiliser la add analytics profile commande.

    Dans cet exemple, la fréquence d’exportation des métriques est définie sur 90 secondes et le mode d’exportation est spécifié comme Prometheus.

    Vérifiez la configuration des mesures à l’aide de la commande show analytics profile <analytics-profile-name> :

    show analytics profile ns_analytics_time_series_profile
    
        Name: ns_analytics_time_series_profile
        Collector: metrics_service1
        Profile-type: timeseries
            Output Mode: Prometheus
            Metrics: ENABLED
                Schema File: schema.json
                Metrics Export Frequency: 90
            Events: DISABLED
            Auditlog: DISABLED
            Serve mode: Pull
        Reference Count: 0
    <!--NeedCopy-->
    

Génération de fichiers de mesures

Les fichiers metrics_<format>_log.* sont générés dans l’emplacement du dossier /var/nslog/.

Prise en charge des schémas dynamiques

À partir de la version 13.1 build 24.38 de NetScaler, les compteurs de schémas dynamiques sont pris en charge. À l’aide de compteurs de schémas dynamiques, un fichier de schéma contenant une liste de compteurs peut être mis à jour au moment de l’exécution en fonction des besoins. Par défaut, /var/metrics_conf/schema.json le fichier est configuré avec une liste de compteurs.

Remarque :

  • Le fichier de schéma par défaut des mesures /var/metrics_conf/schema.json peut être installé sur une appliance NetScaler par procédure installns. Pour plus d’informations sur la procédure installns, consultez Mettre à niveau et rétrograder une appliance NetScaler.
  • Le fichier de schéma par défaut /var/metrics_conf/schema.json se compose de quelques entités et compteurs qui ne font pas partie de reference_schema.json. Ces compteurs sont conservés dans schema.json pour des raisons de rétrocompatibilité car ils faisaient partie de l’ancienne version des mesures qui supportait les schémas statiques.

Configurer les mesures pour les compteurs d’abonnement à l’aide de l’interface de ligne de commande

Démarrez l’exportation des mesures en configurant un service.

À l’invite de commandes, tapez :


set analytics profile ns_analytics_time_series_profile -metrics ENABLED -collectors <collector_name> -schemaFile  schema.json -outputMode <avro | prometheus>

<!--NeedCopy-->

Remarque :

schema.json est la configuration SchemaFile par défaut.

Un nouveau fichier de schéma contenant un ensemble de compteurs requis peut être configuré à l’aide de la commande CLI pour les mesures à exporter. Le fichier de schéma doit être présent dans l’emplacement /var/metrics_conf/.

Le fichier de schéma contenant toutes les listes de compteurs (reference_schema.json) pris en charge par stats infra est présent dans l’emplacement /var/metrics_conf/. Ce fichier peut être utilisé comme référence pour créer une liste personnalisée de compteurs.

Configurer un fichier de schéma à l’aide de l’interface

set analytics profile ns_analytics_time_series_profile -metrics ENABLED -collectors <collector name> -schemaFile <schema file_name> -outputMode <avro | prometheus>

<!--NeedCopy-->

Un nouveau fichier de schéma contenant les compteurs requis peut être ajouté et configuré à l’aide de la commande CLI précédente pour les mesures à exporter.

Le fichier de schéma de référence contenant toutes les listes de compteurs (reference_schema.json) pris en charge par stats infra est présent dans l’ /var/metrics_conf/ emplacement. Ce fichier peut être utilisé comme référence pour créer une liste personnalisée de compteurs.

Vérifiez la sortie de configuration CLI à l’invite de commande :


show analytics profile ns_analytics_time_series_profile

    Name: ns_analytics_time_series_profile
    Collector: <collector_name>
    Profile-type: timeseries
    Output Mode: avro
    Metrics: ENABLED
    Schema File: schema.json
    Events: ENABLED
    Auditlog: DISABLED
    Serve mode: Push
    Reference Count: 0

<!--NeedCopy-->

Étapes pour mettre à jour la liste des compteurs exportés

Procédez comme suit pour mettre à jour la liste des compteurs exportés :

  1. Mettez à jour le fichier de schéma personnalisé/nouveau.
  2. Désactivez et activez les mesures à l’aide de l’option -metrics indiquée dans la configuration de l’interface de ligne de commande pour le fichier de schéma mis à jour à utiliser.

Prise en charge de plusieurs profils chronologiques

À partir de NetScaler version 13.1 build 33.47, jusqu’à trois configurations de profils chronologiques sont prises en charge sur NetScaler.

Vous pouvez configurer chaque série chronologique de manière à ce qu’elle comporte les éléments suivants :

  • Collectionneur.

  • Fichier de schéma contenant l’ensemble de compteurs requis à exporter.

  • Format de données dans lequel les métriques doivent être exportées.

  • Possibilité d’activer ou de désactiver les métriques, les journaux d’audit et les événements.

Grâce à la prise en charge de plusieurs profils chronologiques, les mesures peuvent exporter simultanément un ensemble différent (en fonction du fichier de schéma configuré) de mesures vers différents collecteurs dans différents formats (Avro, Prometheus, Influx).

Remarque :

Même si les métriques peuvent être activées sur tous les profils de séries chronologiques configurés, les événements et les journaux d’audit ne peuvent être activés que sur un seul profil.

Ajouter un profil de série chronologique via l’interface de ligne

À l’invite de commandes, tapez :

add analytics profile <profile_name> -type timeseries
<!--NeedCopy-->

Configurer le profil des séries chronologiques à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set analytics profile <profile_name> -metrics <DISABLED|ENABLED> -auditlogs <DISABLED|ENABLED> -events <DISABLED|ENABLED> -collectors <collector_name> -schemaFile schema.json -outputMode <avro | influx | prometheus>

<!--NeedCopy-->

Conventions de dénomination des fichiers journaux avec prise en charge de plusieurs profils de séries chronologiques

  • Les fichiers journaux Avro sont générés au format metrics_avro_<profile_name>_log.*.
  • Les fichiers journaux de Prometheus sont générés au format metrics_prom_<profile_name>.log.

Configurer l’exportation de mesures spécifiques à chaque cas d’utilisation

Vous pouvez exporter uniquement les mesures liées à un cas d’utilisation spécifique en créant un fichier de schéma. Par exemple, si vous souhaitez afficher uniquement les mesures liées au trafic TCP, vous pouvez créer un fichier tcptrafficschema.json pour exporter uniquement les mesures liées au trafic TCP. Grâce à l’exportation de mesures spécifiques à chaque cas d’utilisation, il est plus facile de trouver les mesures que vous souhaitez.

NetScaler prend en charge l’exportation de mesures pour les cas d’utilisation suivants :

  • Serveur virtuel
  • Sécurité des applications
  • Trafic SSL
  • Trafic TCP
  • Trafic HTTP
  • Vue d’ensemble du système

Serveur virtuel

Pour afficher uniquement les statistiques relatives aux serveurs virtuels, effectuez les opérations suivantes :

  1. Connectez-vous à l’interface de ligne de commande NetScaler et accédez au dossier /var/metrics_conf/.
  2. Créez un fichier de schéma. Par exemple, vserver_metrics.json.

    set analytics profile ns_analytics_time_series_profile -schemaFile vserver_metrics.json
    <!--NeedCopy-->
    
  3. Ajoutez le contenu suivant et enregistrez les modifications :

    {
        "server_svc_cfg":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"},
            {"name":"si_cur_Clients","rate":"False"},
            {"name":"si_cur_Servers","rate":"False"}
        ],
        "server_serviceGroup":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"},
            {"name":"si_cur_Clients","rate":"False"},
            {"name":"si_cur_Servers","rate":"False"}
        ],
        "vserver_authn":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_cr":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_cs":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"},
            {"name":"si_cur_Clients","rate":"False"},
            {"name":"si_cur_Servers","rate":"False"}
        ],
        "gslb_server":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "gslb_vserver":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "server_gslb_serviceGroup":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_lb":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"},
            {"name":"si_cur_Clients","rate":"False"},
            {"name":"si_cur_Servers","rate":"False"}
        ],
        "vserver_vpn":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_user":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"},
            {"name":"si_cur_Clients","rate":"False"},
            {"name":"si_cur_Servers","rate":"False"}
        ]
    }
    <!--NeedCopy-->
    

Sécurité des applications

Pour afficher uniquement les mesures liées à la sécurité des applications, effectuez les opérations suivantes :

  1. Connectez-vous à l’interface de ligne de commande NetScaler et accédez au dossier /var/metrics_conf/.
  2. Créez un fichier de schéma. Par exemple, appsec_metrics.json.

    set analytics profile ns_analytics_time_series_profile -schemaFile appsec_metrics.json
    <!--NeedCopy-->
    
  3. Ajoutez le contenu suivant et enregistrez les modifications :

    {
        "netscaler":
        [
            {"name":"as_viol_starturl","rate":"True"},
            {"name":"as_viol_denyurl","rate":"True"},
            {"name":"as_viol_referer_header","rate":"True"},
            {"name":"as_viol_bufferoverflow","rate":"True"},
            {"name":"as_viol_grpc","rate":"True"},
            {"name":"as_viol_postbodylimit","rate":"True"},
            {"name":"as_viol_cookie","rate":"True"},
            {"name":"as_viol_cookie_hijack","rate":"True"},
            {"name":"as_viol_csrf_tag","rate":"True"},
            {"name":"as_viol_xss","rate":"True"},
            {"name":"as_viol_sql","rate":"True"},
            {"name":"as_viol_fldfmt","rate":"True"},
            {"name":"as_viol_fldconsistency","rate":"True"},
            {"name":"as_viol_fileuploadtypes","rate":"True"},
            {"name":"as_viol_infer_ctype_xml","rate":"True"},
            {"name":"as_viol_safecommerce","rate":"True"},
            {"name":"as_viol_safeobject","rate":"True"},
            {"name":"as_viol_signature","rate":"True"},
            {"name":"as_viol_content_type","rate":"True"},
            {"name":"as_viol_cmd","rate":"True"},
            {"name":"as_viol_json_dos","rate":"True"},
            {"name":"as_viol_json_sql","rate":"True"},
            {"name":"as_viol_json_xss","rate":"True"},
            {"name":"as_viol_json_cmd","rate":"True"},
            {"name":"as_viol_sql_gram","rate":"True"},
            {"name":"as_viol_json_sql_gram","rate":"True"},
            {"name":"as_viol_sql_comb","rate":"True"},
            {"name":"as_viol_xxe_comb","rate":"True"},
            {"name":"as_viol_xss_comb","rate":"True"},
            {"name":"as_viol_owasp_comb","rate":"True"},
            {"name":"as_viol_cmd_gram","rate":"True"},
            {"name":"as_viol_json_cmd_gram","rate":"True"},
            {"name":"as_viol_block_keyword","rate":"True"},
            {"name":"as_viol_json_blockkeyword","rate":"True"},
            {"name":"as_Requests","rate":"False"},
            {"name":"http_tot_Requests","rate":"True"},
            {"name":"http_tot_Requests1_0","rate":"True"},
            {"name":"http_tot_Requests1_1","rate":"True"},
            {"name":"as_sig_num_viols","rate":"True"}
        ],
        "appfw__":
        [
            {"name":"as_viol_starturl_profile","rate":"True"},
            {"name":"as_viol_denyurl_profile","rate":"True"},
            {"name":"as_viol_referer_header_profile","rate":"True"},
            {"name":"as_viol_bufferoverflow_profile","rate":"True"},
            {"name":"as_viol_postbodylimit_profile","rate":"True"},
            {"name":"as_viol_cookie_profile","rate":"True"},
            {"name":"as_viol_cookie_hijack_profile","rate":"True"},
            {"name":"as_viol_csrf_tag_profile","rate":"True"},
            {"name":"as_viol_xss_profile","rate":"True"},
            {"name":"as_viol_sql_profile","rate":"True"},
            {"name":"as_viol_fldfmt_profile","rate":"True"},
            {"name":"as_viol_fldconsistency_profile","rate":"True"},
            {"name":"as_viol_safecommerce_profile","rate":"True"},
            {"name":"as_viol_safeobject_profile","rate":"True"},
            {"name":"as_viol_signature_profile","rate":"True"},
            {"name":"as_viol_content_type_profile","rate":"True"},
            {"name":"as_viol_json_dos_profile","rate":"True"},
            {"name":"as_viol_json_sql_profile","rate":"True"},
            {"name":"as_viol_json_xss_profile","rate":"True"},
            {"name":"as_viol_json_cmd_profile","rate":"True"},
            {"name":"as_viol_fileuploadtypes_profile","rate":"True"},
            {"name":"as_viol_infer_ctype_xml_profile","rate":"True"},
            {"name":"as_viol_cmd_profile","rate":"True"},
            {"name":"as_viol_sql_gram_profile","rate":"True"},
            {"name":"as_viol_json_sql_gram_profile","rate":"True"},
            {"name":"as_viol_sql_comb_profile","rate":"True"},
            {"name":"as_viol_xxe_comb_profile","rate":"True"},
            {"name":"as_viol_xss_comb_profile","rate":"True"},
            {"name":"as_viol_owasp_comb_profile","rate":"True"},
            {"name":"as_viol_cmd_gram_profile","rate":"True"},
            {"name":"as_viol_json_cmd_gram_profile","rate":"True"},
            {"name":"as_viol_block_keyword_profile","rate":"True"},
            {"name":"as_viol_json_blockkeyword_profile","rate":"True"},
            {"name":"as_viol_total_per_profile","rate":"True"}
        ]
    }
    <!--NeedCopy-->
    

Trafic SSL

Pour afficher uniquement les mesures liées au protocole SSL, effectuez les opérations suivantes :

  1. Connectez-vous à l’interface de ligne de commande NetScaler et accédez au dossier /var/metrics_conf/.
  2. Créez un fichier de schéma. Par exemple, ssltraffic_metrics.json.

    set analytics profile ns_analytics_time_series_profile -schemaFile ssltraffic_metrics.json
    <!--NeedCopy-->
    
  3. Ajoutez le contenu suivant et enregistrez les modifications :

    {
        "netscaler":
        [
            {"name":"ssl_tot_sslInfo_TotalTxCount","rate":"True"},
            {"name":"ssl_tot_enc_bytes","rate":"True"},
            {"name":"ssl_tot_dec_bytes","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_RSA_512","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_RSA_1024","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_RSA_2048","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_RSA_3072","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_RSA_4096","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_DH_512","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_DH_1024","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_DH_2048","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_DH_4096","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_ECDHE_curve_secp521r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_ECDHE_curve_secp384r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_ECDHE_curve_secp256r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_ECDHE_curve_secp224r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_ECDHE_curve_x25519","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_RC4_40","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_RC4_56","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_RC4_64","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_RC4_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_DES_40","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_DES_56","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_3DES_168","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_AES_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_AES_256","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_RC2_40","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_RC2_56","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_RC2_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_AESGCM_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_AESGCM_256","rate":"True"},
            {"name":"ssl_tot_sslInfo_Cipher_NULL","rate":"True"},
            {"name":"ssl_tot_sslInfo_Hash_MD5","rate":"True"},
            {"name":"ssl_tot_sslInfo_Hash_SHA","rate":"True"},
            {"name":"ssl_tot_sslInfo_Hash_SHA256","rate":"True"},
            {"name":"ssl_tot_sslInfo_Hash_SHA384","rate":"True"},
            {"name":"ssl_tot_sslInfo_SSLv3HandskCount","rate":"True"},
            {"name":"ssl_tot_sslInfo_TLSv1HandskCount","rate":"True"},
            {"name":"ssl_tot_sslInfo_TLSv11HandskCount","rate":"True"},
            {"name":"ssl_tot_sslInfo_TLSv12HandskCount","rate":"True"},
            {"name":"ssl_tot_sslInfo_Auth_RSA","rate":"True"},
            {"name":"ssl_tot_sslInfo_Auth_DH","rate":"True"},
            {"name":"ssl_tot_sslInfo_Auth_DSS","rate":"True"},
            {"name":"ssl_tot_sslInfo_Auth_ECDSA","rate":"True"},
            {"name":"ssl_tot_sslInfo_Auth_NULL","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_backend_ecdhe_curve_secp521r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_backend_ecdhe_curve_secp384r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_backend_ecdhe_curve_secp256r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_KeyEx_backend_ecdhe_curve_secp224r1","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_RC4_40","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_RC4_56","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_RC4_64","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_RC4_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_DES_40","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_DES_56","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_3DES_168","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_AES_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_AES_256","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_RC2_40","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_RC2_56","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_RC2_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_AESGCM_128","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_AESGCM_256","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Cipher_NULL","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Hash_MD5","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Hash_SHA","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Hash_SHA256","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Hash_SHA384","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Auth_RSA","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Auth_DH","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Auth_DSS","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Auth_ECDSA","rate":"True"},
            {"name":"ssl_tot_sslInfo_Backend_Auth_NULL","rate":"True"},
            {"name":"ssl_tot_enc_bytes_FE","rate":"True"},
            {"name":"ssl_tot_enc_bytes_BE","rate":"True"},
            {"name":"ssl_tot_dec_bytes_FE","rate":"True"},
            {"name":"ssl_tot_dec_bytes_BE","rate":"True"},
            {"name":"ssl_cur_session_inuse","rate":"True"}
        ],
        "vserver_ssl":
        [
            {"name":"ssl_ctx_tot_HandskFail","rate":"True"}
        ]
    }
    <!--NeedCopy-->
    

Trafic TCP

Pour afficher uniquement les mesures liées au protocole TCP, effectuez les opérations suivantes :

  1. Connectez-vous à l’interface de ligne de commande NetScaler et accédez au dossier /var/metrics_conf/.
  2. Créez un fichier de schéma. Par exemple, tcptraffic_metrics.json.

    set analytics profile ns_analytics_time_series_profile -schemaFile tcptraffic_metrics.json
    <!--NeedCopy-->
    
  3. Ajoutez le contenu suivant et enregistrez les modifications :

    {
        "server_svc_cfg":
        [
            {"name":"si_tot_pkt_rcvd","rate":"True"},
            {"name":"si_tot_pkt_sent","rate":"True"}
        ],
        "vserver_cr":
        [
            {"name":"si_tot_pkt_rcvd","rate":"True"},
            {"name":"si_tot_pkt_sent","rate":"True"}
        ],
        "vserver_cs":
        [
            {"name":"si_tot_pkt_rcvd","rate":"True"},
            {"name":"si_tot_pkt_sent","rate":"True"}
        ],
        "vserver_lb":
        [
            {"name":"si_tot_pkt_rcvd","rate":"True"},
            {"name":"si_tot_pkt_sent","rate":"True"}
        ],
        "netscaler":
        [
            {"name":"tcp_cur_ClientConn","rate":"False"},
            {"name":"tcp_cur_ClientConnEst","rate":"False"},
            {"name":"tcp_cur_ServerConn","rate":"False"},
            {"name":"tcp_cur_ServerConnEst","rate":"False"},
            {"name":"tcp_cur_ClientConnClosing","rate":"False"},
            {"name":"tcp_cur_ServerConnClosing","rate":"False"},
            {"name":"tcp_cur_surgequeuelen","rate":"False"},
            {"name":"tcp_err_rst","rate":"False"},
            {"name":"tcp_err_noip","rate":"False"},
            {"name":"tcp_err_retransmit_giveups","rate":"False"},
            {"name":"tcp_err_retransmit","rate":"False"},
            {"name":"tcp_err_stray_packets","rate":"False"}
        ],
        "vserver_user":
        [
            {"name":"si_tot_pkt_rcvd","rate":"True"},
            {"name":"si_tot_pkt_sent","rate":"True"}
        ]
    }
    
    <!--NeedCopy-->
    

Trafic HTTP

Pour afficher uniquement les mesures liées au protocole HTTP, effectuez les opérations suivantes :

  1. Connectez-vous à l’interface de ligne de commande NetScaler et accédez au dossier /var/metrics_conf/.
  2. Créez un fichier de schéma. Par exemple, httptraffic_metrics.json.

    set analytics profile ns_analytics_time_series_profile -schemaFile httptraffic_metrics.json
    <!--NeedCopy-->
    
  3. Ajoutez le contenu suivant et enregistrez les modifications :

    {
        "server_svc_cfg":
        [
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "server_serviceGroup":
        [
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "netscaler":
        [
            {"name":"http_tot_api_req_json","rate":"False"},
            {"name":"http_tot_api_req_xml","rate":"False"},
            {"name":"http_tot_api_req_vnd","rate":"False"},
            {"name":"http_tot_api_res_json","rate":"False"},
            {"name":"http_tot_api_res_xml","rate":"False"},
            {"name":"http_tot_api_res_vnd","rate":"False"}
        ],
        "vserver_authn":
        [
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_cr":
        [
            {"name":"vsvr_tot_Hits","rate":"True"},
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_cs":
        [
            {"name":"vsvr_tot_Hits","rate":"True"},
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"},
            {"name":"si_tot_clt_ttlb_transactions","rate":"False"},
            {"name":"si_tot_clt_ttlb","rate":"False"}
        ],
        "gslb_server":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "gslb_vserver":
        [
            {"name":"vsvr_tot_Hits","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "server_gslb_serviceGroup":
        [
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_lb":
        [
            {"name":"vsvr_tot_Hits","rate":"True"},
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"},
            {"name":"si_tot_clt_ttlb_transactions","rate":"False"},
            {"name":"si_tot_clt_ttlb","rate":"False"},
            {"name":"si_tot_1xx_resp","rate":"False"},
            {"name":"si_tot_2xx_resp","rate":"False"},
            {"name":"si_tot_4xx_resp","rate":"False"},
            {"name":"si_tot_5xx_resp","rate":"False"}
        ],
        "vserver_vpn":
        [
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ],
        "vserver_user":
        [
            {"name":"vsvr_tot_Hits","rate":"True"},
            {"name":"si_tot_Requests","rate":"True"},
            {"name":"si_tot_Responses","rate":"True"},
            {"name":"si_tot_RequestBytes","rate":"True"},
            {"name":"si_tot_ResponseBytes","rate":"True"}
        ]
    }
    <!--NeedCopy-->
    

Vue d’ensemble du système

Pour afficher uniquement les mesures relatives à la vue d’ensemble du système, effectuez les étapes suivantes :

  1. Connectez-vous à l’interface de ligne de commande NetScaler et accédez au dossier /var/metrics_conf/.
  2. Créez un fichier de schéma. Par exemple, system_metrics.json.

    set analytics profile ns_analytics_time_series_profile -schemaFile system_metrics.json
    <!--NeedCopy-->
    
  3. Ajoutez le contenu suivant et enregistrez les modifications :

    {
        "server_svc_cfg":
        [
            {"name":"si_tot_svr_ttlb","rate":"False"},
            {"name":"si_tot_svr_ttlb_transactions","rate":"False"},
            {"name":"si_cur_state","rate":"False"},
            {"name":"si_tot_svr_ttfb_transactions","rate":"False"},
            {"name":"si_tot_svr_ttfb","rate":"False"}
        ],
        "serviceGroup_NSSVC":
        [
            {"name":"si_cur_state","rate":"False"}
        ],
        "server_serviceGroup":
        [
            {"name":"si_cur_state","rate":"False"},
            {"name":"si_tot_svr_ttfb_transactions","rate":"False"},
            {"name":"si_tot_svr_ttfb","rate":"False"}
        ],
        "vserver_authn":
        [
            {"name":"si_cur_state","rate":"False"}
        ],
        "vserver_cr":
        [
            {"name":"si_cur_state","rate":"False"},
            {"name":"vsvr_tot_Hits","rate":"True"}
        ],
        "vserver_cs":
        [
            {"name":"si_cur_state","rate":"False"},
            {"name":"vsvr_tot_Hits","rate":"True"}
        ],
        "gslb_server":
        [
            {"name":"si_cur_state","rate":"False"}
        ],
        "gslb_vserver":
        [
            {"name":"si_cur_state","rate":"False"},
            {"name":"vsvr_tot_Hits","rate":"True"}
        ],
        "gslb_serviceGroup_NSSVC":
        [
            {"name":"si_cur_state","rate":"False"}
        ],
        "server_gslb_serviceGroup":
        [
            {"name":"si_cur_state","rate":"False"}
        ],
        "vserver_lb":
        [
            {"name":"si_cur_state","rate":"False"},
            {"name":"si_tot_2xx_resp","rate":"False"},
            {"name":"si_tot_4xx_resp","rate":"False"},
            {"name":"vsvr_tot_Hits","rate":"True"}
        ],
        "interface":
        [
            {"name":"nic_err_dropped_pkts","rate":"True"}
        ],
        "netscaler":
        [
            {"name": "tcp_cur_ClientConn", "rate": "False"},
            {"name": "tcp_err_noip", "rate": "False"},
            {"name": "tcp_err_rst", "rate": "True"},
            {"name": "mem_cur_usedsize", "rate": "False"},
            {"name": "tcp_tot_rxpkts", "rate": "True"},
            {"name": "http_tot_rxResponseBytes", "rate": "True"},
            {"name": "http_tot_Requests1_1", "rate": "True"},
            {"name": "http_tot_Responses", "rate": "True"},
            {"name": "tcp_err_retransmit_giveups", "rate": "True"},
            {"name": "cur_syshealth_disk0_errors", "rate": "False"},
            {"name": "http_tot_Requests", "rate": "True"},
            {"name": "http_tot_rxRequestBytes", "rate": "True"},
            {"name": "slave_cpu_use", "rate": "False"},
            {"name": "cur_syshealth_disk0_used", "rate": "False"},
            {"name": "tcp_err_rst_outof_wnd", "rate": "True"},
            {"name": "tcp_err_stray_packets", "rate": "True"},
            {"name": "cur_syshealth_disk1_errors", "rate": "False"},
            {"name": "mgmt_additional_cpu_use", "rate": "False"},
            {"name": "tcp_cur_ServerConnEst", "rate": "False"},
            {"name": "tcp_cur_ClientConnEst", "rate": "False"},
            {"name": "tcp_err_link_giveups", "rate": "False"},
            {"name": "tcp_err_rst_inTimewaits", "rate": "True"},
            {"name": "tcp_err_retransmit", "rate": "True"},
            {"name": "tcp_cur_ServerConnClosing", "rate": "False"},
            {"name": "tcp_err_rst_not_est", "rate": "True"},
            {"name": "http_tot_Responses1_1", "rate": "True"},
            {"name": "tcp_err_rst_not_est", "rate": "True"},
            {"name": "tcp_err_rst_inTimewaits", "rate": "True"},
            {"name": "tcp_err_rst_outof_wnd", "rate": "True"},
            {"name": "tcp_cur_ServerConn", "rate": "False"},
            {"name": "allnic_tot_tx_mbits", "rate": "True"},
            {"name": "http_tot_Responses1_0", "rate": "True"},
            {"name": "cpu_use", "rate": "False"},
            {"name": "tcp_err_retransmit_giveups", "rate": "True"},
            {"name": "http_tot_Requests1_0", "rate": "True"},
            {"name": "mgmt_cpu_use", "rate": "False"},
            {"name": "cur_syshealth_disk1_size", "rate": "False"},
            {"name": "allnic_tot_rx_mbits", "rate": "True"},
            {"name": "master_cpu_use", "rate": "False"},
            {"name": "cur_syshealth_disk0_size", "rate": "False"}
        ],
        "mempool":
        [
            {"name":"mem_err_alloc_failed","rate":"False"}
        ],
        "vserver_ssl":
        [
            {"name":"si_cur_state","rate":"False"}
        ],
        "cpu":
        [
            {"name":"cc_cpu_use","rate":"False"}
        ],
        "vserver_vpn":
        [
            {"name":"si_cur_state","rate":"False"}
        ],
        "vserver_user":
        [
            {"name":"si_cur_state","rate":"False"},
            {"name":"vsvr_tot_Hits","rate":"True"}
        ]
    }
    <!--NeedCopy-->
    

Afficher les statistiques

Voici les différentes manières de consommer ou de visualiser les mesures :

  • Interface de ligne de commandes (CLI) NetScaler
  • API NITRO exclusives à Citrix
  • Exporter des mesures vers la console NetScaler
  • Exporter des mesures vers des outils d’observabilité

CLI NetScaler

Vous pouvez utiliser l’interface de ligne de commande NetScaler pour obtenir les mesures. Connectez-vous à l’interface de ligne de commande NetScaler et exécutez la commande à partir de l’invite Shell. La commande suivante est un exemple de commande :

stat lb vserver <vserver-name>
<!--NeedCopy-->

Exemple :

> shell
root@ns# stat lb vserver vsrv-wireless
Virtual Server Summary
                      vsvrIP  port     Protocol        State   Health  actSvcs
vsrv...eless               *     0          TCP           UP      100        1

           inactSvcs
vsrv...eless       0
Virtual Server Statistics
                                          Rate (/s)                Total
Vserver hits                                       0                   10
Requests                                           0                    0
Responses                                          0                    0
Request bytes                                      0                 1580
Response bytes                                     0            532594360
Total Packets rcvd                                 0               216463
Total Packets sent                                 0               369898
Current client connections                        --                    0
Current Client Est connections                    --                    0
Current server connections                        --                    0
Requests in surge queue                           --                    0
Requests in vserver's surgeQ                      --                    0
Requests in service's surgeQs                     --                    0
Spill Over Threshold                              --                    0
Spill Over Hits                                   --                    0
Labeled Connection                                --                    0
Push Labeled Connection                           --                    0
Deferred Request                                   0                    0
Invalid Request/Response                          --                    0
Invalid Request/Response Dropped                  --                    0
Bound Service(s) Summary
                          IP  port         Type        State     Hits   Hits/s
svc-internet     192.168.2.2     0          TCP           UP       10      0/s

                 Req    Req/s      Rsp    Rsp/s Throughp ClntConn   SurgeQ
svc-internet       0      0/s        0      0/s        0        0        0
                  SvrConn   ReuseP  MaxConn ActvTran  SvrTTFB     Load
svc-internet         0        0        0        0        0        0

<!--NeedCopy-->

API NITRO exclusives à Citrix

Vous pouvez exécuter les API NITRO et récupérer les mesures requises.

Par exemple, pour afficher le nombre total de requêtes HTTP gérées par NetScaler, vous pouvez utiliser l’API NITRO en exécutant la commande curl suivante dans le shell Linux :

curl http://{nsip}/nitro/v1/stat/nsglobalcntr?args=counters:http_tot_Requests -u {nsuser}:{nspassword}
<!--NeedCopy-->

Dans l’exemple précédent,

  • nsip est l’adresse IP de NetScaler
  • nsuser et nspassword sont les informations de connexion de NetScaler

La sortie est la suivante :

root@rohit_lvm:~#  curl "http://10.10.10.10/nitro/v1/stat/nsglobalcntr?args=counters:http_tot_Requests" -u nsroot:freebsd
{ "errorcode": 0, "message": "Done", "severity": "NONE", "nsglobalcntr": { "http_tot_Requests": "33398" } }
<!--NeedCopy-->

Pour plus d’informations sur les API NITRO propriétaires de Citrix, consultez la section API NITRO Citrix ADC.

Exporter des mesures vers la console NetScaler

Si vous disposez de NetScaler Console sur votre réseau pour gérer vos NetScalers, vous pouvez consulter les mesures via l’interface graphique de NetScaler Console. Pour plus d’informations, consultez la documentation de la console NetScaler.

Exporter des mesures vers des outils d’observabilité

Vous pouvez exporter des mesures telles que des statistiques et des compteurs vers des outils d’observabilité tels que :

  • Prometheus : vous pouvez exporter les mesures directement de NetScaler vers Promethus. Pour plus d’informations sur l’exportation de mesures vers Prometheus, consultez Exportation de mesures de NetScalervers Prometheus.
  • Splunk : vous pouvez exporter les mesures directement de NetScaler vers Grafana. Pour plus d’informations sur la manière d’exporter des mesures vers Splunk, consultez Exportation de mesures de NetScalervers Splunk.

Exemples de tableaux de bord

Les tableaux de bord suivants disponibles sur Grafana et Splunk vous fournissent des statistiques associées à un cas d’utilisation spécifique :

Résoudre les problèmes liés à l’exportation des mesures

Vous pouvez résoudre tout problème en utilisant les journaux de débogage stockés sur place /var/nslog/metricscollector.log.