Question

J'ai lu mes fichiers journaux (cron_log, auth_log, mail_log, etc.) en utilisant cette configuration :

file{
path => '/path/to/log/file/*_log'
}

Je lis donc mes fichiers journaux et vérifie :

if(path) ~= "cron"  -----match--------
if(path) ~= "auth"  -----match--------

Maintenant, j'ai un répertoire comme : Server1 Server2 Server3......Dans Server 1 il y a des sous-répertoires : authlog cronlog..... Dans authlog, il y a des sous-répertoires par date (comme 2014.05.26, 2014.05.27) qui contient enfin le fichier journal du jour, que je dois analyser.

Donc actuellement, j'avais un fichier de configuration qui permettait de lire des fichiers en utilisant *_log et j'utilise pour exécuter ce fichier de configuration et tous les fichiers journaux présents dans /path/to/log/file/*_log ont été analysés.

Maintenant, je dois lire dans de nombreux répertoires (comme expliqué ci-dessus).

Vais-je devoir écrire un fichier de configuration distinct pour chaque répertoire ??

Quelle est la meilleure façon d'y parvenir en utilisant logstash ??

Était-ce utile?

La solution

Les globes Ruby interprètent ** comme incluant tous les sous-répertoires.

Ainsi, par exemple, vous pourriez donner au file saisir un chemin tel que :

/path/to/date/folders/**/*_log
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top