Comment puis-je recevoir les journaux syslog à partir d'un système en réseau?

24

Je voudrais configurer Ubuntu pour recevoir des journaux depuis un routeur DD-WRT. L'écran de configuration du routeur contient la section suivante:

et sa documentation de journalisation sont les suivants:

  

Si vous souhaitez envoyer des journaux à un système distant, entrez l'adresse IP de   cette machine qui exécute également un utilitaire syslog (il doit être ouvert   prise réseau pour accepter les journaux envoyés par le routeur).

Je n'ai jamais (sciemment) utilisé Syslog auparavant. Que dois-je faire dans Ubuntu pour lui permettre de recevoir ces journaux?

    
posée ændrük 20.07.2011 - 21:06
la source

3 réponses

23

L’hôte qui reçoit les journaux doit exécuter un démon syslog configuré pour écouter les journaux distants. Il existe un certain nombre d'implémentations de syslog dans Ubuntu, mais rsyslog est généralement recommandé et devrait être installé par défaut. Je ne peux pas dire à partir de la documentation dans le lien que vous avez publié si DD-WRT envoie des journaux via TCP ou UDP, il peut donc être nécessaire de faire des essais pour trouver précisément les paramètres corrects, si vous êtes soucieux de réduire le nombre de réseaux accessibles. ports sur votre hôte.

Il y a deux manières de l'activer: la première est plus simple, mais peut nécessiter une réintégration lorsque le système est mis à niveau. La seconde est légèrement plus compliquée et peut entraîner des résultats déroutants si des modifications importantes sont apportées à la configuration de Syslog dans le cadre d'une mise à jour. Je choisirais la seconde, mais votre préférence peut varier.

La première consiste à éditer /etc/rsyslogd.conf et à supprimer le # initial des lignes suivantes:

#$ModLoad imudp
#$UDPServerRun 514

ou

#$ModLoad imtcp
#$InputTCPServerRun 514

Le second consiste à créer un nouveau fichier, peut-être nommé local-enable-tcp.conf in /etc/rsyslog.d/ , avec le contenu suivant:

# enable TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

Si vous souhaitez utiliser l’approche par fichier séparée et que vous avez besoin du protocole UDP, modifiez le contenu pour qu’il corresponde à la strophe UDP ci-dessus. Le nom de fichier spécifique n’est pas important, mais il est recommandé de le démarrer avec "local-" car cet espace de noms est réservé à la configuration de l’administrateur local et doit se terminer par ".conf", car seuls les fichiers se terminant Configuration de rsyslog.

Si vous préférez utiliser une autre implémentation de syslog, vérifiez la configuration et la documentation de cette implémentation: il est probable que le démon syslog soit configuré pour ne pas écouter sur le réseau par défaut. clairement documenté.

    
réponse donnée Emmet Hikory 21.07.2011 - 04:16
la source
6

Une autre option est d’utiliser syslog-ng, facile à utiliser et jusqu’à présent prêt à être utilisé!

sudo apt-get install syslog-ng

Après l’avoir installé, nous avons un fichier conf dans /etc/syslog-ng/syslog-ng.conf Donc, modifiez simplement ce fichier .conf avec nos paramètres, mais avant cela, effectuez une sauvegarde du fichier de configuration par défaut, cela peut être utile plus tard si vous souhaitez optimiser certains paramètres.

sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak

Maintenant, créez un nouveau fichier de configuration et éditez-le!

sudo touch /etc/syslog-ng/syslog-ng.conf
sudo nano /etc/syslog-ng/syslog-ng.conf

Alors, il suffit de coller cette configuration de base pour que ça marche aussi:

# Listening to incoming UDP Syslog connections
source mysource { udp(); };

#Add the syslog targets:

destination dest { file("/var/log/Cisco$YEAR$MONTH$R_DAY.log"); };
#destination dest_other_server { udp("1.2.3.4" port(514)); };
#Create the filters that will be used to determine what to do with the received syslog message

#filter filter { ( host("2.3.4.5") and level(notice) and match("username=.*@domain\.local" value("MESSAGE") flags("utf8" "ignore-case")) ); };
filter myfilter { ( level(notice) ); };
#And putting it all together:

log { source(mysource); filter(myfilter); destination(dest);  };

Facile comme vous pouvez le voir. Faites attention!

    
réponse donnée Alvarova 16.10.2013 - 16:57
la source
-2

En principe, vous exécutez un démon (appelé syslogd) sur votre serveur pour que le routeur dd-wrt enregistre les journaux.

Tutoriel- lien

    
réponse donnée user606723 20.07.2011 - 21:27
la source

Lire d'autres questions sur les étiquettes