Suivi (Master Data Services)
S’applique à :SQL Server - Windows uniquement Azure SQL Managed Instance
Une fois que vous avez installé Master Data Services (MDS), vous pouvez trouver la fonctionnalité de journalisation des traces utile pour les diagnostics d’erreurs, les demandes de support et la surveillance de l’utilisation et des performances des applications. Cet article décrit les étapes à suivre pour activer et configurer la journalisation des traces. Plus précisément, cet article traite du suivi dans un fichier journal texte. Cet article décrit également la procédure de création d’un fichier journal qui peut aider à résoudre les échecs qui peuvent se produire lors de la création d’une base de données MDS.
Arrière-plan
Master Data Services se compose d’une application web ASP.NET (Master Data Manager) et d’un service WCF; les deux sont hébergés dans IIS et dans une base de données SQL Server. Les requêtes Master Data Manager et les appels externes au point de terminaison de l’API des services web sont gérés par une couche de service commune. La couche de service peut consigner chaque demande/réponse d’opération, les événements importants et les erreurs.
En tant qu’administrateur disposant d’un accès aux fichiers sur le serveur web IIS, vous pouvez activer la journalisation en modifiant le fichier MDS Web.config .
Par défaut, le fichier Web.config se trouve dans l’un des dossiers d’application web suivants :
SQL Server 2008 R2 : program_files\Microsoft SQL Server\Master Data Services\WebApplication
SQL Server 2012 et versions ultérieures : program_files\Microsoft SQL Server\<nnn>\Master Data Services\WebApplication
Les nombres nnn dans le chemin correspondent à la version de SQL Server en cours d’installation. Le tableau suivant identifie les versions des chemins d’accès :
Version | nnn |
---|---|
SQL Server 2019 | 150 |
SQL Server 2017 | 140 |
SQL Server 2016 | 130 |
SQL Server 2014 | 120 |
SQL Server 2012 | 110 |
Attention
La mise à jour de Web.config entraîne le recyclage du domaine d’application MDS dans IIS. Les sessions utilisateur existantes perdent des informations mises en cache et les utilisateurs peuvent rencontrer des erreurs de session ou des chargements de pages lents. Effectuez des modifications aux heures creuses si possible.
Suivi de la journalisation pour l’application web MDS
SQL Server 2016 et versions ultérieures
Le fichier Web.config contient une section de suivi, comme indiqué ci-dessous. Cette section est introduite dans SQL Server 2016 (13.x) Master Data Services.
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged.
https://msdn.microsoft.com/library/system.diagnostics.sourcelevels
Use a switchValue of Verbose to generate a full log. Please be aware that
the trace file can get quite large very quickly. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="Warning, ActivityTracing">
<listeners>
<!-- Set a directory path where the service account you chose while setting up Master Data Services has read and write privileges.
Default path is Logs in WebApplication folder, for example C:\Program Files\Microsoft SQL Server\130\Master Data Services\WebApplication
New log file will be created every day or every 10 mb.
When directory size hits the 200 mb limitation, the oldest file will be deleted. -->
<add name="FileTraceListener"
type="Microsoft.MasterDataServices.Core.Logging.FileTraceListener, Microsoft.MasterDataServices.Core"
initializeData="DirectoryPath = Logs; FileSizeInMb = 10; MaxDirectorySizeInMb = 200"/>
<remove name="Default"/>
</listeners>
</source>
</sources>
Voici le comportement de suivi par défaut :
Le suivi est activé pour et
ActivityTracing
lesWarning
messages.Pour plus d’informations, voir SourceLevels, énumération.
Les journaux sont enregistrés dans le dossier Journaux sous le dossier WebApplication . L’emplacement par défaut est C:\Program Files\Microsoft SQL Server\nnn\Master Data Services\WebApplication\Logs.
Un fichier est créé quotidiennement ou tous les 10 Mo.
Lorsque la taille du répertoire atteint 200 Mo, le journal le plus ancien est supprimé.
Le journal est au format CSV. Le tableau suivant décrit le format du journal :
Element Description Time Lorsque l’entrée de trace se produit CorrelationID Un ID de corrélation est affecté à chaque demande. Toutes les traces déclenchées par cette requête partageront le même ID de corrélation.
Lorsqu’une erreur se produit dans l’interface utilisateur, l’ID de corrélation apparaît dans le message d’erreurOperation Nom de l’opération de demande. Si la demande est une demande de l’interface utilisateur Web, le nom de l’opération correspond à l’URL. Si la demande est une demande d’API, le nom de l’opération est le nom du service Level Niveau de cette entrée de trace Message Corps du message de suivi.
SQL Server 2014 et versions antérieures
Section Diagnostics à partir du fichier Web.config installé à l’origine
L’extrait de fichier suivant montre la section diagnostics du fichier Web.config installé à l’origine.
Note
La propriété switchValue
a la valeur Off
. En outre, les exemples de lignes sont commentés. Ces lignes sont des exemples d’ajout d’écouteurs de trace de différents types.
<system.diagnostics>
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="Off">
<listeners>
<!-- Enable and configure listeners as desired to obtain trace messages. -->
<!-- <add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsTrace.log" traceOutputOptions="DateTime" /> -->
<!-- <add name="EtwListener" type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
initializeData="{F2A341B8-CA5F-49ad-B00C-A82D3FCF948B}"/> -->
<!-- <remove name="Default"/> -->
</listeners>
</source>
</sources>
<trace autoflush="true"/>
</system.diagnostics>
Activation du suivi des fichiers journaux
Pour activer la journalisation, passez switchValue
à All
une autre valeur valide, comme décrit ci-dessous dans le tableau 1. Pour activer la sortie dans un fichier journal, supprimez les marques de commentaire de la LogFileListener
ligne, comme indiqué dans l’extrait de code de fichier suivant :
<system.diagnostics>
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">
<listeners>
<!-- Enable and configure listeners as desired to obtain trace messages. -->
<add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsTrace.log" traceOutputOptions="DateTime"/>
<!-- <add name="EtwListener" type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" initializeData="{F2A341B8-CA5F-49ad-B00C-A82D3FCF948B}"/> -->
<!-- <remove name="Default"/> -->
</listeners>
</source>
</sources>
<trace autoflush="true"/>
</system.diagnostics>
Tableau 1 - Paramètres SwitchValue pour la journalisation
Paramètre | Quels sont les éléments consignés ? |
---|---|
Désactivée | rien |
Erreur | erreurs uniquement |
Avertissement | erreurs et avertissements |
Information | erreurs, avertissements, messages d’information |
Verbose | « Informations » et autres informations de suivi de débogage, y compris les requêtes et réponses d’API au format XML |
ActivityTracing | démarrer et arrêter les événements uniquement |
Toutes | « Verbose » et « ActivityTracing » |
Nom et chemin de fichier
La initializeData
valeur est le nom du fichier journal. Cela peut être modifié en un autre nom ou inclure un chemin d’accès souhaité. Si le chemin d’accès n’est pas spécifié, le fichier est défini par défaut sur le chemin du répertoire de l’application web (où réside Web.config ).
Important
Le compte de service du pool d’applications MDS doit avoir un accès en écriture à l’emplacement du fichier journal.
Niveau de journalisation des détails
Le tableau 2 ci-dessous décrit les catégories d’événements de trace qui peuvent être enregistrés ou triés avec les événements les plus importants/critiques en haut. Le tableau 1 ci-dessus répertorie les paramètres valides pour la journalisation switchValue
. Ce paramètre peut être ajusté pour produire la quantité appropriée de détails de journalisation en fonction de la situation.
Tableau 2 - Types d’événements de journalisation MDS
Type d'événement | Description |
---|---|
Critique | une erreur irrécupérable ou un incident d’application |
Erreur | une erreur récupérable |
Avertissement | un problème non critique |
Information | un message d’information |
Verbose | un message de trace de débogage |
Début | démarrage d’une opération logique |
Arrêter | arrêt d’une opération logique |
Recommandations relatives aux paramètres de journal
- Pour une opération normale, utilisez le
Off
paramètre pour éviter la journalisation complètement ou utilisez lesError
paramètresWarning
qui conservent le journal petit tout en alertant les administrateurs des problèmes. - Utilisez le paramètre pour les situations de
All
support/résolution des problèmes. - Utiliser
ActivityTracing
pour la mesure des performances ou la surveillance de l’utilisation. - Utilisez
Information
uniquement si vous êtes prêt à vérifier et nettoyer régulièrement les journaux. Les journaux d’activité peuvent être longs avec ce paramètre. Ce paramètre est utile pour le suivi des modèles d’utilisation et d’utilisation. - Ne pas utiliser
Verbose
ouAll
dans des conditions d’exploitation normales, car le volume de données journalisées affecte négativement les performances.
Étapes de création d’un fichier journal pour la prise en charge du produit
Dans les cas où une erreur inattendue se produit et que d’autres diagnostics sont nécessaires, il est utile de créer un fichier journal qui trace les événements menant au problème, ainsi que les demandes et réponses du service.
Pour produire un fichier journal concis et utile, procédez comme suit :
Attention
La mise à jour de Web.config entraîne le recyclage du domaine d’application MDS dans IIS.
Si possible, arrêtez le pool d’applications MDS dans le Gestionnaire IIS.
Avertissement
Effectuez cette opération uniquement si l’application peut être désactivée.
Si possible, déplacez ou supprimez le fichier journal actuel (s’il en existe déjà un).
Ouvrez le fichier Web.config à l’aide d’un éditeur de texte.
Note
Par défaut, le fichier Web.config se trouve dans l’un des dossiers d’application web suivants :
- SQL Server 2008 R2 : program_files\Microsoft SQL Server\Master Data Services\WebApplication
- SQL Server 2012 : program_files\Microsoft SQL Server\110\Master Data Services\WebApplication
Recherchez la section
system.diagnostics
.Modifiez la
switchValue
All
ligne de fichier journal ouActivityTracing
supprimez les marques de commentaire, comme indiqué dans la section Activation du suivi des fichiers journaux de cet article.- Utiliser
switchValue="All"
pour les diagnostics d’erreur. - Utiliser
switchValue="ActivityTracing"
pour les diagnostics de performances. - Le nom du fichier MdsTrace.log peut être précédé d’un chemin d’accès si vous le souhaitez.
- Utiliser
Si le pool d’applications a été arrêté précédemment, démarrez le pool d’applications MDS dans IIS. Sinon, attendez que le fichier journal apparaisse après un certain temps et l’activité de l’application web. L’application web recharge régulièrement les paramètres de configuration à partir du fichier (doit être en quelques minutes).
Reproduire le problème et effectuer les mêmes actions ou requêtes qui ont conduit à l’erreur.
Si vous êtes en mesure d’arrêter le pool d’applications :
- Arrêtez le pool d’applications.
- Récupérez le fichier journal (vous devrez peut-être attendre la fin des processus ; il peut y avoir un délai après l’arrêt du pool d’applications).
Sinon, ouvrez le fichier journal à l’aide d’un éditeur qui ne verrouille pas le fichier (comme notepad.exe) et copiez les messages de suivi appropriés.
Ouvrez le fichier Web.config à l’aide d’un éditeur de texte et revenez
switchValue
à ou àOff
la valeur précédente.Démarrez le pool d’applications s’il est arrêté.
Gestion des erreurs : toutes les opérations de service retournent un tableau ou une collection d’erreurs dans l’objet
OperationResult
d’un message de réponse. Lorsqu’une erreur se produit, le tableau d’erreurs est également sérialisé en XML et écrit dans le fichier journal de l’application web pour certainsswitchValue
paramètres, comme décrit ci-dessus.
Exemple d’erreur de réponse d’API qui a été écrite dans le fichier journal :
MDS Error: 0 :
<ArrayOfError xmlns="http://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Error>
<Code>110003</Code>
<Context>
<FullyQualifiedName>Model1</FullyQualifiedName>
<Identifier>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>Model1</Name> <InternalId>0</InternalId>
</Identifier>
<Type>Model</Type>
</Context>
<Description>The name already exists. Type a different name.</Description>
</Error>
</ArrayOfError>
DateTime=2009-12-10T20:48:05.6949548Z error object contents
Comme illustré dans l’exemple ci-dessus, chaque erreur inclut les propriétés de données suivantes :
Propriété | Description |
---|---|
Code | Numéro d’erreur unique identifiant le type d’erreur |
Description | Texte du message d’erreur localisé |
Context.FullyQualifiedName | Nom complet de l’objet impliqué dans l’erreur. Certains noms ne sont uniques que dans leur contexte. Une entité serait qualifiée avec un préfixe de nom de modèle tel que ModelName : EntityName |
Context.Type | Type d’objet impliqué dans l’erreur |
Context.Identifier | Identificateur de l’objet impliqué dans l’erreur |
Context.Identifier.Id | GUID unique de l’objet, s’il est spécifié ou disponible |
Context.Identifier.Name | Nom de l’objet, s’il est spécifié ou disponible |
Context.Identifier.InternalId | Déconseillé : n’utilisez pas |
Suivi des problèmes de création de base de données MDS
Vous pouvez utiliser la procédure suivante pour créer un fichier journal qui peut vous aider à résoudre les échecs qui peuvent se produire lors de la création d’une base de données MDS :
Ouvrez le fichier MDSConfigTool.exe.config dans le chemin D:\Program Files\Microsoft SQL Server\Master Data Services\Configuration à l’aide du bloc-notes.exe.
Supprimez les marques de commentaire de la ligne suivante dans le fichier en supprimant les caractères de suffixe sur cette ligne :
<add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsConfigManagerTrace.log" traceOutputOptions="DateTime"/>
Vérifiez que
switchValue
est défini surAll
.<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">
Réessayez de créer la base de données. Ensuite, ouvrez le fichier MdsConfigManagerTrace.log enregistré dans C:\Program Files\Microsoft SQL Server\Master Data Services\Configuration et passez en revue les mêmes informations concernant l’échec.
Ressources externes
Résolution des problèmes d’amélioration de la journalisation
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour