Meteoclimatic

Software => WeeWX => Mensaje iniciado por: miguelru en 24 de Octubre del 2019, 19:08:08 pm

Título: weewx 3.9.2
Publicado por: miguelru en 24 de Octubre del 2019, 19:08:08 pm
Buenas tardes.
Tengo instalado weewx 3.9.2 en una RPI con Raspbian Buster en pruebas y todo funciona bien excepto que no consigo que escriba los archivos.log en la RAM.
He añadido la linea correspondiente en /etc/fstab:

tmpfs   /var/log/       tmpfs   defaults,noatime,nosuid,mode=0755,size=20M      0       0

pero entonces no arranca apache2. Tampoco arranca apache2 con el añadido en /etc/init.d/apache2 que indica la wiki (Jantoni) por este problema que se daba en Jessie.
¿Alguna idea de como conseguirlo para no machacar la SD?
Saludos.
Título: Re:weewx 3.9.2
Publicado por: jmviper en 24 de Octubre del 2019, 20:39:21 pm
Hola miguelru

Qué te pone al ejecutar df -h ? Pon el resultado

Título: Re:weewx 3.9.2
Publicado por: miguelru en 25 de Octubre del 2019, 00:10:09 am
Mas vale tarde...

pi@raspberrypi:~ $ df -h
S.ficheros     Tamaño Usados  Disp Uso% Montado en
/dev/root         27G   6,2G   19G  25% /
devtmpfs       459M      0    459M   0% /dev
tmpfs            464M      0    464M   0% /dev/shm
tmpfs            464M    13M  451M   3% /run
tmpfs             5,0M   4,0K   5,0M   1% /run/lock
tmpfs            464M       0   464M    0% /sys/fs/cgroup
/dev/sda6      253M    52M  201M  21% /boot
tmpfs              93M      0      93M    0% /run/user/1000
pi@raspberrypi:~ $
Título: Re:weewx 3.9.2
Publicado por: miguelru en 25 de Octubre del 2019, 00:38:51 am
En realidad la RPI no trabaja con una microSD  sino con un pen USB, pero supongo que al final el resultado sera igual, no deja de ser una memoria flash.
Bueno continuaremos mañana.
Gracias.
Título: Re:weewx 3.9.2
Publicado por: jmviper en 25 de Octubre del 2019, 11:13:54 am
No soy un experto en estas cuestiones de la raspberry y supongo que cada actualización de SO tendrá sus "entresijos" a la hora de montar esas unidades e incluso archivos de configuración en cada distribución etc etc

De lo que se ve del resultado de df -h se ve que no hay montado ningún tmpfs con /var/log (habrá que reiniciar la Raspi?) y le pondría un tamaño de 50M en vez de 20M en esa línea de fstab (size=50M)

Una vez hechos los cambios te debería de salir al reiniciar con df -h ese punto de montaje tmpfs /var/log

Todo esto hay que saber tocarlo porque una configuración mal hecha (y cada dispositivo y SO tienen sus archivos de configuración etc etc) y no te arranca directamente.

Yo personalmente no tengo la Raspberry sino una Orange pi y df -h me pone esto:

root@orangepipc:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            432M     0  432M   0% /dev
tmpfs           100M  4.0M   96M   4% /run
/dev/mmcblk0p1  7.1G  1.8G  5.3G  25% /
tmpfs           500M     0  500M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           500M     0  500M   0% /sys/fs/cgroup
tmpfs           500M  4.0K  500M   1% /tmp
/dev/zram0       49M   13M   33M  28% /var/log
tmpfs           100M     0  100M   0% /run/user/0

Como ves /var/log lo tengo en la zram que es parecido a tmpfs pero no la misma cosa y viene así por defecto con armbian que es el SO que utilizo.

Con esto, como te he dicho antes, te hago ver que esto es algo más complejo de lo que parece y que cambia entre kernels y SO y es para gente entendida y que sepa lo que está haciendo.

A ver si alguien que sepa sobre todo esto te puede ayudar, a mí no me gusta tocar estas cosas a menos que sea imprescindible por las sorpresas que te puedes llevar.

saludos
Título: Re:weewx 3.9.2
Publicado por: miguelru en 25 de Octubre del 2019, 12:05:07 pm
Si efectivamente si pongo la linea en el ftab se crea el archivo temporal:

