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

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 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

    Le travail 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 à chaque heure de collecte, de la date de début à la date de fin. Ensuite, les requêtes s’exécutent 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 du travail de collecte de données
    Organigramme montrant la relation entre les différents niveaux de processus d’un travail 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 tâches indique 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, afin de 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

    Valeur par défaut : true

    Vider les instantanés

    Ils Now Platform stockent un nombre maximum d’instantanés Analyse des performances en mémoire avant de les décharger dans la base de données.

    com.snc.pa.dc.flush_snapshot_count

    Par défaut : 1 000

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

    Valeur par défaut : true

    Démarrage et fin du travail 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 à la section Optimisation de la collecte de données. Pour en savoir plus sur ce journal, reportez-vous à la section Détails du journal pour un collecteur de données optimisé.
    Étape de tâche de collecte Exemple d’entrée de journal résultante
    Affiche le domaine de l’exécution de la tâche de collecte en tant qu’utilisateur. L’utilisateur <administrateur> appartient au domaine global
    Début de la collecte. Le 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 -

    Nombre d’instantanés vidés : 1 000

    Est une collection imbriquée : true

    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 du 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.Résolus : 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é ?
    • Certaines répartitions sont-elles exclues ?
    • Les périodes de collecte de la source d’indicateur sont-elles remplacées ?
    • La matrice de répartition est-elle collectée ?
    • Si la matrice de répartition est collectée, toutes les 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épartition exclues : Aucune combinaison n’est exclue.
    Itérer les étapes pour chaque source d’indicateur Voir la table Étapes itérées pour chaque source d’indicateur.
    Afficher les statistiques pour le travail de collecte de données Statistiques : inserts 184, mises à jour 0, suppressions 92, erreurs 0, avertissements 0
    Terminer la tâche Collecte terminée

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

    Étape de tâche de collecte Exemple d’entrée de journal résultante
    Récupérez la source de l’indicateur. Traitement de la source de l’indicateur Incidents.Open
    Répertorie les indicateurs qui ont des conditions supplémentaires, au-delà des conditions héritées de la source d’indicateur. Indicateur : Nombre d’incidents ouverts réaffectés : ffb59561ff2302001e68ffffffffff33, Conditions supplémentaires : reassignment_count>0
    Indique si la collecte des 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 des étapes pour chaque période de collecte. Voir la table Étapes itérées pour chaque période de collecte
    Récupérez la source de l’indicateur suivante. Traitement de la source de l’indicateur Incidents.New

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

    Étape de tâche de collecte Exemple d’entrée de journal résultante
    Date de début de la tâche de collecte. Collecte pour 20191103 sur la source d’indicateur Incidents.Open
    Récupérez les champs suivants :
    • Les champs uniques des sources de répartition (généralement sys_id)
    • Les champs d’indicateur utilisés dans les mappages de répartition
    • Les champs de table utilisés dans les mappages de répartition scriptés
    • Champs de source d’indicateur utilisés dans l’analyse de texte, si l’index de texte est collecté (inclut généralement short_description)
    Récupérer « short_description sys_id, opened_at, assignment_group, description, priorité, catégorie » à partir de « incident »
    Générez le code SQL en fonction des conditions spécifiées dans la source d’indicateur.
    Remarque :
    Si la source d’indicateur spécifie Aujourd’hui dans l’une des conditions, Aujourd’hui est considéré comme relatif à la période pour laquelle le travail de collecte de données est exécuté. Par exemple, la source de l’indicateur Incidents.New inclut la condition [Ouvert][sur][Aujourd’hui]. Avec des jours définis pour commencer à 07:00:00, lorsque les données sont collectées pour 2019-10-28, la tâche génère le script SQL sur la 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. Extraction de 150 lignes de la source d’indicateur Incidents.Open (table de faits : incident)
    Exécutez la fonction de mappage/réduction pour calculer les scores de l’indicateur. Voir le tableau Étapes de la fonction mapper/réduire
    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 d’indicateur. Scores à stocker : 374 842 (à l’exclusion des scores distincts du nombre de comptes différés de niveau 2 pour les indicateurs – ID – Tous les incidents avec les 3 répartitions)
    Tout indicateur avec une valeur Null est consigné. « 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 stocké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 répartition exclus : Groupe d’affectation
    Terminez la collecte de données pour cette source d’indicateur pour cette période. Collecte de 20200519 sur la source d’indicateur Incidents.Ouvert 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 pour traiter une condition d’indicateur supplémentaire pour chaque enregistrement : 138 ms

    Étapes de la fonction de mappage/réduction

    Étape de tâche de collecte Exemple d’entrée de journal résultante
    La fonction map/reduce s’exécute. Application de la fonction de mappage/réduction pour la source d’indicateur Incidents.Open
    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
    Supprimer les scores précédents pour les indicateurs et les répartitions qui utilisent la source d’indicateur. Suppression des résultats précédents pour la source d’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 total des 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 % (1) enregistrements traités, taille de l’objet du résultat : 5 Mo
    42 % (2) enregistrements traités, taille de l’objet du résultat : 9 Mo
    76% (3) enregistrements traités, taille de l’objet du résultat : 14 Mo
    100 % des enregistrements traités, taille de l’objet du résultat : 20 Mo
    La fonction mapper/réduire se termine. Fonction de mappage ou de réduction appliquée