Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Chaque requête GraphQL et mutation exécutée par le biais de votre API Fabric pour GraphQL génère des journaux d’opérations détaillés qui capturent les métriques de performances, le texte de requête, les détails de l’authentification et les résultats d’exécution. Ces journaux sont automatiquement collectés et stockés dans la base de données de surveillance de votre espace de travail, ce qui fournit une visibilité sur l’utilisation de vos API GraphQL et leur exécution.
Les journaux des opérations GraphQL font partie de la fonctionnalité de supervision de l’espace de travail de Fabric. Lorsque vous activez l’analyse de l’espace de travail, Fabric crée une base de données Eventhouse dans votre espace de travail qui collecte en continu les journaux à partir de toutes vos API GraphQL. Vous pouvez interroger ces journaux à l’aide de KQL (Langage de requête Kusto) pour résoudre les problèmes, optimiser les performances, suivre les modèles d’utilisation et garantir que vos API répondent aux exigences du contrat SLA.
Prerequisites
Pour accéder aux journaux des opérations GraphQL et les interroger :
- Activer la surveillance de l’espace de travail dans votre espace de travail Fabric
- Accéder à la base de données Eventhouse KQL créée pour votre espace de travail
- Connaissance du langage de requête Kusto (KQL) pour l’interrogation des journaux
Une fois l’analyse activée, les opérations GraphQL sont automatiquement journalisées sur deux tables : GraphQLMetrics pour les métriques agrégées et GraphQLLog pour les journaux d’opérations détaillés.
Qui utilise les journaux des opérations GraphQL
Les journaux d’activité et la surveillance des opérations sont essentiels pour :
- Administrateurs de l’espace de travail Fabric qui surveillent l’utilisation, les performances et la consommation de capacité de l’API GraphQL
- Ingénieurs données qui suivent les modèles d’accès aux données et optimisent les requêtes fabric lakehouse et d’entrepôt
- Équipes DevOps garantissant que les applications de production consommant des données Fabric répondent aux exigences du contrat SLA
- Les administrateurs de capacité de structure comprennent les métriques de consommation d’API pour la planification de la capacité et la gestion des coûts
Utilisez les journaux des opérations lorsque vous devez surveiller, dépanner ou analyser les performances et l’utilisation de vos API Fabric GraphQL.
Journaux d’opérations GraphQL
Un événement de journal pour chaque requête exécutée par l’API Fabric pour GraphQL sur ses sources de données connectées est stocké dans deux tables complémentaires :
- GraphQLMetrics : contient des données de métrique agrégées avec des résumés de grain de temps, idéales pour l’analyse des performances et l’analyse des tendances
- GraphQLLog : contient des journaux d’opérations détaillés avec du texte de requête complet et des détails d’exécution, idéal pour résoudre les problèmes de requêtes spécifiques
Utilisez ces journaux pour :
- Identifier les modifications de comportement et la dégradation potentielle de l’API
- Détecter des requêtes inhabituelles ou gourmandes en ressources
- Identifier les utilisateurs et les applications avec le plus grand nombre de requêtes
- Analyser les performances et les tendances des requêtes
- Résoudre le problème de requêtes lentes
- Diagnostiquer les problèmes liés à des requêtes GraphQL spécifiques
Table GraphQLMetrics
La GraphQLMetrics table stocke les métriques agrégées pour les opérations GraphQL. Utilisez ce tableau pour la surveillance des performances, la planification de la capacité et l’identification des tendances au fil du temps.
Ce tableau contient les colonnes suivantes :
| Nom de la colonne | Type | Description |
|---|---|---|
| Timestamp | DATETIME | L'horodatage (UTC) du moment où l'entrée du journal a été générée lorsque l'enregistrement a été créé par la source de données. |
| ItemId | string | ID unique de la ressource qui journalise les données. |
| ItemKind | string | Type d’artefact qui journalise l’opération. |
| ItemName | string | Le nom de l'artefact Fabric qui enregistre cette opération. |
| WorkspaceId | string | Identificateur unique de l’espace de travail Fabric qui contient l’artefact utilisé |
| WorkspaceName | string | Nom de l'espace de travail Fabric contenant l'artefact. |
| CapacityId | string | Identificateur unique de la capacité qui héberge l’artefact utilisé. |
| CustomerTenantId | string | Customer Tenant ID, où l'opération a été effectuée. |
| PlatformMonitoringTableName | string | Le nom de la table à laquelle appartient l'enregistrement (ou le type d'événement certifié de l'enregistrement). Format : <WorkloadName> + [OperationType>]+ <TelemetryType> |
| Région | string | Région de la ressource émettant l’événement ; par exemple, USA Est ou France Sud. |
| MetricTimeGrain | string | Fragment de temps de la mesure (durée ISO 8601). |
| MetricUnitName | string | Unité de la métrique. |
| MetricSumValue | long | La valeur totale agrégée d'une métrique pendant une minute. |
| DatasourceTypes | dynamic | Tableau des types de DataSource utilisées par le modèle. |
| ResultCode | string | Code d'erreur des activités qui ont échoué, utilisé pour étendre l'utilisation à la fiabilité. |
| État | string | État de l’opération. La requête a été exécutée avec succès, avec des erreurs ou a échoué. |
Table GraphQLLog
La GraphQLLog table stocke les journaux d’opération détaillés pour chaque exécution de requête GraphQL. Utilisez ce tableau pour résoudre les problèmes de requêtes spécifiques, analyser le texte de la requête et examiner les erreurs ou les problèmes de performances.
Pour plus d’informations sur les événements et une exploration dans l’événement ExecutionMetrics, consultez Événements et schéma.
Ce tableau contient les colonnes suivantes :
| Nom de la colonne | Type | Description |
|---|---|---|
| Timestamp | DATETIME | L'horodatage (UTC) du moment où l'entrée du journal a été générée lorsque l'enregistrement a été créé par la source de données. |
| NomOpération | string | Nom de l'opération. |
| ItemId | string | ID unique de la ressource qui journalise les données. |
| ItemKind | string | Type d’artefact qui journalise l’opération. |
| ItemName | string | Le nom de l'artefact Fabric qui enregistre cette opération. |
| WorkspaceId | string | Identificateur unique de l’espace de travail Fabric qui contient l’artefact utilisé. |
| WorkspaceName | string | Nom de l'espace de travail Fabric contenant l'artefact. |
| CapacityId | string | Identificateur unique de la capacité qui héberge l’artefact utilisé. |
| CorrelationId | string | ID activité racine. |
| OperationId | string | Identificateur unique pour l'opération enregistrée. |
| Identité | dynamic | Données relatives à l'utilisateur et à la demande d'indemnisation. Données relatives à l'utilisateur et à la demande d'indemnisation. |
| CustomerTenantId | string | Customer Tenant ID, où l'opération a été effectuée. |
| DurationMs | long | Temps processeur écoulé pendant que toutes les opérations requises ont été traitées. L'unité est en millisecondes. |
| État | string | État de l’opération. La requête a été exécutée avec succès, avec des erreurs ou a échoué. |
| Niveau | string | Métadonnées requises par l'équipe de surveillance de la plate-forme. |
| Région | string | Région de la ressource émettant l’événement ; par exemple, USA Est ou France Sud. |
| PlatformMonitoringTableName | string | Le nom de la table à laquelle appartient l'enregistrement (ou le type d'événement certifié de l'enregistrement). Format : <WorkloadName> + [OperationType>]+ <TelemetryType> |
| QueryText | string | Texte de la requête. |
| GraphQLOverheadDurationMs | long | Le traitement GraphQL en ms pour une requête de plan de données. |
| ProcessedBytes | long | Volume de données traitées en octets. |
| TransportProtocol | string | Protocole de transport pour une requête. |
| QueryResultMessage | string | Cette dimension est utilisée pour donner un contexte supplémentaire au résultat d'une opération de recherche. |
Exemples de requêtes
Utilisez ces requêtes KQL pour analyser vos journaux d’opération GraphQL. Vous pouvez exécuter ces requêtes directement dans l’éditeur de requête Eventhouse au sein de votre espace de travail.
Rechercher les requêtes lentes
Identifiez les requêtes GraphQL qui prennent plus de 5 secondes pour s’exécuter :
GraphQLLog
| where DurationMs > 5000
| project Timestamp, ItemName, DurationMs, QueryText, Status, Identity
| order by DurationMs desc
| take 20
Principaux utilisateurs par nombre de requêtes
Recherchez les utilisateurs ou les applications qui effectuent le plus de requêtes GraphQL :
GraphQLLog
| summarize QueryCount = count() by Identity
| order by QueryCount desc
| take 10
Analyse du taux d’erreur
Calculez le taux d’erreur pour les opérations GraphQL au fil du temps :
GraphQLLog
| summarize
TotalQueries = count(),
FailedQueries = countif(Status == "failed"),
ErrorRate = (countif(Status == "failed") * 100.0) / count()
by bin(Timestamp, 1h)
| order by Timestamp desc
Requêtes nécessitant beaucoup de ressources
Identifiez les requêtes qui traitent la plus grande quantité de données :
GraphQLLog
| where ProcessedBytes > 0
| project Timestamp, ItemName, ProcessedBytes, QueryText, DurationMs
| order by ProcessedBytes desc
| take 20
Tendances des performances des requêtes
Analysez les performances moyennes des requêtes au cours des 24 dernières heures :
GraphQLMetrics
| where Timestamp > ago(24h)
| summarize
AvgDuration = avg(MetricSumValue),
MaxDuration = max(MetricSumValue),
QueryCount = count()
by bin(Timestamp, 1h), ItemName
| order by Timestamp desc
Pour plus d’exemples de surveillance d’espace de travail, consultez la supervision de l’espace de travail dans le référentiel GitHub d’exemples Fabric.