2017-08-30 7 views
0

Bonjour, J'ai travaillé sur une journalisation automatisée à l'aide d'une pile élastique. J'ai filebeat qui lit les journaux du chemin et la sortie est définie sur logstash sur le port 5044. La config logstash a une entrée écoutant 5044 et la sortie poussant vers localhost: 9200. Le problème est que je n'arrive pas à le faire fonctionner, je n'ai aucune idée de ce qui se passe. Voici les fichiers:Impossible de connecter Filebeat à logstash pour la journalisation à l'aide d'ELK

Mon filebeat.yml chemin: etc/filebeat/filebeat.yml

#=========================== Filebeat prospectors ============================= 

filebeat.prospectors: 

# Each - is a prospector. Most options can be set at the prospector level, so 
# you can use different prospectors for various configurations. 
# Below are the prospector specific configurations. 

- input_type: log 

# Paths that should be crawled and fetched. Glob based paths. 
paths: 
- /mnt/vol1/autosuggest/logs/*.log 
#- c:\programdata\elasticsearch\logs\* 
<other commented stuff> 
#----------------------------- Logstash output -------------------------------- 
output.logstash: 
# The Logstash hosts 
hosts: ["10.10.XX.XX:5044"] 

# Optional SSL. By default is off. 
<other commented stuff> 

Mon parcours logstash.yml: etc/logstash/logstash.yml

<other commented stuff> 
path.data: /var/lib/logstash 
<other commented stuff> 
path.config: /etc/logstash/conf.d 
<other commented stuff> 

# ------------ Metrics Settings -------------- 
# 
# Bind address for the metrics REST endpoint 
# 
http.host: "10.10.XX.XX" 
# 
# Bind port for the metrics REST endpoint, this option also accept a range 
# (9600-9700) and logstash will pick up the first available ports. 
# 
# http.port: 9600-9700 
<other commented stuff> 
path.logs: /var/log/logstash 
<other commented stuff> 

Mon fichier logpipeline30aug.config chemin: /usr/share/logstash

input { 
    beats { 
    port => 5044 
    } 
} 

filter { 
    grok { 
match => { "message" => "\A%{TIMESTAMP_ISO8601:timestamp}%{SPACE}%{WORD:var0}%{SPACE}%{NOTSPACE}%{SPACE}(?<searchinfo>[^#]*)#(?<username>[^#]*)#(?<searchQuery>[^#]*)#(?<latitude>[^#]*)#(?<longitude>[^#]*)#(?<client_ip>[^#]*)#(?<responseTime>[^#]*)" } 
    } 
} 

output { 
    elasticsearch { 
     hosts => ["http://localhost:9200"] 
     index => "logstash30aug2017" 
     document_type => "log" 
    } 
} 

S'il vous plaît noter: ElasticSearch, logstash, filebeat sont tous installés sur la même machine avec ip: 10.10.XX.XX et je l'ai vérifié le pare-feu, ce n'est pas le problème à coup sûr.

J'ai vérifié que les services logstash, filebeat sont tous en cours d'exécution. Filebeat est capable de pousser les données vers elasticsearch quand elles sont configurées, et logstash est capable de pousser les données vers elasticsearch quand elles sont configurées.


Peut-être que la manière dont j'exécute le processus est la question .. je fais un bin/logstash -f logpipeline30aug.config en /usr/share/logstash pour commencer, puis je fais un /etc/init.d/filebeat start à partir du répertoire racine.

S'il vous plaît noter: Mise en forme peut être effectuée en raison de la mise en forme Stackoverflow question

Quelqu'un peut-il s'il vous plaît aider? J'ai essayé tout depuis 3 jours maintenant, j'ai aussi parcouru les documentations

Répondre

1

Votre fichier filebeat.yml semble invalide.

La section de sortie d'un manque indentation:

output.logstash: 
    hosts: ["10.10.XX.XX:5044"] 

En général, vérifier l'exactitude des fichiers de configuration pour assurer qu'ils sont ok.

Par exemple, pour filebeat, vous pouvez exécuter:

filebeat -c /etc/filebeat/filebeat.yml -configtest 

Si vous avez des erreurs, il explique ce qui est cette erreur afin que vous puissiez le corriger.

Vous pouvez utiliser une approche similaire pour d'autres services ELK ainsi

+0

il est là, il est un stackoverflow formatage question –

+0

Quelle est la sortie de filebeat? – whites11

+0

Rien ne se passe –