Wekan - erreur 502 badgateway

Mon serveur YunoHost

Matériel: VPS acheté en ligne
Version de YunoHost: 4.3.6.2
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Bonjour,

Depuis ce matin, j’ai un souci : en ouvrant l’application Wekan, je tombe sur une page 502 Bad Gateway (nginx).

Je ne crois pas avoir réalisé de manip particulière hormis une mise à jour des paquets et des applications il y a quelques jours.

Dans la foulée, n’ayant plus d’espace disponible, j’ai supprimé toute les sauvegardes enregistrées, et relancé une mise à jour.
Pour les paquets, pas de soucis, mais pour les applications, le processus s’arrête avec la tentative de mise à jour de Wekan.

J’ai tenté de fouiller sur le forum et en ligne.

Pour l’instant, voici les différents éléments :

  • erreur lors de la recherche de mises à jour :
Des erreurs se sont produites lors de la mise à jour du cache APT (gestionnaire de paquets Debian). Voici un extrait des lignes du fichier sources.list qui pourrait vous aider à identifier les lignes problématiques :
sources.list:deb http://deb.debian.org/debian buster main contrib non-free
sources.list:deb-src http://deb.debian.org/debian buster main contrib non-free
sources.list:deb http://security.debian.org/ buster/updates main contrib non-free
sources.list:deb-src http://security.debian.org/ buster/updates main contrib non-free
sources.list:deb http://deb.debian.org/debian buster-updates main contrib non-free
sources.list:deb-src http://deb.debian.org/debian buster-updates main contrib non-free
sources.list.d/yunohost.list:deb http://forge.yunohost.org/debian/ buster stable
sources.list.d/docker.list:deb [arch=amd64] https://download.docker.com/linux/debian buster stable
sources.list.d/extra_php_version.list:deb https://packages.sury.org/php/ buster main
sources.list.d/mongodb-org-4.4.list:deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main

(un test de ping comme suggéré ici fonctionne pour les 2 tests).

  • erreur lors de la mise à jour de Wekan ; cela est indiqué :
Erreur: "400" Bad Request
Action: "PUT" /yunohost/api/apps/wekan/upgrade

