Je veux recevoir les journaux de mon routeur (un ASUS RT68U) sur mon ordinateur portable (OSX 10.9). Il prend en charge syslog et OSX a ASL (apparemment un sur-ensemble de syslog). J'ai suivi les instructions dans OS X Lion comme serveur syslog mais la Console ne montre rien sous /var/log/network (bien que le répertoire soit visible).
Les étapes que j'ai suivies:
- Configurer l'adresse IP de mon ordinateur portable dans la page d'administration du routeur pour le syslogging.
- Mettre à jour le plist de syslog pour écouter sur le réseau.
- Créer le répertoire (/var/log/network) pour y enregistrer les journaux.
C'est là que je m'écarte un peu des instructions car avec de nombreuses choses dans /etc sur OSX, s'il a aussi une structure de sous-dossiers, il est préférable d'ajouter votre configuration là-dedans et de laisser celle principale intacte. Donc,
- Ajouté une configuration ASL. C'est là que je pense que réside le problème.
/etc/asl/asus-router
# Logs du routeur Asus
? [A= Host router.asus.com] store_directory /var/log/network uid=0 gid=20 mode=0644 format=bsd rotate=seq compress file_max=5M all_max=50M
# J'ai aussi essayé:
#? [= Host 192.168.1.1] …
#? [A= Host 192.168.1.1] …
#? [= Host router.asus.com] …
#? [= Sender router.asus.com] …
#? [A= Sender router.asus.com] …
#? [= IP router.asus.com] …
#? [A= IP router.asus.com] …
- Déchargé et chargé le plist de syslog pour prendre en compte la nouvelle configuration.
- Connecté au routeur via SSH. Cela ajoute utilement une entrée de journal et j'ai obtenu les informations suivantes:
Connection SSH au routeur
nvram show | grep log_level
size: 50509 bytes (15027 left)
log_level=6
ps | grep syslog
9358 iain 1488 S /sbin/syslogd -m 0 -S -O /tmp/syslog.log -s 256 -l 6 -R 192.168.1.140:514 -L
Enfin, j'ai désactivé le pare-feu et exécuté sudo tcpdump udp port 514
. Je peux voir les journaux entrants mais rien n'apparaît dans la Console même si je recharge le plist.
06:21:38.983497 IP router.asus.com.40420 > iains-air.syslog: SYSLOG authpriv.info, length: 86
J'ai même consulté RFC5424 pour voir si je pouvais trouver comment faire correspondre le nom d'hôte, mais comme toujours avec les RFC, ils sont assez abstraits. La seule chose à laquelle je peux penser est de modifier /etc/syslog.conf, mais je ne saurais pas avec quoi.
Toutes suggestions ou informations seraient grandement appréciées.
1 votes
La configuration du routeur est décrite ici et celle de OSX se trouve ici. Ajoutez des informations au post si cela ne fonctionne pas.
0 votes
@harrymc Il n'y a rien à ajouter car la seule chose que je n'ai pas faite est d'ajouter la ligne à /etc/syslog.conf, ce que j'ai fait et rien ne s'est passé, mais le fichier de configuration a "# Note that flat file logs are now configured in /etc/asl.conf" donc il semble que cette ligne soit de toute façon inutile. Je pense que le problème réside dans la conf asl mais il est difficile de trouver de bons exemples pour cela.
0 votes
@harrymc C'est celui que j'ai lié en haut de ma question ;-)
0 votes
Oups. Avez-vous tracé pour voir où est le problème ? Le choix est entre le routeur ne pas envoyer ou OSX ignorer (ou les deux). Je chercherais aussi tous les fichiers avec
asl
dans leur nom.0 votes
Sur Mac, exécutez
sudo lsof -nPi 4 | grep :514
pour voir si quelque chose écoute réellement sur le port syslog (514/UDP). Sinon, vous pourriez ne pas avoir modifié correctement votre plist de lancement de syslogd, ou vous ne l'avez pas déchargé et rechargé.0 votes
@Spiff Merci. Cette commande montre que launchd et syslogd écoutent tous les deux. Je suppose que c'est comme ça que ça devrait être, launchd met probablement en place et transmet à syslog mais peut-être que launchd ne devrait plus être un auditeur? J'ai vérifié que le fichier plist est valide, je l'ai déchargé puis rechargé en utilisant également launchctl.