Erreur d'expédition rsyslog

J'ai un serveur centralisé rsyslog A, qui obtient un tas de magazines à travers TCP des serveurs X, Y, Z. Ensuite, il enregistre des fichiers sur le disque, mais également les transmet au serveur. logstash B (Sur un autre ordinateur). Pour relayer sur le serveur B logstash j'utilise TCP de la manière suivante:

$template logstash_json,"{\"@timestamp\":\"%timestamp:::date-rfc3339,jsonf:@timestamp%\",\"@source_host\":\"%source:::jsonf:@source_host%\",\"@source\":\"syslog://%fromhost-ip:::json%\",\"@message\":\"%timestamp% %app-name%:%msg:::json%\",\"@fields\":{\"facility\":\"%syslogfacility-text:::jsonf:facility%\",\"severity\":\"%syslogseverity-text:::jsonf:severity%\",\"program\":\"%app-name:::jsonf:program%\",\"pid\":\"%procid:::jsonf:processid%\"}}"

$WorkDirectory /var/cache/rsyslog # default location for work (spool) files - make sure it's created
$ActionQueueType LinkedList # use asynchronous processing
$ActionQueueFileName srvrfwd # set file name, also enables disk mode
$ActionResumeRetryCount -1 # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down

# Ship logs over TCP to logstash
*.* @@server_B:2514;logstash_json

Chaque fois que mon serveur logstash ne fonctionne pas ou indisponible, après un certain temps centralisé rsyslog sur le serveur A cesse de répondre et, par conséquent, mes serveurs X, Y, Z Ils commencent à accrocher ou à avoir des charges de manière inattendue, tandis que les services tentent d'écrire sur le journal du système.

Comment vous configurer rsyslog (sur le côté serveur et / ou du côté du client), Afin qu'il soit plus résistant à ce point de refus?

Question supplémentaire: chaque fois que le serveur logstash redémarrage rsyslog Ne reproduit pas de magazines stockés dans / var / cache / rsyslog, Est-ce que quelqu'un sait comment le configurer?
Invité:

Hannah

Confirmation de:

Vous devez configurer des files d'attente dans rsyslog, Discussion appropriée ici:

http://help.papertrailapp.com/ ... trail
C'est la partie correspondante de la réponse. - Je suppose que vous rechercherez des directives dans la documentation réelle de s:

Ajouter ce qui suit immédiatement avant

*.* @@logs.papertrailapp.com

et redémarrer rsyslog Doit effectuer votre travail:

$ ActionResumeInterval 10

$ ActionQueueSize 100000

$ ActionQueueDiscardMark 97500

$ ActionQueueHighWaterMark 80000

$ ActionQueueType LinkedList

$ ActionQueueFileName papertrailqueue

$ ActionQueueCheckpointInterval 100

$ ActionQueueMaxDiskSpace 2g

$ ActionResumeRetryCount -1

$ ActionQueueSaveOnShutdown on

$ ActionQueueTimeoutEnqueue 10

$ ActionQueueDiscardSeverity 0

Pour répondre aux questions, connectez-vous ou registre