Message d'erreur :
Il ne reste pas assez d'espace disque pour mettre à jour cette application
  • dans l’outil de diagnostic, j’ai effectivement une alerte sur mon espace de stockage disponible faible, alors que j’ai quelques applications installées, mais pas grand chose dessus (Nextcloud ~2-3 Go, Calibre-web ~ 500 Mo pour les principales).

  • dans l’outil de diagnostic aussi :
    Le service mongod est failed :-(
    et dans l’outil des services, lorsque je clique sur le service mongod :

Erreur: "500" Internal Server Error

Action: "GET" /yunohost/api/services/mongod/log?number=50&locale=fr

Message d'erreur :
Erreur serveur inattendue

Retraçage

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 494, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 599, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/service.py", line 555, in service_log
    result[log_path] = _tail(log_path, number)
  File "/usr/lib/moulinette/yunohost/service.py", line 817, in _tail
    lines = f.read().splitlines()
MemoryError
  • enfin, en ligne de commande, comme suggéré ici :
    ncdu /var/log
    donne
ncdu 1.13 ~ Use the arrow keys to navigate, press ? for help                                                                                     
--- /var/log ------------------------------------------------------------------------------------------------------------------------------------
    5.9 GiB [##########] /mongodb                                                                                                                
  123.2 MiB [          ]  daemon.log.1
   40.8 MiB [          ]  mail.log.1
   40.8 MiB [          ]  mail.info.1
   29.8 MiB [          ]  syslog.1
   26.1 MiB [          ]  daemon.log
   23.5 MiB [          ]  mail.warn.1
   14.8 MiB [          ]  mail.log
   14.8 MiB [          ]  mail.info
   14.6 MiB [          ] /installer
   11.2 MiB [          ]  syslog
    9.2 MiB [          ]  mail.warn
    2.6 MiB [          ] /nginx
    1.9 MiB [          ]  syslog.2.gz
    1.7 MiB [          ]  syslog.3.gz
    1.6 MiB [          ]  syslog.4.gz
    1.6 MiB [          ]  syslog.7.gz
    1.6 MiB [          ]  cloud-init.log
    1.5 MiB [          ]  syslog.5.gz
    1.4 MiB [          ]  syslog.6.gz
    1.3 MiB [          ]  user.log.1
  276.0 KiB [          ]  yunohost-installation_20200602_142800.log
  260.0 KiB [          ]  auth.log.1
  172.0 KiB [          ] /calibreweb
  160.0 KiB [          ] /etherpad_mypads
  152.0 KiB [          ] /apt
 Total disk usage:   6.2 GiB  Apparent size:   6.2 GiB  Items: 615

J’imagine que c’est à ce niveau que ça coince, avec peut-être le soucis de mise à jour de MongoDB ?
Comment est-ce possible de corriger le tir ?

D’avance merci !

Essai de supprimer les anciens logs de mangodb et réessayer la mise à jour

Merci pour le retour.
Dans le dossier /var/log/mongodb/, j’ai ça :

$ $ ls -lh
total 5.9G
-rw-r--r-- 1 mongodb mongodb  25K Nov  9  2020 mongodb.log
-rw-r--r-- 1 mongodb mongodb 1.4M Nov  1  2020 mongodb.log.1
-rw-r--r-- 1 mongodb mongodb  13K Aug 30  2020 mongodb.log.10.gz
-rw-r--r-- 1 mongodb mongodb  18K Oct 25  2020 mongodb.log.2.gz
-rw-r--r-- 1 mongodb mongodb 3.2K Oct 18  2020 mongodb.log.3.gz
-rw-r--r-- 1 mongodb mongodb  42K Oct 11  2020 mongodb.log.4.gz
-rw-r--r-- 1 mongodb mongodb 1.2K Oct  6  2020 mongodb.log.5.gz
-rw-r--r-- 1 mongodb mongodb 1.1K Sep 29  2020 mongodb.log.6.gz
-rw-r--r-- 1 mongodb mongodb  133 Sep 20  2020 mongodb.log.7.gz
-rw-r--r-- 1 mongodb mongodb 2.0K Sep 18  2020 mongodb.log.8.gz
-rw-r--r-- 1 mongodb mongodb  85K Sep  6  2020 mongodb.log.9.gz
-rw------- 1 mongodb mongodb 5.9G Jun 13 11:57 mongod.log

Qu’est-ce que je dois supprimer ? N’y a-t-il pas un risque de supprimer celui qui prend tout la place : mongod.log ?

Pour info, le diagnostic me dit maintenant :

  • Le service mongod est failed :-(
  • Le service postgresql est failed :-(
    *L'espace de stockage / (sur l'appareil /dev/sda1) ne dispose que de 0 B (0%) d'espace restant (sur 19 GiB). Vous devriez vraiment envisager de nettoyer de l'espace !

Je supprimerai tout les fichiers du dossier.
Que donne sudo ncdu /?
Avec si peu d’espace, j’aurais surveillé de très près pour ne pas avoir 0 d’espace, voir j’aurais monté un dossier ftp, sftp pour les données.

Methode un peu bourrin:

rm /var/log/*.?
rm /var/log/*.gz
rm /var/log/*/*.?
rm /var/log/*/*.gz
journalctl --vacuum-size=300M
journalctl --vacuum-time=7d

Ça supprime les fichiers .1, .gz, et le journal de systemd au delà de 300 Mo et 7 jours.

ncdu 1.13 ~ Use the arrow keys to navigate, press ? for help                                                                      
--- / ----------------------------------------------------------------------------------------------------------------------------
   11.6 GiB [##########] /var                                                                                                     
    3.4 GiB [##        ] /usr
    1.4 GiB [#         ] /home
  870.0 MiB [          ] /lib
  819.8 MiB [          ] /opt
  419.4 MiB [          ] /root
  180.4 MiB [          ] /.cpanm
  116.3 MiB [          ] /boot
   12.2 MiB [          ] /etc
   10.3 MiB [          ] /run
   10.2 MiB [          ] /bin
    7.0 MiB [          ] /sbin
   92.0 KiB [          ] /tmp
e  16.0 KiB [          ] /lost+found
   12.0 KiB [          ] /dev
    8.0 KiB [          ] /media
    4.0 KiB [          ] /lib64
e   4.0 KiB [          ] /srv
e   4.0 KiB [          ] /mnt
    4.0 KiB [          ]  .rnd
.   0.0   B [          ] /proc
 Total disk usage:  18.8 GiB  Apparent size: 128.0 TiB  Items: 455589 

Je surveille quand même de temps en temps, mais là, ça monte anormalement vite… (au moment du premier message, il restait 3-400 Mo de libre sur le serveur).
Mais effectivement, je ne suis de fait pas administrateur, donc je dois manquer de réflexe…!

Ce serait intéressant d’avoir un bouton ‘server cleaning’ dans la webadmin > tools.

J’ai fait ça, mais le fichier mongod.log était toujours présent.
Je l’ai supprimé manuellement du coup, comme proposé par jarod5001.

Dans le diagnostic, du coup tout est rentré dans l’ordre (en ayant tout de même relancé manuellement le service postgresql).

Mais toujours impossible de mettre à jour Wekan…
Le log ici : https://paste.yunohost.org/raw/ziyapasako

Y a-t-il sinon un moyen de récuper les fichiers des mes ‘tableaux’ Wekan, puis désinstaller puis réinstaller Wekan ?

Peux-tu vérifier que le service mongod tourne ? S’il ne tourne pas, je suppose qu’il ne trouve plus son fichier log.

sudo -u mongodb touch /var/log/mongodb/mongod.log

Bon, comme finalement il n’y avait pas grand enjeu, j’avais supprimé Wekan en me disant qu’une réinstallation ‘propre’ me permettrait de le réutiliser.
Manque de pot, ça a bien été supprimé, mais impossible de réinstaller… :
https://paste.yunohost.org/raw/sucodoceho

Concernant le service mongod, ça indique dans le diagnostic que le service mongod est unknown, et en tentant de le redémarrer, j’obtiens ça :

Erreur: "500" Internal Server Error

Action: "GET" /yunohost/api/services/mongod/log?number=50&locale=fr

Message d'erreur :
Erreur serveur inattendue

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 494, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 599, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/service.py", line 555, in service_log
    result[log_path] = _tail(log_path, number)
  File "/usr/lib/moulinette/yunohost/service.py", line 817, in _tail
    lines = f.read().splitlines()
  File "/usr/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
MemoryError

J’ai également tenté la commande proposée (bien que le fichier mondog.log était bien présent), mais obtient aussi une erreur :

Sorry, user admin is not allowed to execute '/usr/bin/touch /var/log/mongodb/mongod.log' as mongodb on mondomain.tld

Tout ça semble bien lié à un souci sur MongoDB, et peut-être lié à ces issues :