Bonjour,
j'aimerais trouver un programme qui permette de transmettre des données vers une machine distante qui n'est pas accessible en permanence. Les données arrivent au fil de l'eau, et il faut les transmettre dès que possible.
Un programme de la machine source génère des données (entre 1 et 20 Kio par minute). Le programme que je recherche pourrait les lire sur l'entrée standard ou par un pipe. Si la machine cible est accessible, les données sont envoyées tout de suite. Si la machine cible n'est pas accessible, il faut les stocker sur le disque.
On stocke sur le disque car la machine cible peut être inaccessible pendant des heures, et en cas de redémarrage ou plantage de la machine source il ne faut pas perdre trop de données (mais en perdre un peu n'est pas grave).
Si j'ai bien expliqué, ça existe ce genre de chose ?
# des idées
Posté par NeoX . Évalué à 2.
un fichier est ecrit par l'appli A
ce fichier est lu/vidé par l'appli B
2°) syslog-ng ?
avec copie locale et envoie vers un serveur ?
par contre je ne sais pas comment ca se passe si cible plante
(est ce que ca renvoie les logs non envoyés)
3°) mysql avec replication vers cible ?
la replication enverrait tout ce qui a changé pendant la coupure de cible
[^] # Re: des idées
Posté par Marc-Olivier HUNZINGER . Évalué à 2.
[^] # Re: des idées
Posté par NeoX . Évalué à 2.
en meme temps il reste valable puisque capable de fonctionner via SSH
et ca pourrait donc bien lui servir
[^] # Re: des idées
Posté par gremous . Évalué à 1.
UUCP reste cependant trop compliqué pour mon modeste besoin.
Je vois dans wikipedia qu'il est indiqué comme étant en fin de vie. Bouhhh, nostalgie toussa.
# DRDB
Posté par tipmeabout . Évalué à 1.
http://www.drbd.org/home/what-is-drbd/
# un MOM
Posté par PLuG . Évalué à 2.
un MOM gère une queue de messages dans laquelle les informations sont stockées si la livraison immédiate n'est pas possible.
Il y a des produits commerciaux très connus (IBM MQSeries, tibco, ...).
tu peux te tourner vers JMS en java, ou activeMQ, ou ... tu trouvera bien l'implémentation qui te plait le mieux.
[^] # Re: un MOM
Posté par gremous . Évalué à 1.
Je pensais à quelque chose de très basique. Un utilitaire comme on dit. Là on est carrément dans les gros programmes qui ont des fonctionnalités probablement très étendues.
Je prends cependant note à propos de ActiveMQ qui me semble bien, mais pour d'autres besoins. Merci pour l'information :)
# un MOM
Posté par PLuG . Évalué à 3.
c'est un logiciel qui gère l'envoi des informations entre deux autres logiciels avec une queue pour les garder en spool si la transmission immédiate n'est pas possible.
chez les editeurs IBM MQSeries, Tibco, ...
en plus libre: OpenJMS, ActiveMQ, ...
tu trouvera bien l'implémentation qui te plait le mieux sur le web
[^] # Re: un MOM
Posté par PLuG . Évalué à 2.
mon premier post n'apparaissait pas j'ai cru que Firefox l'avait avalé tout cru !
désolé !
[^] # Re: un MOM
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
tu ecrit en local dans un/des fichiers + un cron qui test la presence de la cible (ping -c 1 par exemple) et qui envoi les données (scp).
ou tu fournit un service uucp et ta cible fetch les données a intervalle régulier via uucp par exemple (cf uucpssh le service de mail "asynchronisé") ou toujours via scp
[^] # Re: un MOM
Posté par PLuG . Évalué à 4.
Avec la méthode "fichiers" il va falloir définir le format des fichiers (xml ? ascii ? ...) et puis décider quand on peut l'effacer (quand considère t'on qu'il a bien été traité en face ?), et puis mettre en place un compte applicatif avec une clef ssh sans passphrase (scp), mais alors on voudra le bloquer dans un sous répertoire pour sécuriser la machine (chroot ?) ou alors ne pas utiliser scp mais plutôt une commande associée a la clef ...
Et puis cela va marcher ... jusqu'au jour ou le contenu du fichier ne sera pas prévu par le parser écrit a-la-rache, et que l'import du fichier va foirer. mais comme c'est mal écrit le script ne sait pas remonter l'erreur, ni sauter le fichier qui pose problème, du coup il se bloque.
Alors on va décider d'ajouter du monitoring, de créer les sondes cacti qui vont avec, et on va de nouveau engager 15 jours/homme sur ce problème pour "ne pas utiliser d'acronymes".
Si le besoin est ultra simple (et cela semble le cas), scp peut-être la bonne méthode, mais moi j'en ai marre des usines a gaz commandées par des crontab qui se lancent toutes les minutes, et qui s'enchainent de serveur en serveur pour faire passer les informations. C'est rapide a mettre en place mais c'est rapidement la foire totale sur les machines.
# Netcat
Posté par Mathias Bavay (site web personnel) . Évalué à 2.
Mathias
[^] # Re: Netcat
Posté par gremous . Évalué à 1.
J'utilise actuellement scp avec un script autour, et je pensais qu'il existait mieux que mon pauvre code à deux balles.
Ben je reste avec mon code à deux balles (qui marche).
[^] # Re: Netcat
Posté par NeoX . Évalué à 4.
car il peut reprendre un transfert quand la connexion revient ce qui evite de tout renvoyer
rsync avec les bonnes options et une rotation de fichier peut permettre de gerer proprement les attentes liés à l'absence de la cible, et la synchro quand elle revient
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.