## Che fais le ménache -- PeBecue <> <> = Ragnarok = Ragnarok est le serveur qui s'occupera (bientôt) de récupérer les logs des différents serveurs du Cr@ns. Il a reçu deux disques durs montés en RAID d'un teraoctet, et a été mis à neuf sous squeeze. = Configuration et services = Ragnarok a été installé sous squeeze, en debootstrap. Les services installés dessus sont : * La gestion des logs == Configuration sur Ragnarok == Ragnarok fonctionne avec rsyslog, il faudra donc passer tous les serveurs sous rsyslog pour qu'ils puissent envoyer leurs informations à celui-ci. Pour centraliser les logs, on utilise PostgreSQL, avec le paquet rsyslog-pgsql (la table par défaut s'appelle Syslog). L'envoi d'un serveur vers Ragnarok se fera à l'aide du protocole RELP (une surcouche de TCP, plus fiable), il faut donc veiller à installer le paquet rsyslog-relp. Une fois cela fait, on crée le répertoire rsyslog.d/ dans le dossier /etc/ s'il n'existe pas (a priori, il existe déjà, car rsyslog-psql crée un fichier psql.conf dans ce dossier). Et dedans, on va créer le fichier listen_relp.conf, que l'on va remplir ainsi : {{{ $ModLoad imrelp $InputRELPServerRun 20514 }}} La première ligne sert à charger le module imrelp, la seconde place Ragnarok en écoute sur le port 20514, en attente de logs. Cela fait, on relance rsyslog via la commande "sudo /etc/init.d/rsyslog restart". == (Re)Configuration des serveurs == Parlons de la reconfiguration des serveurs, par exemple, whatsupdoc. On s'assure d'abord que le paquet gérant les logs est rsyslog. Par ailleurs, il faut installer rsyslog-relp, pour que l'envoi des informations puisse se faire. Dans /etc/rsyslog.d, nous allons créer le fichier send_relp.conf, contenant les informations suivantes : {{{ $ModLoad omrelp *.* :omrelp:10.231.136.11:20514;RSYSLOG_ForwardFormat }}} La première ligne charge le module d'envoi des données en RELP, la seconde spécifie que tous les logs doivent être envoyés à Ragnarok (10.231.136.11), sur le port 20514, via le module omrelp, dans un format prédéfini (RSYSLOG_ForwardFormat). Il ne reste qu'à relancer rsyslog via la commande "sudo /etc/init.d/rsyslog restart". === Généralisation de la configuration via bcfg2 === On supposera ici que les modifications de bcfg2 se font via darcs, on notera donc / comme étant la racine du répertoire darcs bcfg2. Dans /Cfg/etc/rsyslog.d, créer le répertoire send_relp.conf/ et listen_relp.conf/. Dans send_relp.conf/, créer le fichier send_relp.conf, et y mettre les lignes mentionnées au dessus. Dans listen_relp.conf/ créer le fichier listen_relp.conf, et y mettre les lignes mentionnées au dessus également. Dans /Bundler/, créer le fichier rsyslog.xml, et le remplir comme suit : {{{ }}} Dans /Metadata/, modifier le fichier groups.xml, on va modifier le groupe "ragnarok" pour commencer, chercher dans le fichier l'occurence 'Group name="ragnarok"', et y ajouter la ligne : {{{ }}} Maintenant, on modifie le groupe "crans-common", chercher l'occurence 'Group name="crans-common"', et y ajouter la ligne (là où il faut, histoire que le fichier reste lisible...) : {{{ }}} Dans la portion services du fichier, dans la catégorie divers, rajouter deux nouveaux groupes : {{{ }}} À partir de là normalement, on peut enregistrer la configuration, et c'est terminé ! Penser à faire add sur les nouveaux fichiers avant de faire un record et de pousser. NB: On ne sait pas pourquoi, mais au début whatsupdoc n'envoyait pas les logs, puis finalement après quelques bidouillages, sans qu'on ait compris la cause, ça a marché... À creuser lors de la généralisation. == Pour les switchs == Les logs des switchs sont envoyés vers {{{ragnarok}}} le protocole syslog (en UDP), via la directive de configuration: {{{ logging 10.231.136.11 }}} Ragnarok doit donc également autoriser l'envoi de log via UDP, ce qui se réalise à l'aide d'un fichier supplémentaire ( ./rsyslog.d/listen_switches.local.conf ): {{{ $ModLoad imudp $UDPServerRun 514 $AllowedSender UDP, 127.0.0.1, *.adm.crans.org, 10.231.136.0/24 }}} On a quelques problèmes ouverts sur le champ fromhost enregistré dans la base pgsql: les ip des switchs sont utilisés au lieu de leur nom d'hôte. En désactivant, certaines directives de rsyslog, on arrive à enregistrer le nom d'hôte mais c'est alors les autres serveurs qui sont enregistrés par leur adresse IP ! NB: On utilise ici le protocole UDP, car c'est le seul disponible sur les switchs (probablement par soucis de légèreté). == Pour les bornes wifi == En raison de la limitation du firewall, les bornes wifi envoient leurs logs au routeur wifi {{{gordon}}}. Ceci se réalise en redémarrant {{{syslogd}}} sur les bornes via la commande: {{{ killall syslogd; syslogd -R 138.231.148.1 -C16 }}} Il serait envisageable, dans le futur, d'inclure cette configuration par défaut: en rajoutant les directives suivantes dans {{{/etc/config/system}}} (catégorie {{{config}}}) {{{ option log_ip 138.231.148.1 option log_type file option log_file /dev/null }}} {{{gordon}}} doit de plus être configuré pour recevoir ces logs UDP: {{{ $ModLoad imudp $UDPServerRun 514 $AllowedSender UDP, 127.0.0.1, 138.231.148.0/24 }}} Ce dernier les transmet alors à {{{ragnarok}}} de la même manière que ses propres logs. ---- CatégorieCrans CatégorieCrans/LesServeurs