Monitorización de Moodle con Munin

Saltar a: navegación, buscar

Introducción

El propósito de este trabajo es tener un prototipo funcionando que permita visualizar datos de una plataforma de moodle en el sistema de monitorización proporcionado por munin.


Moodle active users.png

Los datos que se mostrarán mediante munin serán recogidos desde moodle, mediante la ejecución del cron.

Para empezar de una forma sencilla, sin tener que desarrollar un módulo o bloque en principio, aprovecharemos una posibilidad del cron que localizó Xavier Paz: El cron general ejecuta las funciones que encuentre en un archivo que se llame cron.php y que esté en una carpeta denominada local. Es una solución más simple y accesible que tener que crear módulos o informes de admin. Basta con crear las funciones, poner el script en ese directorio y esperar a que el cron las ejecute.

Instalación

Los ficheros de cada carpeta se han de copiar en sitios diferentes. Al descomprimir te aparecen dos carpetas: moodle y munin.


Carpetas moonstats.png

La instalación la empezaremos en la parte de moodle. Solo hay que copiar una carpeta en la instalación de moodle que queremos monitorizar.

  • En la instalación de moodle, colocar la carpeta local en $CFG->dirroot.

Cron local.png

Con poner los archivos en $CFG->dirroot/local ya hemos terminado en la parte de moodle. Ahora el cron recogerá los datos y los dejará listos para que los recojan los plugins de munin. Los datos quedarán en la carpeta $CFG->dataroot/temp/moonstats de la instalación a monitorizar.

$CFG->dirroot indica la carpeta en la que está instalado moodle. $CFG->dataroot donde están los archivos. Tienes sus valores en el archivo config.php

Ahora nos vamos a munin. Tenemos que copiar e instalar los archivos que se encuentran en la carpeta munin que hemos descargado y extraido en nuestro equipo. El procedimiento es el habitual para instalar plugins en munin:

  • Copiar los archivos de la carpeta munin en /usr/share/munin/plugins
  • Crear un enlace simbólico en /etc/munin/plugins de cada plugin. Por ejemplo,
ln –s /usr/share/munin/plugins/moonstats_activeusers /etc/munin/plugins/moonstats_activeusers
  • Editar /etc/munin/plugin-conf.d/munin-node e incluir las siguientes lineas, sustituyendo /var/www/vhosts/dominio.tld/moodledata por la ruta indicada en $CFG->dataroot de nuestro config.php

/etc/munin/plugin-conf.d/munin-node

<br>[moonstats_logins]
<br>user root
<br>env.filepath /var/www/vhosts/dominio.tld/moodledata/temp/moonstats/logins.dat

<br>[moonstats_clicks] <br>user root <br>env.filepath /var/www/vhosts/dominio.tld/moodledata/temp/moonstats/clicks.dat

<br>[moonstats_privatems] <br>user root <br>env.filepath /var/www/vhosts/dominio.tld/moodledata/temp/moonstats/privatems.dat

<br>[moonstats_chatusers] <br>user root <br>env.filepath /var/www/vhosts/dominio.tld/moodledata/temp/moonstats/chatusers.dat

<br>[moonstats_activeusers] <br>user root <br>env.filepath /var/www/vhosts/dominio.tld/moodledata/temp/moonstats/activeusers.dat

  • Reiniciamos munin:
/etc/init.d/munin-node restart
  • Verificamos que todo funciona correctamente. Este comando ha de mostrar el texto yes. Si no lo muestra hay algún problema para acceder al archivo con los datos.
sudo -u munin munin-run moonstats_activeusers autoconf
  • Este otro comando ha de mostrar un texto similar a activeusers.value X, donde X es el último valor generado mediante el cron de moodle y que nos indica el número de usuarios que han realizado alguna operación que ha dejado un registro en el log en los últimos 10 minutos.
sudo -u munin munin-run moonstats_activeusers

Para mostrar mas información sobre los plugins:

sudo -u munin munin-run  --debug moonstats_activeusers

Si todo está correcto, pasados unos 20 minutos ya deberían aparecer los datos en el panel de munin.


Moodle active users.png


Algunas ideas para plugins

  • Usuarios conectados (moonstats_activeusers)
  • Cantidad de logins/logouts (moonstats_logins)
  • Cantidad de clicks (moonstats_clicks)
  • Tráfico de Mensajes privados (entrada/salida) (moonstats_privatems)
  • Comentarios publicados y temas abiertos en los foros
  • Cantidad de subscriptores los foros
  • Actividad por módulos, rastreando el log de Moodle
  • Backups de cursos (cantidad por unidad de tiempo)
  • Actividad del chat (usuarios) (moonstats_chatusers)
  • Cantidad de cursos (total y activos/visibles)
  • Cantidad total de usuarios y alumnos matriculados en cursos (usuarios/estudiantes)
  • Cantidad de entradas creadas en los blogs.

También sería interesante integrar datos de varias instalaciones, pero eso ya no sería un plugin sino una nueva versión.

Créditos

Más del 80% es de Xavier Paz :-) Se curró toda la programación (la de moodle y la de los plugins de munin)

El resto es de Fernando Navarro. Presentó la propuesta inicial, escribió la versión inicial de este documento y realizó las pruebas junto con Xavier.

Ver También

Documento inicial: Fernando Navarro Páez 20:21 4 nov 2010 (UTC)