Autor Tema: Supervision de funcionamiento de weewx (watchdog)  (Leído 2551 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Mihuer

  • Newbie
  • *
  • Mensajes: 34
    • Ver Perfil
  • Estación: Utrilla- ESCYL4200000042258A
Supervision de funcionamiento de weewx (watchdog)
« en: 06 de Diciembre del 2019, 12:23:12 pm »
Hola,

he puesto un 'watchdog' a weewx que supervisa el correcto funcionamiento del sofware (en mi caso una WMR300 con Raspy y Weewx). Usa unos scripts especificos para weewx creados por Leon Shaner.
Me gusta como funciona asi que lo comparto por si es de interes para otros usuarios.

Caracteristicas:
  • Se ejecuta cada 10 minutos (desde el contrab)
  • Comprueba que se haya escrito algún registro en la base de datos en los ultimos 6 minutos y que el estado de weewx sea 'activo'
  • En caso negativo, para y arranca Weewx
  • SI tras lo anterior sigue sin funcionar, hace un Reboot de la Raspi
  • Cuando detecta el fallo, envía un mail al correo que hayas configurado


A continuación pongo algunas notas sobre como instalarlo que pueden ser de ayuda (estan basadas en los problemas que me he encontrado al hacer la instalación).

Suerte

Usar los ficheros descargados de Web realizados por Leon Shaner y modificados por @UberEclectic:
•   readme.txt
•   weewx_watchdog   (usada la version 1.4.4)
•   weewx_logrotate
•   wuderfixer_wrapper

Estan (estaban?) en https://github.com/UberEclectic/weewx/tree/watchdog/examples/watchdog

Hacer la instalación siguiendo el fichero 'readme':
•   Modificar los parametros de configuracion de weewx_watchdog incluyendo correo, funciones a activar (activar reinicio de weewx, opcionalmente reboot y desactivar limite de lluvia y wunderfixer). Poner el sudo de los comandos y definir los directorios de logs.
Para los logs se usa el weewx.log como principal y el weewx_watchdog.log como auxiliar (será un nuevo log con los logs de este script). Se le pone el logrotate al fichero weewx_watchdog.log

NOTA: el weewx_watchdog tiene un error en la variable weewx_status que esta mal nombrada (repite la variable weewx_start) y falla en el control de status y en el start. Corregir la variable y opcionalmente usarla en la obtencion de status.

•   Pasarlos por ftp a a la Raspi  copiado en mi caso a /usr/local/etc/weewx/weewx_watchdog. Cambiados los permisos para root y ejecución. Editar con nano y guardar en formato linux.
•   Si no los tienes ya instalados, instalar ssmtp y mailutils para poder enviar correos desde mailx. La configuracion se ajsuta en /etc/ssmtp/ssmtp.conf. En mi caso los envia a traves de gmail. Probar funcionamiento del mail
•   importante ver las configuraciones de logrotate (en /etc/logrotate.d/) y probarlas (usar  sudo logrotate -vf /etc/logrotate.d/weewx_watchdog ).
•   En mi caso, he añadido el weewx_watchdog.log al script de backup
•   Se añade en el /etc/crontab la linea para ejecucion cada 10 minutos de /usr/local/etc/weewx/weewx_watchdog sin olvidar poner el usuario root

Para probarlo, se recomienda configurarlo inicialmente sin que haga reboot. Se para Weewx y se ejecuta el comando. si funciona correctamente, se pone en el crontab y se hacen mas pruebas. Cuando todo va bien, se añade la accion de reboot a la configuracion y se prueba.

Para monitorizar funcionamiento ver los ficheros de log de syslog, weewx.log y weewx_wachdog.log en /var/log/

PARA PARARLO:  editar (con sudo nano) el /etc/crontab y poner como comentario la linea de ejecución de watchdog. Necesario para mantenimiento de RASPI