osm-fr / infrastructure

Handle tickets against osm-fr infrastructure
MIT License
21 stars 4 forks source link

Configuration nouveau tuileur renderd-bzh.vm.openstreetmap.fr #527

Closed MaelREBOUX closed 4 months ago

MaelREBOUX commented 5 months ago

À cause de #525 on dispose d'une nouvelle VM nommée renderd-bzh.vm.openstreetmap.fr sur le cluster TH3. Il s'agit maintenant de la configurer le tuileur afin de servir les services de cartes en langues minoritaires.

Le domaine servi est : tile.openstreetmap.bzh

base machine

Tuyauterie web

Tuileur

Bonus

MaelREBOUX commented 5 months ago

Le tuileur est opérationnel. y'a juste que je vois pas le monit mais j'ai l'impression que mon DNS local s'emmêle les pinceaux.

J'ai repris mes playbooks créés en juillet suite à la migration vers la VM actuelle afin de coller aux playbooks osm-fr.

C'est par ici : https://github.com/osm-bzh/osmbr-mapstyle/tree/master/ansible et je ferai une PR dans qqs jours.

MaelREBOUX commented 5 months ago

@jocelynj a écrit :

on va sur la base osm2pgsql de osmfr, qui est un peu chargée. Il faudrait installer une autre base sur le même host que renderd-bzh

Comme le tuileur actuel est cassé depuis début décembre et ne vit plus que sur le cache calculé en stock, je suis pour :

  1. basculer en production ce tuileur dès maintenant
  2. changer de base de données quand celle qui sera sur oms27 sera disponible
MaelREBOUX commented 5 months ago

Le problème d'absence du fichier /var/run/renderd/renderd.pidest revenu. Étrange. À moins qu'il soit uniquement généré en mode debug ?

Donc :

nano /lib/systemd/system/renderd.service 
[Unit]
Description=Daemon that renders map tiles using mapnik
Documentation=man:renderd
After=network.target auditd.service

[Service]
Type=forking
ExecStart=/usr/bin/renderd
PIDFile=/var/run/renderd/renderd.pid
User=_renderd

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
service apache2 stop
service renderd restart
service apache2 start

Le fichier renderd.pid apparaît ! À intégrer dans le role ansible.

MaelREBOUX commented 5 months ago

Sur les conseils de @jocelynj il faut utiliser le système d'override de systemd. De plus je m'aligne sur la configuration du tuileur rendu FR avec systemd qui gère le restart automatique.

Donc :

service renderd stop 
systemctl edit renderd
### Editing /etc/systemd/system/renderd.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file

[Service]
Type=forking
ExecStart=
ExecStart=/usr/bin/renderd
PIDFile=/var/run/renderd/renderd.pid
Restart=always
RestartSec=30s
RuntimeMaxSec=1d

### Lines below this comment will be discarded

### /lib/systemd/system/renderd.service
# [Unit]
# Description=Daemon that renders map tiles using mapnik
# Documentation=man:renderd
# After=network.target auditd.service
# 
# [Service]
# ExecStart=/usr/bin/renderd -f
# User=_renderd
# 
# [Install]
# WantedBy=multi-user.target
systemctl daemon-reload
service renderd start
service apache2 restart
MaelREBOUX commented 5 months ago

J'ai configuré un goaccess avec cron toutes les 5 minutes.

MaelREBOUX commented 5 months ago

Il ne manque plus que la remise en place de HTTPS.

MaelREBOUX commented 5 months ago

HTTPS en place. Ne reste plus que la purge auto des niveaux les plus bas si plus de place sur le serveur.

Marc-marc-marc commented 5 months ago

il y a régression sur le partitionnement avec tout à nouveau dans un / et des path non standard comparé à bzh202.vm qui avait remis les choses à leur place conventionnelle

MaelREBOUX commented 5 months ago

Bonjour @Marc-marc-marc Sur bzh202.vm tu avais unilatéralement procédé à des modifications sans m'en avertir. Merci de ne pas le faire sur cette vm dont je suis "responsable".

Il n'y a pas de régression : je stocke dans /data/tiles/ depuis toujours. En quoi est-ce embêtant ? Je t'ai déjà posé la question mais je n'ai jamais eu de réponse.

Le fichier par défaut du mod_tile de Apache indique /var/cache/renderd/tiles/. Faut-il partir sur cela ? Est-ce identique sur le tuileur osm-fr ? Je n'ai trouvé aucun fichier de configuration dans les scripts ansible donnant une indication. cf https://github.com/osm-fr/ansible-scripts/tree/master/roles/renderd

Note : il y a eu des ajustements divers faits avec @jocelynj qu'il me faut remettre dans le rôle ansible. Puis tester puis valider avant de PR vers le repôt ansible.

jocelynj commented 5 months ago

Concernant le stockage des tuiles, on utilise /var/lib/mod_tile, qui est l'ancienne configuration. Mais je vois que les renderd récents utilisent /var/cache/renderd/tiles/, qui semble plus logique. Du coup, utiliser ce dernier chemin pour les nouvelles installations serait pas plus mal.

Marc-marc-marc commented 5 months ago

Bonjour @Marc-marc-marc Sur bzh202.vm tu avais unilatéralement procédé à des modifications sans m'en avertir.

je ne comprend pas ce que tu veux dire à l'installation j'avais fais par exemple une partition /var/log c'est pas un choix de ma part qu'une installation standard linux met ces logs à cet endroit idem pour le répertoire des tuiles idem pour /data/project un standard depuis des années dans l'asso (libre à toi de l'utiliser ou pas) sur la nouvelle vm tout est à nouveau dans une partition unique

j e stocke dans /data/tiles/ En quoi est-ce embêtant ?

parce que c'est non standard, donc si qlq fait une opération (par ex lister la taille des tuiles), sur tous les tuileurs hébergés, il faut rajouter un "mais si c'est bzh alors va dans tel répertoire" pour prendre une cas réel : un serveur précédent avait saturé, si tu regardes la tailles des différents répertoires mais que chaque éléments courant est dans un répertoire principal non conventionnel, cela augmente le temps de compréhension S'il y a une raison pour changer, pq pas, mais si changer pour simplement avoir tout ailleurs que la convention, cela me semble contreproductiif

MaelREBOUX commented 4 months ago

Je viens de déplacer les tuiles vers /var/cache/renderd/tiles/ et de tout reconfigurer en conséquence.

Il me reste à modifier encore le monitoring car ce chemin est sur un point de montage à part donc là l'espace disque vient de tomber à 2,5 %.

MaelREBOUX commented 4 months ago

Voilà. J'ai reconfiguré monit pour le suivi de l'espace disque uniquement sur le point de montage de 100 Go dédié aux tuiles.

MaelREBOUX commented 4 months ago

Bon. Il faudrait dans l'absolu redéployer tout sur une nouvelle VM pour valider les modifications du playbook. Mais c'est une autre histoire avec je ferme ce ticket.