2017-10-03 2 views
0

Mon problème

Considérons la structure de répertoire suivant:Filebeat: Surveiller deux niveaux de la hiérarchie des répertoires

/var/log/quodo/campaigns/deployment_29/campaign-32/users.log 
/var/log/quodo/campaigns/deployment_29/campaign-12/ads.log 
/var/log/quodo/campaigns/deployment_55/campaign-77/users.log 
/var/log/quodo/campaigns/deployment_55/campaign-37/ads.log 
... 

Je voudrais vous connecter navire tous les journaux sous /var/log/quodo/campaigns/<whatever1>/<whatever2> à l'aide ElasticSearch Filebeat.

Filebeat does not feature recursive monitoring of a directory:

Pour récupérer tous les fichiers à partir d'un niveau prédéfini de sous-répertoires, le motif suivant peut être utilisé: /var/log/*/*.log.

Ceci récupère tous les fichiers .log des sous-dossiers de /var/log. Il ne récupère pas les fichiers journaux du dossier /var/log lui-même. Actuellement, il n'est pas possible de récupérer récursivement tous les fichiers de tous les sous-répertoires d'un répertoire.

Qu'ai-je essayé

filebeat.prospectors: 
- input_type: log 
    paths: 
    - /var/log/quodo/campaigns/*/*/* 
    scan_frequency: 1s 
output.elasticsearch: 
    <connection data> 

Ma question

Puis-je utiliser deux niveaux de * dans la hiérarchie des répertoires dans la configuration Filebeat?

Répondre

1

Ci-dessous est ma version filebeat

$ filebeat.sh --version 
filebeat version 5.6.2 (amd64), libbeat 5.6.2 

Et j'ai essayé ci-dessous config

filebeat.prospectors: 

- input_type: log 

    paths: 
    - /var/log/**/**/* 


output.console: 
    pretty: true 

logging.level: debug 

Et il fonctionne très bien pour moi

{ 
    "@timestamp": "2017-10-07T18:12:17.694Z", 
    "beat": { 
    "hostname": "vagrant", 
    "name": "vagrant", 
    "version": "5.6.2" 
    }, 
    "input_type": "log", 
    "message": "tarun", 
    "offset": 6, 
    "source": "/var/log/test1/test3/test.log", 
    "type": "log" 
} 
+0

Neat. Va lui donner un essai routier dès que possible. –

+0

Fonctionne. Merci beaucoup! –