pi@raspberrypi:~ $ df -h
S.ficheros     Tamaño Usados  Disp Uso% Montado en
/dev/root         27G   6,2G   19G  25% /
devtmpfs         459M      0  459M   0% /dev
tmpfs            464M      0  464M   0% /dev/shm
tmpfs            464M    18M  446M   4% /run
tmpfs            5,0M   4,0K  5,0M   1% /run/lock
tmpfs            464M      0  464M   0% /sys/fs/cgroup
tmpfs             20M   204K   20M   1% /var/log
/dev/sda6        253M    52M  201M  21% /boot
tmpfs             93M      0   93M   0% /run/user/1000
pi@raspberrypi:~ $

pero así es cuando no arranca apache2 por lo que no hay pagina web ni plantilla etc.
Gracias de todos modos. Seguiré intentando dar con la solución mientras espero a ver si alguien lo sabe resolver.
Saludos.
Título: Re:weewx 3.9.2
Publicado por: miguelru en 25 de Octubre del 2019, 12:58:01 pm
Un asunto más por no crear otro hilo.
Tengo las estaciones en torno a 4 años en horario local y pretendo cambiarlas a UTC.
Al estar en UTC e importar las BBDD que se generaron con horario local y a pesar de que las BBDD se escriben en unix epoch en ambos casos, resulta que los datos de los archivos NOAA, e imagino que otros archivos, se me desplazan a un día antes. Supongo que es por que el primer día entre las 00:00 que son las 22:00 UTC y las 00:00 UTC se han escrito unos registros en las BBDD que los interpreta como el día anterior. Adjunto archivo.
No se si la solución es borrar los registros de esas 2 horas del primer día en las BBDD o hay una solución mas ortodoxa.
Gracias de antemano.
Título: Re:weewx 3.9.2
Publicado por: jmviper en 25 de Octubre del 2019, 16:37:16 pm
Fácil, aunque puede que no tanto... antes de nada haz copia de seguridad de la base de datos.

La cuestión es que como tú dices weewx guarda los datos en la base de datos en formato unix UTC pero solo en la tabla archive, en las demás tablas (archive_day_rain etc etc) las guarda en la hora que tengas la raspi ya que las máximas/diarias etc las hace en esa zona horaria.

Para que te lo haga todo en UTC tendrás que poner tanto consola como raspi en esa hora y hacer que weewx borre las tablas diarias:

sudo wee_database weewx.conf --drop-daily

Después reconstruir esas tablas que deberán de salir en hora UTC para los diarios:

sudo wee_database weewx.conf --rebuild-daily

El problema que puedes tener es que si por ejemplo está grabando datos cada 5 minutos weewx al basarse en esos registros para reconstruir los datos de cada día puede no darse la verdadera temperatura mínima o máxima etc, por ejemplo si tiene las 7:30 y 7:35 y la mínima se produjo a las 7:33 no te va a poner esa mínima sino la que encuentre en esos registros. Con la lluvia podría no contabilizarla toda. En las tablas diarias sospecho que va grabando conforme en tiempo real cuando se van dando las máximas o mínimas.

Por eso a mí personalmente me gusta que grabe cada minuto cualquier programa por si hay que echar mano de logs o de, como en este caso, de base de datos.

Si lo tienes cada minuto no va a haber problema, si no lo tienes te puedes encontrar con el imprevisto que te he dicho.

También se puede intentar ver si te actualiza los diarios con sudo wee_database weewx.conf --update y te pone los intervalos de tiempo correctos. Es cuestión e ir probando con la BBDD teniendo una copia de seguridad hecha por si los resultados no son los esperados.

Lo solución menos ortodoxa sería entonces modificar los timestamps de cada tabla diaria poniéndole el tiempo unix UTC si es día con horario de verano o día con horario de invierno, cosa harto difícil ya que la columna dateTime no está en formato date (está en integer) y no se le pueden aplicar los métodos de esa clase para convertirlos.


En cuanto a lo de /var/log.... has probado a ponerle 50M en fstab para ver si puede arrancar apache2 ??  Seguramente tengas que hacerle un logrotate (si no lo tienes con apache2) para evitar que alcance mucho tamaño y te llene esa asignación de espacio.

P.D. En cuanto a la conversión de hora local a hora UTC ten en cuenta que los días en UTC pueden no tener los mismos acumulados de lluvia si ha habido lluvia entre esas 2 horas (o una) que las que has tenido con hora local. Lo mejor es empezar con un formato y seguir con él.... los cambios de sentido en medio del trayecto no son buenos...

Saludos
Título: Re:weewx 3.9.2
Publicado por: miguelru en 25 de Octubre del 2019, 19:16:12 pm
Hola.

