Différences entre les versions de « Logs-Sync »

De BlaxWiki
Aller à la navigationAller à la recherche
Ligne 5 : Ligne 5 :
Logs-Sync fonctionne un peu comme ((Scripts/Configs-Backups)).
Logs-Sync fonctionne un peu comme ((Scripts/Configs-Backups)).
Chaque jour, sur les machines clientes, le script /usr/local/Claranet/Logs-Sync/logs-sync.pl (lancé en root, depuis la crontab), effectue une connexion rsync+ssh vers vaucluse afin d'envoyer les fichiers de logs de la machine.
Chaque jour, sur les machines clientes, le script /usr/local/Claranet/Logs-Sync/logs-sync.pl (lancé en root, depuis la crontab), effectue une connexion rsync+ssh vers vaucluse afin d'envoyer les fichiers de logs de la machine.
[https://wiki.blaxeenprod.com/BENPERSO/files/script-clara/logs-sync.pl logs-sync.pl]
La configuration se trouve dans le fichier /usr/local/Claranet/Logs-Sync/logs-sync.conf
La configuration se trouve dans le fichier /usr/local/Claranet/Logs-Sync/logs-sync.conf
Le user distant sur vaucluse est claralogs.
Le user distant sur vaucluse est claralogs.

Version du 19 mars 2009 à 14:26

Logs-Sync est un systeme permettant de synchroniser des fichiers de logs ne pouvant pas etre geré par syslog vers une machine centrale. Il est utilisé a Claranet pour envoyer les logs des serveurs web vers ((Machines/vaucluse|vaucluse)).

Fonctionnement

Logs-Sync fonctionne un peu comme ((Scripts/Configs-Backups)). Chaque jour, sur les machines clientes, le script /usr/local/Claranet/Logs-Sync/logs-sync.pl (lancé en root, depuis la crontab), effectue une connexion rsync+ssh vers vaucluse afin d'envoyer les fichiers de logs de la machine. logs-sync.pl La configuration se trouve dans le fichier /usr/local/Claranet/Logs-Sync/logs-sync.conf Le user distant sur vaucluse est claralogs. Chaque machine cliente possède une clé ssh spécifique (dans /usr/local/Claranet/Logs-Sync/logs-sync.key*) Sur vaucluse le fichier ~claralogs/.ssh/authorized_keys contient la liste des clés publiques des machines, ce qui leur permet de se connecter. De plus la seule commande executable à l'aide des clés en question est le démarrage d'un serveur rsync.

Sur vaucluse, les fichiers de config sont copiés dans ~claralogs/Hosts/nom_machine/Logs Les logs des transferts rsync sont disponibles dans les fichiers ~claralogs/Hosts/nom_machine/rsync.log Un fichier ~claralogs/Schedule contient la liste des horaires auxquels sont executés les logs-sync.pl sur les machines clientes, cela permet d'etaler les copies pour ne pas surcharger vaucluse.

Installation

Sur la machine cliente

Le script necessite

  • package perl File-Temp (/usr/ports/devel/p5-File-Temp)
  • rsync > 2.5.4 (option --no-implied-dirs)


Setup-logs-sync.pl

  • perl ./setup-logs-sync.pl <nom_machine>

( par exemple sur bretagne : perl ./setup-logs-sync.pl bretagne )

  • Copier la ligne contenant la clé publique telle qu'indiquée par le script setup-logs-sync.pl
  • Le fichier de conf est /usr/local/Claranet/Logs-Sync/logs-sync.conf

Sur le serveur (vaucluse))

  • su root
  • cd ~claralogs
  • ./Setup-Logs-Host.sh bretagne 212.43.194.18

Le script ouvre un vim ~claralogs/.ssh/authorized_keys, et on doit remplacer la derniere ligne du fichier par la ligne copiée sur la machine client. L'adresse IP indiquée doit etre l'ip principale de la machine client - les rsync seront restreints à cette ip sur Vaucluse, par mesure de sécurité.

Ensuite lancer une 1ere fois le script de copie sur la machine cliente :

/usr/local/Claranet/Logs-Sync/logs-sync.pl

(nécessaire car la 1ere execution demande de confirmer la hostkey de Vaucluse, ce qui nécessite une interactivité)

Ensuite, toujours sur la machine client, on peut modifier la crontab pour activer la copie automatique. Une ligne en commentaire à été rajoutée par le script setup-logs-sync.pl, à la fin du fichier crontab. Remplacer <MINUTE> par la minute choisie, en fonction du fichier Schedule sur Vaucluse (ne pas oublier de mettre ce fichier à jour d'ailleurs...), et décommenter la ligne.