Utilisation des journaux ThingWorx pour surveiller les performances de la base de données
Il est important de surveiller les journaux ThingWorx afin de détecter tout problème potentiel au niveau de la base de données. Les erreurs ou avertissements suivants indiquent un problème important de connectivité à la base de données et doivent être examinés :
Problème
Exemples d'erreurs ou d'avertissements dans le journal
Description
Exceptions de blocage apparent
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@635d735b -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
Une erreur de ce type indique que les connexions du pool de connexions ne sont pas renvoyées suffisamment rapidement à l'application. Elle indique rarement un blocage réel.
Investigation : isolez la requête SQL qui s'exécute lentement.
[2,006] erreurs inconnues
Wrapped java.lang.RuntimeException: com.thingworx.common.exceptions.DataAccessException: [2,006] Unknown error occurred. Contact the administrator if this reoccurs.
Une erreur de ce type indique une exception de connectivité de base provoquée par une déconnexion soudaine de la base de données.
Investigation : examinez les journaux de la base de données et de l'application pour trouver l'origine des problèmes de déconnexion.
[1,018] erreurs dans le magasin de données
[1,018] Data store unknown error: [Error occurred while accessing the model provider.]]
Une erreur de ce type indique qu'une instruction individuelle a généré une exception dans le moteur de base de données. Par exemple, à l'occasion de l'insertion d'une clé primaire en double dans la table.
Investigation : examinez les journaux de la base de données et de l'application pour trouver l'origine de l'échec de l'instruction.
Il est recommandé d'examiner quotidiennement les journaux de l'application pour détecter les éventuelles erreurs au niveau de la base de données. Analysez les erreurs ou les avertissements. Si vous sélectionnez l'option Activer le traçage de la pile dans le Sous-système de journalisation, vous pourrez voir le script ou l'API de plateforme qui a généré les transactions de base de données qui ont échoué. Ces transactions échouées renvoient les codes d'erreur pertinents.