En lo referente a tmpfs   /var/log/ da igual que tenga 20, 50 incluso 100 Megas, cuando esta activa no arranca apache2, queda en el cajón de pendiente...
Ocurre que ya se me han ido alguna que otra tarjeta SD (son el talón de Aquiles de las RPI) y por eso ahora quiero que inicien desde USB y por supuesto tengo programadas copias de seguridad diarias en un pen usb que voy borrando periódicamente.

Respesto a la base de datos voy a toquitearla un poco en base a tus indicaciones y según los resultados optare por cambiar a UTC o quedarme como estoy que eso no me da problemas.

Gracias de nuevo.
Título: Re:weewx 3.9.2
Publicado por: jmviper en 25 de Octubre del 2019, 23:12:10 pm
Por lo que he visto por la web y por el foro de meteoclimatic el problema es que apache2 trata de iniciar a escribir en el log cuando /var/log no está montado en tmpfs, de hecho te dará el típico error No such file or directory: AH02291: Cannot access directory '/var/log/apache2' for main error log (lo podrás ver si ejecutas sudo service apache2 status o sudo systemctl status apache2)

Puedes poner el resultado de ejecutar esto ?

sudo cat /usr/lib/tmpfiles.d/var.conf
Título: Re:weewx 3.9.2
Publicado por: miguelru en 26 de Octubre del 2019, 12:56:04 pm
Ahí pego lo que responde :

Last login: Sat Oct 26 09:11:02 2019 from 192.168.1.34
pi@raspberrypi:~ $ sudo cat /usr/lib/tmpfiles.d/var.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details

q /var 0755 - - -

L /var/run - - - - ../run

d /var/log 0755 - - -
f /var/log/wtmp 0664 root utmp -
f /var/log/btmp 0660 root utmp -
f /var/log/lastlog 0664 root utmp -

d /var/cache 0755 - - -

d /var/lib 0755 - - -

d /var/spool 0755 - - -
pi@raspberrypi:~ $

Título: Re:weewx 3.9.2
Publicado por: miguelru en 26 de Octubre del 2019, 13:14:32 pm
Este el resultado de apache2 status:

pi@raspberrypi:~ $ sudo service apache2 status
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2019-10-26 11:01:19 UTC; 7min ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 377 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

oct 26 11:01:19 raspberrypi apachectl[377]: AH00557: apache2: apr_sockaddr_info_get() failed for ras
oct 26 11:01:19 raspberrypi apachectl[377]: AH00558: apache2: Could not reliably determine the serve
oct 26 11:01:19 raspberrypi apachectl[377]: (2)No such file or directory: AH02291: Cannot access dir
oct 26 11:01:19 raspberrypi apachectl[377]: (2)No such file or directory: AH02291: Cannot access dir
oct 26 11:01:19 raspberrypi apachectl[377]: AH00014: Configuration check failed
oct 26 11:01:19 raspberrypi apachectl[377]: Action 'start' failed.
oct 26 11:01:19 raspberrypi apachectl[377]: The Apache error log may have more information.
oct 26 11:01:19 raspberrypi systemd[1]: apache2.service: Control process exited, code=exited, status
oct 26 11:01:19 raspberrypi systemd[1]: apache2.service: Failed with result 'exit-code'.
oct 26 11:01:19 raspberrypi systemd[1]: Failed to start The Apache HTTP Server.
lines 1-16/16 (END)...skipping...
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2019-10-26 11:01:19 UTC; 7min ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 377 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

oct 26 11:01:19 raspberrypi apachectl[377]: AH00557: apache2: apr_sockaddr_info_get() failed for raspberrypi
oct 26 11:01:19 raspberrypi apachectl[377]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerNam
oct 26 11:01:19 raspberrypi apachectl[377]: (2)No such file or directory: AH02291: Cannot access directory '/var/log/apache2/' for main error log
oct 26 11:01:19 raspberrypi apachectl[377]: (2)No such file or directory: AH02291: Cannot access directory '/var/log/apache2/' for error log of vhost defined at /etc/ap
oct 26 11:01:19 raspberrypi apachectl[377]: AH00014: Configuration check failed
oct 26 11:01:19 raspberrypi apachectl[377]: Action 'start' failed.
oct 26 11:01:19 raspberrypi apachectl[377]: The Apache error log may have more information.
oct 26 11:01:19 raspberrypi systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
oct 26 11:01:19 raspberrypi systemd[1]: apache2.service: Failed with result 'exit-code'.
oct 26 11:01:19 raspberrypi systemd[1]: Failed to start The Apache HTTP Server.
~
Título: Re:weewx 3.9.2
Publicado por: jmviper en 26 de Octubre del 2019, 13:23:22 pm
Ok prueba a editarlo con sudo nano /usr/lib/tmpfiles.d/var.conf añadiendo la línea en negrita que pongo a continuación y lo guardas y reinicias raspi a ver qué tal:

