## Che fais le ménache -- PeBecue <<DateTime(2012-04-15T23:08:46+0100)>>

= 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 :

{{{
<Bundle name="rsyslog" version="2.0">
  <Service name="rsyslog"/>
  <Group name="syslog-server">
    <ConfigFile name="/etc/rsyslog.d/listen_relp.conf"/>
  </Group>

  <Group name="syslog-client">
    <Group name="syslog-server" negate="true">
        <ConfigFile name="/etc/rsyslog.d/send_relp.conf"/>
    </Group>
  </Group>

  <Package name="rsyslog-relp"/>
</Bundle>
}}}

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 :

{{{
     <Group name="syslog-server"/>
}}}

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...) :

{{{
     <Group name="syslog-client"/>
}}}

Dans la portion services du fichier, dans la catégorie divers, rajouter deux nouveaux groupes :

{{{
   <Group name="syslog-server"
      comment="Serveur de centralisation des logs">
      <Bundle name="rsyslog"/>
   </Group>
 
   <Group name="syslog-client"
      comment="Serveurs qui ne centralisent pas les logs (cpt Obvious inside)">
      <Bundle name="rsyslog"/>
   </Group>
}}}

À 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.

= Nota =

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.

----
CatégorieCrans CatégorieCrans/LesServeur