Monitorizando Tareas programadas con Centreon
Algo muy habitual es que algunas máquinas Windows Server de nuestro entorno puedan tener ciertas tareas programadas que muchas veces no controlamos u olvidamos. En este post veremos cómo podemos monitorizar las tareas programadas de Windows de nuestro entorno, como no, lo centralizaremos en Centreon.
Un post rápido, fácil, sencillo y para toda la familia, ya sabéis 😉 La idea de este post será conocer si una tarea programada que podamos tener en alguna máquina remota con Windows ha finalizado bien o no, lo monitorizaremos desde Centreon gracias al agente remoto NSClient que debe tener dicha máquina Windows. Si no conoces el agente NSClient de Centreon te recomiendo que leas este post antes, y si lo prefieres con el NSClient tradicional, este otro.
En este post, para monitorizarlo usaremos el comando de checkeo ‘check_tasksched’ que nos proporciona NSClient, y podemos usarlo de múltiples maneras. Podemos monitorizar que todas las tareas programadas de una máquina hayan acabado bien, o en un periodo de tiempo concreto… en este documento veremos cómo monitorizar una tarea programada específica, si su última ejecución fue buena o mala, y lo haremos con el siguiente comando, teniendo en cuenta que en los argumentos le hemos añadido que la tarea programada esté habilitada, filtramos por su nombre/título y si su exit_code no es satisfactorio nos cante un Crítical:
perl centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query --hostname=DIRECCION_IP_NSCLIENT --port=PUERTO_NSCLIENT --proto=https --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --legacy-password='MambruSefueALaGuerraQueDolorQueDolor' --command=check_tasksched --arg="filter=enabled eq 1 and title eq 'NOMBRE DE lA TAREA PROGRAMADA'" --arg="critical=exit_code != 0"
Como siempre una vez que tengamos el comando que necesitemos podremos llevarlo a Centreon y darlo de alta en “Configuration” > “Commands” > “Checks”, con la siguiente línea de comandos y con un único argumento para que cuando se den de alta los Servicios luego sólo se tenga que introducir el nombre de la Tarea programada del Windows:
perl $CENTREONPLUGINS$/centreon-plugins/src/centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query --hostname=$HOSTADDRESS$ --port=8888 --proto=https --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --legacy-password='CONTRASEÑA' --command=check_tasksched --arg="filter=enabled eq 1 and title eq '$ARG1$'" --arg="critical=exit_code != 0"
Lo dicho, crearemos los Servicios, los asociamos al Comando que acabamos de crear y nos pedirá 1 argumento a cumplimentar, siendo el nombre de la tarea programada que queremos checkear. Algo quizá a tener en cuenta es que deberemos configurar cada cuánto queremos que se ejecute el servicio en Centreon, ya que por defecto se ejecutará cada 5 minutos y nuestra tarea igual se ejecuta una vez al día, usaremos para ello ‘Normal Check Interval’, así como el periodo del checkeo si es que preferimos que se ejecute el checkeo en un horario en particular (y no las 24h del día).
Y como siempre, tras exportar la configuración en Centreon ya aparecerán nuestras tareas programadas monitorizadas, ya no se nos quedará ninguna tarea fuera de control, y sobre todo si alguna finaliza de manera no correcta, nos enteraremos.
Listo con esto, como os podréis imaginar hay muchas posibilidades con este comando, tiene numerosos argumentos con los que podremos hacer el filtro que necesitemos en particular, o si no necesitáis mucha complejidad, este post seguro que os puede venir bien. Os deseo buena semana, que vaya maravillosamente bien, y que cuidéis al de al lado 😉