Relatorios personalizados desenvolvidos pela comunidade: Difference between revisions
From MoodleDocs
mNo edit summary |
|||
Line 21: | Line 21: | ||
PostgreSQL | PostgreSQL | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
SELECT DISTINCT | SELECT DISTINCT U.USERNAME AS "Usuário", CONCAT (U.FIRSTNAME,' ',U.LASTNAME) AS "Nome completo", | ||
CONCAT('<a target="_new" href="%%WWWROOT%%/user/profile.php?id=',L.USERID,'">Acessar Perfil</a>') AS "Perfil", | CONCAT('<a target="_new" href="%%WWWROOT%%/user/profile.php?id=',L.USERID,'">Acessar Perfil</a>') AS "Perfil", | ||
L.TARGET, | L.TARGET, | ||
L.ACTION | L.ACTION | ||
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L | FROM PREFIX_LOGSTORE_STANDARD_LOG AS L | ||
JOIN PREFIX_USER AS | JOIN PREFIX_USER AS U ON U.ID = L.USERID | ||
WHERE L.ACTION LIKE 'failed' | WHERE L.ACTION LIKE 'failed' | ||
AND L.TARGET LIKE 'user_login' | AND L.TARGET LIKE 'user_login' | ||
AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '7 days' | AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '7 days' | ||
AND | AND U.LASTACCESS = 0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Usuários criados: Contagem por autor do cadastro ==== | ==== Usuários criados: Contagem por autor do cadastro ==== | ||
PostgreSQL | PostgreSQL |
Revision as of 11:14, 16 December 2022
Introdução
Relatórios
Relatórios Administrativos
Erros de acesso, motivo: usuário inexistente
O Moodle registra em seu log as tentativas de acesso malsucedidas e este relatório lista, dentro do intervalo de 30 dias, os acessos não concluídos devido a inexistência de cadastro ou erro de preenchimento dos dados de login.
PostgreSQL
SELECT JSON_EXTRACT_PATH_TEXT(OTHER :: JSON,'username') AS USERNAME,
TO_CHAR(TO_TIMESTAMP(L.TIMECREATED),'DD/MM/YYYY HH:MM') AS DATA
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
WHERE L.ACTION = 'failed'
AND L.TARGET = 'user_login'
AND L.OTHER like '%reason":1%'
AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '30 days'
ORDER BY TIMECREATED DESC
Erros de acesso, motivo: senha inválida
Este relatório lista os usuários válidos, que nunca acessaram a plataforma devido a senha inválida. No início de semestre ou cadastro recém realizado, para ações proativas, o suporte poderá agir entrando em contato com o usuário.
PostgreSQL
SELECT DISTINCT U.USERNAME AS "Usuário", CONCAT (U.FIRSTNAME,' ',U.LASTNAME) AS "Nome completo",
CONCAT('<a target="_new" href="%%WWWROOT%%/user/profile.php?id=',L.USERID,'">Acessar Perfil</a>') AS "Perfil",
L.TARGET,
L.ACTION
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
JOIN PREFIX_USER AS U ON U.ID = L.USERID
WHERE L.ACTION LIKE 'failed'
AND L.TARGET LIKE 'user_login'
AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '7 days'
AND U.LASTACCESS = 0
Usuários criados: Contagem por autor do cadastro
PostgreSQL
SELECT CONCAT(U2.FIRSTNAME, ' ', U2.LASTNAME) AS "Autor dos cadastros",
COUNT(DISTINCT U.USERNAME) AS "Usuários criados"
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
JOIN PREFIX_USER AS U ON U.ID = L.RELATEDUSERID
JOIN PREFIX_USER AS U2 ON U2.ID = L.USERID
WHERE L.ACTION = 'created'
AND L.TARGET = 'user'
GROUP BY "Autor dos cadastros"
ORDER BY "Usuários criados" DESC
Usuários criados: Últimos 30 dias
PostgreSQL
SELECT U.USERNAME,CONCAT(U.FIRSTNAME,' ',U.LASTNAME) AS "Usuário criado",
CONCAT(U2.FIRSTNAME,' ',U2.LASTNAME) AS "Autor do cadastro",
L.ORIGIN,
TO_CHAR(TO_TIMESTAMP(L.TIMECREATED),'DD/MM/YYYY HH:MM') AS "Data de criação"
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
JOIN PREFIX_USER AS U ON U.ID = L.RELATEDUSERID
JOIN PREFIX_USER AS U2 ON U2.ID = L.USERID
WHERE L.ACTION = 'created'
AND L.TARGET = 'user'
AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '30 days'
ORDER BY L.TIMECREATED DESC