2016-07-12 7 views
1

Ich stehe vor diesem Problem, da ich alle Indizes gelöscht habe. Dafür habe ich ausgeführt, um den folgenden Befehlfilebeat sendet Protokoll direkt an die elastische Suche nicht zu logstash

curl -XDELETE 'http://localhost:9200/*' 

filebeat.yml

filebeat: 
    prospectors: 
    - 
    paths: 
     - /var/log/syslog 
    - input_type : log 
     document_type: syslog 
    registry_file: /var/lib/filebeat/registry 
output: 
    logstash: 
    hosts: ["127.0.0.1:5044"] 
    bulk_max_size: 1024 

shipper: 
logging: 
    files: 
    rotateeverybytes: 10485760 # = 10MB 

und logstash Konfigurationsdateien Eingabe Config

input { 
     beats { 
     port => 5044 
     } 
    } 

und Ausgangs Config

output { 
     elasticsearch { 
     hosts => ["localhost:9200"] 
     sniffing => true 
     manage_template => false 
     index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
     document_type => "%{[@metadata][type]}" 
     } 
    } 

Problem ist, dass Protokolle sind nicht durch logstash kommend, kommen diese direkt, weil ich kein neues Feld in kibana hinzugefügt habe und im Falle eines APCH-Zugriffsprotokolls gibt es nur log als Wert vom Typ.

+0

In der Zukunft, bitte schneiden Sie alle diese Kommentare aus Ihrer Konfig –

Antwort

2

Sie haben soeben einen syntaktischen Fehler in Ihrem Filebeat Config haben, versuchen

Ändern
- input_type : log 

zu

input_type : log 

dass - könnte definitiv Ihre Konfiguration verderben, indem Sie einen zweiten Prospektor erklären. Wenn Ihre gesamte logstash-Verarbeitung nach Typ erfolgt, würden Ihre falsch eingegebenen Logs es durch logstash zu elasticsearch schaffen, ohne dass die Analyse durchgeführt wurde.

+0

wenn ich entferne - dann habe ich Datei laden Fehler @will und ich habe bereits die Filter des Typs in logstash – vandy

+0

Hallo @will Dank, dass war auch das Problem und andere Abstandsprobleme in filebeat.yml jetzt nach dem Entfernen - – vandy

-1

Wie Ihre Konfigurationsdatei zeigt, haben Sie die elasticsearch-Ausgabekonfiguration auskommentiert. Also, die Ausgabe, die Sie erhalten, ist nicht wegen elasticsearch es muss wegen logstash sein. Sie haben es als Kommentare hinzugefügt, aber dies getan werden soll:

elasticsearch: 
# Array of hosts to connect to. 
# Scheme and port can be left out and will be set to the default (http and 9200) 
# In case you specify and additional path, the scheme is required: http://localhost:9200/path 
# IPv6 addresses should always be defined as: https://[2001:db8::1]:9200 
    hosts: ["localhost:9200"] 
+0

OP gebeten, an logstash zu senden, speziell nicht gerade elastisch –

+0

@WillBarnwell Logstash hat die Konfiguration, um die Protokolle in elastische Suche so auszugeben, wenn Logstash nicht empfängt irgendwelche Daten, wie kommen Elasticsearch Daten erhält? Nun, was ich aus der ursprünglichen Frage abgeleitet habe, war, dass der Benutzer zwei Ausgänge haben wollte, eine durch elastische Suche und die andere durch logstash. – rresol

+0

Ich habe es! Danke, dass du darauf hingewiesen hast. – rresol

Verwandte Themen