q /var 0755 - - -

L /var/run - - - - ../run

d /var/log 0755 - - -
f /var/log/wtmp 0664 root utmp -
f /var/log/btmp 0660 root utmp -
f /var/log/lastlog 0664 root utmp -
d /var/log/apache2 755 root adm -

d /var/cache 0755 - - -

d /var/lib 0755 - - -

d /var/spool 0755 - - -
Título: Re:weewx 3.9.2
Publicado por: miguelru en 26 de Octubre del 2019, 14:24:16 pm
Pues si, efectivamente se ha creado /var/log y apache2 arranca y esta funcionando aunque hay un par de lineas que indican algún tipo de fallo que no se si se pueden despreciar. Aparentemente funciona bien.  apla3
Gracias jmviper.

Last login: Sat Oct 26 11:53:53 2019
pi@raspberrypi:~ $ df -h
S.ficheros     Tamaño Usados  Disp Uso% Montado en
/dev/root         27G   6,3G   19G  26% /
devtmpfs         459M      0  459M   0% /dev
tmpfs            464M      0  464M   0% /dev/shm
tmpfs            464M    13M  451M   3% /run
tmpfs            5,0M   4,0K  5,0M   1% /run/lock
tmpfs            464M      0  464M   0% /sys/fs/cgroup
tmpfs             50M   208K   50M   1% /var/log
/dev/sda6        253M    52M  201M  21% /boot
tmpfs             93M      0   93M   0% /run/user/1000
pi@raspberrypi:~ $ sudo systemctl status apache2

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-10-26 11:53:48 UTC; 20min ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 369 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 427 (apache2)
    Tasks: 55 (limit: 2200)
   Memory: 7.2M
   CGroup: /system.slice/apache2.service
           ├─427 /usr/sbin/apache2 -k start
           ├─428 /usr/sbin/apache2 -k start
           └─429 /usr/sbin/apache2 -k start

oct 26 11:53:46 raspberrypi systemd[1]: Starting The Apache HTTP Server...
oct 26 11:53:48 raspberrypi apachectl[369]: AH00557: apache2: apr_sockaddr_info_get() failed for raspberrypi
oct 26 11:53:48 raspberrypi apachectl[369]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerNam
oct 26 11:53:48 raspberrypi systemd[1]: Started The Apache HTTP Server.
Título: Re:weewx 3.9.2
Publicado por: jmviper en 26 de Octubre del 2019, 14:53:36 pm
Ok perfecto  :)

Más que un error es una advertencia ya que no evita su funcionamiento. Está diciendo que no hay directiva ServerName y que usa la dirección de localhost por defecto.

Si quieres quitar eso prueba a editar apache2.conf:

sudo nano /etc/apache2/apache2.conf

Localiza la línea donde pone

DefaultRuntimeDir ${APACHE_RUN_DIR}

y antes de ella pon (no tras una # o si no actúa de comentario)

ServerName localhost

Después reinicia apache2

sudo service apache2 restart

Deberían de haberse ido esas líneas.

Qué te pone ahora df -h ? Qué porcentaje de /var/log hay ocupado ?

Título: Re:weewx 3.9.2
Publicado por: miguelru en 27 de Octubre del 2019, 12:30:44 pm
Hola jmviper.
Efectivamente tras editar apache2.conf según tus indicaciones han desaparecido las lineas de fallo de conexión con el server.
En cuanto al porcentaje de /var/log, que copio bajo, no se ha incrementado mucho pero es por que he reiniciado la raspi por cambios de configuraciones.

pi@raspberrypi:~ $ df -h
S.ficheros     Tamaño Usados  Disp Uso% Montado en
/dev/root         27G   6,3G   19G  26% /
devtmpfs         459M      0  459M   0% /dev
tmpfs            464M      0  464M   0% /dev/shm
tmpfs            464M    18M  446M   4% /run
tmpfs            5,0M   4,0K  5,0M   1% /run/lock
tmpfs            464M      0  464M   0% /sys/fs/cgroup
tmpfs             50M   332K   50M   1% /var/log
/dev/sda6        253M    52M  201M  21% /boot
tmpfs             93M      0   93M   0% /run/user/1000
pi@raspberrypi:~ $

Gracias de nuevo.       :aplaude1: