Configuration de rsyslog

Résolu/Fermé
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - Modifié le 30 avril 2018 à 13:31
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 novembre 2024 - 2 mai 2018 à 00:48
Bonjour,

Je suis actuellement en train de configurer un serveur rsyslog, mais la conf que j'ai n'a pas l'air de fonctionner, je n'ai aucunes erreurs dans /var/log/syslog et aucun log n'a l'air de passer.

Conf Client pour l'envoie du fichier de log :

/etc/rsyslog.d/10-send-log-to-server.conf
module(load="imfile" PollingInterval="10")
module(load="omtcp")

ruleset(name="sendToLogserver") {
  action(
    type="omtcp"
    target="192.168.0.254"
    port="6514"
    protocol="tcp"

    queue.type="LinkedList"
    queue.size="5000"
    queue.maxDiskSpace="500M"
    queue.dequeuebatchsize="300"
    queue.saveOnShutdown="on"
    queue.fileName="emergency_syslog"
    action.resumeRetryCount="-1"
  )
}

input(
  type="imfile"
  File="/var/log/nginx/connection.log"
  Tag="nginx/connection.log"
  Ruleset="sendToLogserver"
)

Conf Serveur pour la reception du fichier de log :

/etc/rsyslog.d/10-save-from-client.log
module(load="imtcp")

input(
    type="imtcp" port="6514"
    ruleset="writeRemoteData"
)

ruleset(
    name="writeRemoteData"
    queue.type="fixedArray"
    queue.size="250000"
    queue.dequeueBatchSize="4096"
    queue.workerThreads="4"
    queue.workerThreadMinimumMessages="60000"
) {
    action(
        type="omfile" file="/var/log/remote.log"
         ioBufferSize="64k" flushOnTXEnd="off"
         asyncWriting="on"
    )
}

Le fichier de log /var/log/nginx/connection.log est généré via php, j'ai donc cette configuration présente sur le client :

/etc/rsyslog.d/20-write-from-php.conf
if $programname == 'php-log' then
{
/var/log/remote.log
stop
} 

Les ports IPTABLES sont bien ouverts (je n'arrive pas à établire de connexion avec
nc 172.19.0.254 6514

Mais je vois bien passer les packet dans tcpdump, je me suis dis que ça doit étre bon

-A INPUT -s 192.168.0.0/16 -p tcp -m tcp --dport 6514 -j ACCEPT


Je bloque complet, si quelqu'un à une piste :):)



1 réponse

mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 novembre 2024 7 805
30 avril 2018 à 08:57
Bonjour,

Je n'ai pas la réponse immédiate à ta question, car ça n'est pas ma spécialité, mais voici une démarche qui pourrait t'aider à avancer :

- commence par voir si tu arrives à faire communiquer le client et le serveur rsyslog avec un exemple simple et a priori testé, par exemple celui-ci

- si c'est bon, essaye d'adapter la configuration du client progressivement jusqu'à tendre vers ce que tu veux. Voici par exemple une configuration qui pourrait marcher.

Bonne chance
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
30 avril 2018 à 09:59
Hello,

Merci mamiemando de ta réponse.
Je ferme le sujet, j'ai pu trouver la solution à mon probléme : LA SYNTAXE

Il y a plusieurs syntaxes pour écrire les fichiers de conf, selon les versions, les compatibilités sont pas forcement géré.

J'ai pu entre autre, me servir (sur les rsyslog recents) de cette commande, pour le débug des fichiers de conf (parce que quand ton rsyslog ne démarre pas, tu n'as plus de log, donc pas de message de debug...)
rsyslogd -N1


A plus,
0
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 novembre 2024 7 805
2 mai 2018 à 00:48
Merci pour ton retour, n'hésite pas à reporter si tu as le temps les fichiers auxquels tu as abouti (en veillant à anonymiser les parties qui ont besoin de l'être), ça aidera sûrement les gens qui tomberont sur ce fil de discussion.

Bonne continuation
0