J'ai un programme qui sort dans syslog avec un nom de tag / programme donné. Je voudrais pouvoir filtrer le trafic syslog de ce programme et l'envoyer à un serveur syslog distant, laissant tous les autres trafics syslog locaux.
Je peux envoyer tout le trafic au serveur distant avec
*.* @remote_server
Comment puis-je le filtrer?
Réponses:
Les fichiers de configuration de Rsyslog se trouvent dans:
/etc/rsyslog.d/*.conf
Rsyslog lit les fichiers de conf de manière séquentielle, il est donc important que vous nommiez votre fichier de configuration afin que la configuration spécifique soit chargée avant toute autre chose. Donc, nommez votre fichier en commençant par les premiers zéro, c.-à-d.
00-my-file.conf
. Il est préférable de créer un nouveau fichier pour que les mises à jour, etc. ne remplacent pas votre configuration locale.Exemple:
Ou si vous souhaitez simplement supprimer certaines entrées:
Dans votre cas: (UDP)
Ou (TCP)
Le
& ~
moyen d'arrêter le traitement des entrées correspondantes (ligne précédente uniquement!).Quelques informations plus générales:
Assurez-vous également que les filtres sont sur la même ligne:
Filtres utiles:
Les opérateurs:
Plus d'informations: http://wiki.rsyslog.com/index.php/Configuration_Samples
la source
On peut aussi essayer ça. Ça marche bien pour moi.
REMARQUE: ici
testing_docker
, la propriété du dossier doit être donnée à l'utilisateur syslog. Suivez la commande ci-dessous pour définir les autorisations.la source