L'heure de début et l'heure de fin configurées dans la tâche de synchronisation par lots sont utilisées par le Reader pour appeler l'API SLS GetCursor afin de localiser les curseurs de début et de fin. Cette heure sert à déterminer la plage de lecture en fonction de l'heure de réception côté serveur SLS. La tâche lit effectivement les données dans la plage de curseurs, ce qui n'équivaut pas à un filtrage basé sur la colonne de sortie __time__.
La colonne de sortie __time__ provient de log.getTime() de chaque entrée de journal, représentant l'heure propre au journal. Les requêtes de la console SLS utilisent généralement la plage horaire de requête, les instructions de requête et les colonnes d'index pour les statistiques, en se basant couramment sur l'heure du journal __time__. Par conséquent, même si la tâche de synchronisation et la console utilisent les mêmes valeurs temporelles, la plage __time__ ou le nombre d'enregistrements peut différer si les deux parties utilisent des métriques temporelles différentes.
Scénarios courants :
Lorsque la collecte ou la livraison des journaux est retardée, que des journaux historiques sont réinjectés ou que les horloges des clients sont inexactes, l'heure du journal __time__ peut être antérieure ou postérieure à l'heure de réception côté serveur SLS. La tâche de synchronisation localise les curseurs en fonction de l'heure de réception côté serveur, tandis que la console effectue ses requêtes en fonction de __time__, ce qui peut produire des résultats différents.
Lorsque des données sont écrites dans un autre LogStore via la transformation de données SLS, si l'instruction de transformation ne définit pas explicitement __time__, le __time__ du journal cible conserve généralement l'heure du journal source plutôt que l'heure d'exécution de la transformation. Dans ce cas, la tâche de synchronisation peut lire ce lot de données dans la plage horaire où la transformation écrit dans le LogStore cible. Cependant, lors d'une requête sur la console du LogStore cible basée sur l'heure d'exécution de la transformation ou la plage horaire actuelle, ces journaux peuvent ne pas être trouvés. Vous devez effectuer une requête basée sur la plage __time__ réelle des journaux.
Lorsque l'instruction de requête de la console, les colonnes d'index, la plage horaire et l'instruction de filtrage par règle (SPL) dans la tâche de synchronisation sont incohérents, le nombre d'enregistrements peut différer même si les métriques temporelles sont identiques.
Suggestions de dépannage :
Vérifiez si la plage horaire de requête de la console, l'instruction de requête, les colonnes d'index ainsi que l'heure de début/fin et l'instruction de filtrage par règle (SPL) dans la tâche de synchronisation sont cohérents.
Incluez à la fois __time__ (heure du journal) et __tag__:__receive_time__ (le champ observable pour l'heure de réception côté serveur SLS, qui nécessite l'existence de ce champ dans les tags du journal) dans la configuration column pour comparer l'heure du journal avec l'heure de réception côté serveur.
Si les données proviennent d'une transformation de données SLS, vérifiez si l'instruction de transformation définit explicitement __time__, et ajustez la plage horaire de requête de la console dans le LogStore cible en fonction du __time__ réel.
Si une réconciliation stricte par heure de journal est requise en aval, filtrez ou agrégez par __time__ après l'écriture dans la destination.
Exemple : Le __time__ du journal source est 2026-06-01 10:00:00. Une tâche de transformation de données SLS écrit ce journal dans le LogStore cible à 2026-06-12 10:00:00 sans modifier explicitement __time__. Le __time__ du journal cible reste 2026-06-01 10:00:00. Si les heures de début et de fin de la tâche de synchronisation couvrent 2026-06-12 10:00:00, la tâche peut lire ce journal. Cependant, lors d'une requête sur le LogStore cible dans la console autour de 2026-06-12 10:00:00 avec __time__ comme filtre, ce journal peut ne pas être trouvé. Dans ce cas, ajustez l'heure de requête de la console autour de 2026-06-01 10:00:00, ou définissez explicitement le __time__ du journal cible lors de la transformation des données selon vos besoins.