begin process at 2012 05 28 21:28:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Réseau & Internet

 > 

Envoi de log (syslog) via le réseau en langage C/C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoi de log (syslog) via le réseau en langage C/C++

jeudi 24 juin 2010 à 13:46:20 | Envoi de log (syslog) via le réseau en langage C/C++

zaraki21

Bonjour,

je travaille actuellement sur le développement d'une application en C/C++ sur un dispositif embarqué(noyau Linux avec Busybox).
Cette application doit permettre de gérer les logs du dispositif(utilisation de la librairie syslog.h) et offrir la possibilité de les transférer à un hôte sous Linux ou Windows via une adresse IP. Le problème que je rencontre se trouve au niveau de la transmission des logs par le réseau. J'ai réussi par exemple à envoyer un fichier log par le réseau en utilisant les sockets mais le problème c'est que par exemple, pour l’hôte fonctionnant sous windows, je dois impérativement utiliser le logiciel Kiwi Syslog Server et dans ce cas là, je dois directement envoyer les messages log via le réseau pour qu'ils soient traités par le logiciel. Es ce quelqu'un connaît une manière de le faire avec des commandes en langage C ou une autre méthode ?
Merci d'avance pour vos réponses.
jeudi 24 juin 2010 à 23:19:55 | Re : Envoi de log (syslog) via le réseau en langage C/C++

ghuysmans99

Membre Club
Il n'y a pas que Kiwi qui permet de le faire : Syslog Server le permet aussi et il est open source. Mais je ne comprends pas pourquoi tu n'y arrives pas : la fonction syslog() ne te convient-elle pas ?

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
vendredi 25 juin 2010 à 08:41:34 | Re : Envoi de log (syslog) via le réseau en langage C/C++

zaraki21

En fait j'ai pas le choix pour le serveur Syslog, je suis en stage et on m'impose l'utilisation de Kiwi. Après pour ce qui est de la fonction syslog(), elle fonctionne, j'arrive à enregistrer les messages dans un fichier mais le truc, c'est que je voudrais savoir si c'est possible, au lieu d' enregistrer les messages dans un fichier dans le système, directement envoyer les messages logs à travers le réseau et les récupérer via Kiwi.
vendredi 25 juin 2010 à 11:17:40 | Re : Envoi de log (syslog) via le réseau en langage C/C++

ghuysmans99

Membre Club
Oui, c'est possible. Il te suffit d'utiliser un socket en respectant la RFC3164.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
vendredi 2 juillet 2010 à 12:38:49 | Re : Envoi de log (syslog) via le réseau en langage C/C++

zaraki21

En fait j'ai trouve le moyen de le faire via une commande interne de Busybox "syslog -R adresseIP:port" qui permet de rediriger les messages de log sur une machine distante avec l'adresse IP. Mon programme C/C++ utilise les fonctions syslog et j’exécute cette commande interne via "execl" et je récupère les logs sur le serveur Kiwi Syslog Server.
Par contre, j'ai essayé de le faire avec une machine sous Linux ; j'utilise pour ce faire une machine virtuelle sous Ubuntu (avec syslogd). Par contre dans ce cas ça ne fonctionne pas, je n'arrive pas à récupérer les messages log envoyés. J'ai configuré le fichier syslog.conf avec une ligne du genre "local1.* /home/documents/log" en testant avec des messages de logs de facility "local1" mais ça ne marche pas. Je pense qu'il faut configurer le serveur syslog sur Ubuntu mais je ne vois pas comment. J'ai vu aussi dans le man que pour que syslog accepte de recevoir des messages d'une machine distante, on doit le lancer avec le paramètre -r mais je ne vois pas comment le lancer avec ce paramètre étant donné que c'est un démon.
vendredi 2 juillet 2010 à 20:19:15 | Re : Envoi de log (syslog) via le réseau en langage C/C++

ghuysmans99

Membre Club
Tu dois modifier ça dans le script qui lance le démon. Il y a probablement une variable contenant les paramètres pour éviter de devoir modifier le script lui-même.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
mardi 6 juillet 2010 à 12:03:01 | Re : Envoi de log (syslog) via le réseau en langage C/C++

zaraki21

Merci pour l'information, en effet il y a une variable de configuration à modifier.
Maintenant j'ai un autre probleme : J'ai configuré ma machine virtuelle Ubuntu pour qu'elle puisse écouter les messages Syslog venant du réseau mais quand je lance mon programme C++ sur le dispositif embarqué, les messages Syslog sont bien envoyés via le réseau (j'ai pu observé les messages sur la machine virtuelle Ubuntu via Wireshark) mais ils ne sont pas récupérés dans les fichiers log du système. A mon avis c'est un probleme de droits sur les fichiers mais je sais pas comment contourner cela pour tester donc si tu as une idée.
mardi 6 juillet 2010 à 20:32:00 | Re : Envoi de log (syslog) via le réseau en langage C/C++

ghuysmans99

Membre Club
Ce n'est vraiment pas mon domaine de prédilection, malheureusement ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
jeudi 21 avril 2011 à 12:29:46 | Re : Envoi de log (syslog) via le réseau en langage C/C++

la3geb

bonjour
quelqu'un peux m'aider svp ou je peux trouver le code source de kiwi syslog?
merci bien
vendredi 22 avril 2011 à 13:03:25 | Re : Envoi de log (syslog) via le réseau en langage C/C++

zaraki21

Tu veux faire quoi au juste avec le code de kiwi syslog ?


Cette discussion est classée dans : réseau, log, envoi, langage, syslog


Répondre à ce message

Sujets en rapport avec ce message

script shell d' envoi log par mail [ par Negritson ] Bonjour à tous, Je voudrais envoyer directement par mail les logs d'erreurs d'un fichier sur lequel ecrivent d'autres programmes. Voila mon script: # Programmation réseau langage c [ par kamikase007 ] Bonjour, je suis débutant en programmation réseau mon probleme est le suivant: un serveur diffuse une video sur le reseau local,connaissant son adress [clos] programme matlab reconnaissance mot manuscrit arabe réseau de neurone MLP, carte SOM [ par allaoua ] Voila, j'ai vraiment besoin d'un code source sous matlab qui fait la reconnaissance d'un mot manuscrit arabe avec les réseau de neurone MLP et la cart langage c embarqué [ par kaoutarac ] bonjour tt le monde est ce que quelqu'un peut me donnees un cours et des exercices courigés en c embarque j en ai variment besion merci infiniment [BAR]Langage de programmation [ par kazzegrin ] Bonjour à tous , Je debute dans la programmation et je n'ai aucune idée du langage à choisir [^^confus2] Sachant que mon but final est de créer un pet les signaux en C [ par andoid ] Bonjour j'ai un probléme avec mon code, au faite je veux que mon fichier(fichier1.c) qui a le main dont le code est le suivant envoie un signal à un Représentation binaire d'un caractère [ par ghani206 ] [b][u]je doit le algorithme qu'il fait sa :[/u][/b] je donne un caractère quelconque et j'étulise un programme qui transféré le caractère donné en b


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales