Table mdl_logstore_standard_log trop grosse

Re: Table mdl_logstore_standard_log trop grosse

par Séverin Terrier,
Nombre de réponses : 11
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Simon,

Je te renvois vers cette discussion (et les discussions liées), ainsi que celle-ci (pour les requêtes SQL) qui te donneront des pistes intéressantes.

En résumé :
  • tu ne perdrais pas vraiment de fonctionnalité en supprimant des éléments de cette table
  • il me parait important de comprendre quel type d'élément rempli cette table aussi vite (donc avant de supprimer les éléments), car cela peut être révélateur d'un bogue
Séverin
Moyenne des évaluations Utile (3)
En réponse à Séverin Terrier

Re: Table mdl_logstore_standard_log trop grosse

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Séverin,

Magnifique fil de discussions que celui que tu cites : « Problèmes sauvegardes automatiques Moodle 2.9.2 » ! 😍 C'est riche !!!
Au détour d'une problématique spécifique, on voit plein de requêtes très utiles pour investiguer. C'est remarquable de voir comment tu as progressé dans ta problématique. Tu nous livres chaque étape de ta réflexion avec tous les détails. C'est vraiment très instructif 👏
Ceci-dit, à relire, ça pique un peu 😅

Je confirme qu'il faudrait que Simon arrive à identifier ce qui part en cacahuète. Quel type d'événement est le plus fréquent en limitant aux derniers jours ? Resserrer à un cours unique si possible ?

Bon courage,
Patrick
Moyenne des évaluations Utile (1)
En réponse à Patrick Lemaire

Re: Table mdl_logstore_standard_log trop grosse

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Effectivement, ce fil a été très riche, et j'ai détaillé les différentes pistes sur lesquelles je suis tombé au fil du temps... Ça aurait sans doute mérité un ou deux petits résumés en fin de fil de discussion (même si j'ai vaguement tenté de découper par sous-problématique, et faire un résumé).

C'est ce que je me dis, trouver le(s) cours et/ou type(s) d'événement(s) qui sont les plus fréquents, afin de comprendre l'origine du problème.

Séverin
Moyenne des évaluations Utile (1)
En réponse à Séverin Terrier

Re: Table mdl_logstore_standard_log trop grosse

par Simon CHARBIT,
Merci de vos réponses,
pour l'instant j'ai supprimé les logs qui ont plus de 48h.
Ça a permis que la base de données dégonfle (je suis passé de 13 Go à 6 Go. C'est descendu très doucement et ça a l 'air de continuer de descendre.
Je suis encore assez nouveau dans la gestion de Moodle et même en lisant les discussions que vous me citez, je ne suis pas sûr de savoir vraiment par où et comment commencer les recherches de la cause.
Moyenne des évaluations Utile (1)
En réponse à Simon CHARBIT

Re: Table mdl_logstore_standard_log trop grosse

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Simon,

Pour avoir une telle augmentation récemment, qu'est-ce qui a changé récemment ?

De nombreux cours lancés ? de nombreux utilisateurs connectés ? de nouveaux plugins installés ? de nouveaux paramétrages effectués ?

Pour connaitre les (10) cours qui génèrent le plus d'éléments dans les journaux :
SELECT courseid AS Cours, COUNT(1) AS Nb
FROM mdl_logstore_standard_log
GROUP BY courseid
ORDER BY Nb DESC LIMIT 10;
Pour savoir quels sont les types d'événements les plus générés :
SELECT eventname, COUNT(1) AS Nb
FROM mdl_logstore_standard_log
GROUP BY eventname
ORDER BY Nb DESC LIMIT 10;
Séverin
En réponse à Séverin Terrier

Re: Table mdl_logstore_standard_log trop grosse

par Anne Garnavault Remy,
Bonjour
Cela me rappelle quelques souvenirs ...
La seconde requête de Severin est intéressante , car elle permet d'identifier le composant qui générè les logs...
Cela nous avait aidé à résoudre notre pb . Voir https://moodle.org/mod/forum/discuss.php?d=326903#p1318539, en l’occurrence les calendriers externes de type Calendar Google .
Séverin et Patrick nous avait bien aidé clin d’œil

Bon courage Simon
Moyenne des évaluations Utile (1)
En réponse à Séverin Terrier

Re: Table mdl_logstore_standard_log trop grosse

par Simon CHARBIT,
Merci beaucoup pour la requête, mais je suis encore a un niveau plus basique.

Où dois-je dois je taper cette requête ?
En réponse à Simon CHARBIT

Re: Table mdl_logstore_standard_log trop grosse

par Simon CHARBIT,
En me baladant dans ma base de donnée j'ai trouvé un endroit ou taper une requête et le résultat est limpide, c'est le cours 0 qui génère tout ces logs. C'est quoi le cours 0 ?
et la deuxième requête indique : \core\event\user_updated comme principale source.
Moyenne des évaluations Utile (1)
En réponse à Simon CHARBIT

Re: Table mdl_logstore_standard_log trop grosse

par Simon CHARBIT,
J'ai l'impression d'avoir trouvé le coupable :

On a une tache automatisée : Synchronisez les utilisateurs avec Azure AD, elle est systématiquement en échec depuis une semaine et génère beaucoup d'écriture. Ce n'est pas moi qui aie configuré, cette synchro, du coup, j'ai un peu de mal à voir ou ça coince, mais je vais continuer d'investiguer. Merci énormément pour votre aide.

En réponse à Simon CHARBIT

Re: Table mdl_logstore_standard_log trop grosse

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Le cours 1 correspond à la page d'accueil, à partir de 2 c'est le numéro du cours (id).

0 doit correspondre à ce qui n'est lié à aucun cours, donc peut-être du niveau utilisateur...

L'événement cité correspond effectivement à une mise à jour de l'utilisateur.

Pour être un peu plus sur, on devrait pouvoir utiliser cette requête :
SELECT courseid, eventname, COUNT(1) AS Nb
FROM mdl_logstore_standard_log
GROUP BY courseid, eventname
ORDER BY Nb DESC LIMIT 10;
Après, plein de déclinaisons de requêtes sont possibles, afin d'essayer de voir plutôt quel cours ou événement (voire action...) est le plus présent.

Séverin
En réponse à Séverin Terrier

Re: Table mdl_logstore_standard_log trop grosse

par Simon CHARBIT,
C'est visblement bien user updated, voilà le résultat de la requête :

courseid eventname Nb Décroissant 1
0 \core\event\user_updated 2487906
0 \core\event\email_failed 100
0 \core\event\notification_sent 100
0 \core\event\dashboard_viewed 63
46 \mod_quiz\event\attempt_viewed 58
0 \auth_oidc\event\user_loggedin 54
0 \core\event\user_loggedin 54
0 \core\event\webservice_function_called 41
71 \core\event\course_viewed 31
21 \mod_quiz\event\attempt_viewed 19
En réponse à Simon CHARBIT

Re: Table mdl_logstore_standard_log trop grosse

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Effectivement, ça confirme les choses !

Il va donc falloir régler ce problème de synchronisation afin d'éviter les erreurs.

Suivant le nombre d'utilisateurs à synchroniser, peut-être que cela générera malgré tout beaucoup de lignes dans les journaux...