Détails du journal pour le collecteur de données classique

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 8 minutes de lecture
  • Analyse des performances La collecte des scores suit le processus décrit ici. Pour faciliter le dépannage, un mappage entre les étapes de la tâche et les entrées de journal est fourni.

    Vue d’ensemble de la collection

    La tâche de collecte de données implique l’exécution d’une requête SQL pour chaque source d’indicateur qui utilise le collecteur de données. La requête se répète pour chaque heure de collecte, de la date de début à la date de fin. Les requêtes s’exécutent ensuite pour la source d’indicateur suivante. Chaque étape d’exécution d’une requête est documentée dans le journal des tâches de collecte de données.
    Figure 1. Vue de haut niveau de la tâche de collecte de données
    Organigramme montrant la relation entre les différents niveaux de processus dans une tâche de collecte de données

    Propriétés d’optimisation affichées dans le journal

    Le collecteur de données dispose de plusieurs optimisations qui peuvent être activées ou désactivées dans les propriétés système. Le début du journal des travaux inclut l’état de ces propriétés.

    Remarque :
    Ne confondez pas ces propriétés d’optimisation avec le nouveau collecteur de données optimisé. Ces propriétés s’appliquent uniquement au collecteur de données classique. Le nouveau collecteur de données est optimisé à un niveau plus fondamental.
    Tableau 1. Propriétés d’optimisation de la collecte de données
    Optimisation Description Propriété système
    Collection imbriquée Remplace le mappage plat, pour réduire les objets redondants. Par exemple, au lieu de créer des objets d’indicateur identiques pour chaque répartition et élément de cet indicateur, un seul objet est créé pour l’indicateur. com.snc.pa.dc.nested_collection

    Par défaut : true

    Vider les instantanés

    Le ServiceNow AI Platform stocke un nombre maximal Analyse des performances d’instantanés en mémoire avant de les décharger dans la base de données.

    com.snc.pa.dc.flush_snapshot_count

    Valeur par défaut : 1 000

    Utiliser le code de hachage pour le nombre distinct Les magasins comptent les agrégations distinctes sous forme de code de hachage plutôt que de valeurs distinctes. com.snc.pa.dc.use_hashcode_for_distinct

    Par défaut : true

    Démarrage et fin de la tâche de collecte

    Suivez le processus de collecte de données tel qu’indiqué dans les messages du journal. Les messages de journal de chaque sous-processus ont été séparés dans leurs propres tables.

    Remarque :
    Ce journal est destiné au collecteur de données d’origine. Si votre instance utilise ce collecteur de données, le paramètre com.snc.pa.dc.hsql système existe et est « faux ». Sinon, vous utilisez le collecteur de données optimisé comme décrit dans .Optimiser la collecte de données Pour plus d’informations sur ce journal, reportez-vous à la section Détails du journal pour un collecteur de données optimisé.
    Étape de la tâche de collecte Exemple d’entrée de journal obtenue
    Affiche le domaine de la tâche de collecte Exécuter en tant qu’utilisateur. L’utilisateur <admin> appartient au domaine global
    La collecte commence. Début de la tâche spécifie si les scores, l’index de texte ou les deux sont collectés. Les messages spécifient également les paramètres des propriétés d’optimisation de la collecte de données. Début de la collecte des scores et de l’index de texte. Valeur des propriétés dans le système :

    Vider le nombre d’instantanés : 1 000

    Est une collection imbriquée : vrai

    Utilisation du code de hachage pour le nombre distinct : vrai

    Affiche les domaines pour lesquels les scores sont collectés. Affiche également d’autres détails pertinents sur les domaines. DomainConfig : test de la configuration de domaine Journaux de collecte : 3d359877b77000106886e664de11a97c, Type : conditions, RollUpType : roll_up_children, collectAggregate ? Oui, collectChildren ? : Oui, AggregateDomain : Nom : 3d359877b77000106886e664de11a97c - SysID : d1659c77b77000106886e664de11a91e, Domaines : Default,MSP,ACME,Cisco,Initech,Oceanic Airlines
    Répertorie les sources d’indicateurs pour lesquelles la tâche collecte des données, y compris leurs ID uniques. Sources d’indicateurs à collecter : Incidents.New : b54f2c23d7030100b96d45a3ce61032f, Incidents.Open : b5cf2c23d7030100b96d45a3ce6103cc, Incidents.Closed : 2ac8dd31ff2302001e68ffffffffff3d, Incidents.Resolved : 4c207c23d7030100b96d45a3ce610308
    Répertorie chaque indicateur associé à la tâche et les propriétés d’indicateur associées à la collecte de données :
    • Les enregistrements sont-ils collectés dans un instantané ?
    • Des répartitions sont-elles exclues ?
    • Les périodes de collecte dans la source de l’indicateur sont-elles remplacées ?
    • La matrice de répartition est-elle collectée ?
    • Si la matrice de répartition est collectée, des combinaisons de répartition sont-elles exclues ?
    JobIndicator : nombre d’incidents ouverts : de537dc3d7131100b96d45a3ce610305 Propriétés de l’indicateur de tâche : collectIndicator ? : oui, BreakdownCollectionType : WITH_EXCLUDE Répartitions exclues : groupe d’affectation, état Propriétés de l’indicateur => CollectingRecords : oui, périodes de collecte remplacées : non, scripté ? : non, combinaisons de répartitions ? : oui, combinaisons de répartitions exclues : aucune combinaison n’est exclue.
    Itérer des étapes pour chaque source d’indicateur Voir le tableau Étapes itérées pour chaque source d’indicateur.
    Afficher les statistiques pour le travail de collecte de données Statistiques : insère 184, met à jour 0, supprime 92, erreurs 0, avertissements 0
    Terminer la tâche Collecte terminée

    Étapes itérées pour chaque source d’indicateur

    Étape de la tâche de collecte Exemple d’entrée de journal obtenue
    Récupérez la source de l’indicateur. Traitement de la source de l’indicateur Incidents.Open
    Répertoriez les indicateurs qui ont des conditions supplémentaires, au-delà des conditions héritées de la source de l’indicateur. Indicateur : nombre d’incidents ouverts réaffectés : ffb59561ff2302001e68ffffffffff33, Conditions supplémentaires : reassignment_count>0
    Indique si la collecte de scores suit la structure des données imbriquées au lieu d’utiliser un mappage plat. La collection imbriquée crée moins d’objets redondants en mémoire.

    La collection non imbriquée prend en charge le traitement par lots des scores.

    Utilisation d’une collection imbriquée.

    Remarque : les insertions par lots de scores ne sont pas prises en charge avec la collection imbriquée.

    Itérez les étapes pour chaque période de collecte. Voir le tableau Étapes itérées pour chaque période de collecte
    Récupérez la source de l’indicateur suivant. Traitement de la source de l’indicateur Incidents.New

    Étapes itérées pour chaque période de collecte

    Étape de la tâche de collecte Exemple d’entrée de journal obtenue
    Date de début de la tâche de collecte. Collecte pour 20191103 sur la source de l’indicateur Incidents.Open
    Récupérez les champs suivants :
    • Champs uniques des sources de répartition (généralement sys_id)
    • Champs d’indicateur utilisés dans les mappages de répartition
    • Champs de table utilisés dans les mappages de répartition scriptés
    • Les champs sources d’indicateurs utilisés dans l’analyse de texte, si l’index de texte est collecté (inclut généralement short_description)
    Extraction de « short_description,sys_id, opened_at, assignment_group, description, priorité, catégorie » à partir de « incident »
    Générez du SQL en fonction des conditions spécifiées dans la source de l’indicateur.
    Remarque :
    Si la source de l’indicateur spécifie Aujourd’hui dans l’une des conditions, Aujourd’hui est considéré comme correspondant à la période pour laquelle la tâche de collecte de données est exécutée. Par exemple, la source de l’indicateur Incidents.New inclut la condition [Opened][on][Today]. Avec des jours définis pour commencer à 07:00:00, lorsque les données sont collectées pour le 28/10/2019, la tâche produit le script SQL à droite.
    SELECT task0.'sys_id' FROM task task0 WHERE task0.'sys_class_name' = 'incident' AND (task0.'opened_at' >= '2019-10-28 07:00:00' AND task0.'opened_at' <= '2019-10-29 06:59:59')
    Affichez le nombre d’enregistrements récupérés par le SQL. 150 lignes extraites de la source d’indicateur Incidents.Open (table de faits : incident)
    Exécutez la fonction mapper/réduire pour calculer les scores des indicateurs. Voir le tableau Étapes de la fonction de mappage/réduction
    Si l’indexation de texte est active et a été configurée pour la source d’indicateur, le collecteur de données stocke l’index de texte résultant. Stockage de l’index de texte pour la source de l’indicateur Incidents.Open
    Octets utilisés par l’index de texte : 41 984 pour : Incidents.Open
    Commencez à stocker les résultats nouvellement collectés pour la source de l’indicateur. Scores à stocker : 374 842 (à l’exclusion du nombre de scores distincts de niveau 2 évalué différé pour les indicateurs : ID : tous les incidents avec les 3 répartitions)
    Tout indicateur avec une valeur nulle est journalisé. « Valeur quand nul » stockée : 0,0 en tant que score pour l’indicateur : Nombre d’incidents déviés par la base de connaissances
    Terminez le stockage des résultats. Scores enregistrés : 1 125 057
    Résultats recueillis enregistrés
    Spécifiez les indicateurs pour lesquels le collecteur de données ne collecte pas de scores. Pas de collecte pour l’indicateur : âge cumulé des incidents ouverts avec exclusion Répartition : groupe d’affectation
    Terminez la collecte des données pour cette source d’indicateur pour cette période. Collection pour 20200519 sur la source de l’indicateur Incidents.Open terminé
    Affichez la durée moyenne passée sur un enregistrement pour traiter les conditions supplémentaires qui ont été définies sur les indicateurs. Temps moyen nécessaire au traitement d’une condition d’indicateur supplémentaire pour chaque enregistrement : 138 ms

    Étapes de la fonction de mappage/réduction

    Étape de la tâche de collecte Exemple d’entrée de journal obtenue
    La fonction map/reduce s’exécute. Application de la fonction de mappage/réduction pour la source d’indicateur Incidents.Ouverts
    Avertissement si l’indexation de texte est active pour la tâche, mais ne peut pas s’exécuter en raison d’une configuration d’index de texte manquante ou non valide. Omission de la collection d'index de texte, car la configuration d'index de texte est manquante ou non valide
    Supprimez les scores précédents pour les indicateurs et les répartitions qui utilisent la source de l’indicateur. Suppression des résultats précédents pour la source de l’indicateur Incidents.Open
    Résultats précédents supprimés 38 pour l’indicateur : Connexions externes
    Résultats précédents supprimés 21 pour l’indicateur : Échecs de connexion
    Traitez chaque enregistrement sur la source de l’indicateur pour calculer les scores. Les messages du journal suivent le nombre total d’enregistrements traités et l’utilisation de la mémoire. Le traitement de chaque enregistrement implique :
    • Exécuter ou évaluer des scripts.
    • Validez les conditions de l’indicateur.
    • Calculez le score de l’indicateur.
    • Pour chaque répartition :
      1. Calculez le score de répartition ou exécutez le script de répartition.
      2. Récupérer toutes les valeurs uniques de répartition.
      3. Créez ou mettez à jour le tableau pour les scores ou les instantanés. Le tableau est : Indicateur, Répartition 1, Artefact 1, Répartition 2, Artefact 2, Domaine, Valeur, Tableau de [sys_id]
    18 % % traités (1) enregistrements, taille de l’objet de résultat : 5 Mo
    Traitement de 42 % (2) enregistrements, taille de l’objet de résultat : 9 Mo
    Traitement de 76 % (3) enregistrements, taille de l’objet de résultat : 14 Mo
    Traité à 100 % (4) enregistrements, taille de l’objet de résultat : 20 Mo
    La fonction de mappage/réduction se termine. Fonction de mappage ou de réduction appliquée