2016-05-11 11 views
1

Ich versuchte Load Balancing mit 2 verschiedenen Logstash Indexer Servern, aber wenn ich sagen, 1000 Zeilen zu meinem Protokoll, filebeats sendet Protokolle ausschließlich an nur einen Server (ich stdout und aktiviert überprüfen visuell Ausgabe sehen, welche logstash Server die Log-Ereignisse)FileBeat Load Balancing zu mehreren Logstash (Indexer) Servern

Mein filebeats conf empfängt:

filebeat: 
    prospectors: 
    - 
     paths: 
     - "D:/ApacheLogs/Test/access.*.log" 
     input_type: log 
     document_type: my_test_log 
     scan_frequency: 1s 
    registry_file: "C:/ProgramData/filebeat/registry" 
output: 
    logstash: 
    hosts: ["10.231.2.223:5044","10.231.4.143:5044"] 
    loadbalance: true 
shipper: 
logging: 
    files: 

wird es Unterstützung hinzugefügt persistente TCP-Verbindung auf filebeats zu deaktivieren? Ich kann AWS ELB derzeit nicht verwenden, da es aufgrund einer festen Verbindung immer an einen Logstash-Server gesendet wird, bis es zurückgesetzt wird. Ist das nicht die richtige Architektur dafür? Soll ich stattdessen an die Redis Queue senden? In Filebeats habe ich keine Idee und konnte auch keine Dokumentation finden, wie man sie an die Redis Queue sendet.

So etwas wie diese hat nicht funktioniert, kann ich nicht einmal einen Weg finden, es zu debuggen, weil filebeats keine Protokolle verlässt

filebeat: 
    prospectors: 
    - 
     paths: 
     - "D:/ApacheLogs/Test/access.*.log" 
     input_type: log 
     document_type: my_test_log 
     scan_frequency: 1s 
    registry_file: "C:/ProgramData/filebeat/registry" 
output: 
    redis: 
    # Set the host and port where to find Redis. 
    host: "logstash-redis.abcde.0001.usw2.cache.amazonaws.com" 
    port: 6379 
shipper: 
logging: 
    level: warning 
    # enable file rotation with default configuration 
    to_files: true 
    files: 
    path: C:\temp\filebeat.log 
  • Version: Auf Windows-Server: FileBeat (Windows - Version filebeat 1.2.2 (386)) Auf logstash Indexer Server: logstash 2.3.2

  • Betriebssystem: Windows-Server: Microsoft Windows NT 6.0.6002 Service Pack 2 Logstash Indexer Server: RHEL Linux 4.1.13-19.30.amzn1.x86_64

+1

Sie können -e verwenden, um stderr zu protokollieren: https://www.elastic.co/guide/en/beats/filebeat/ Aktuell/Dateibeat-Befehlszeile.html – alpert

Antwort

1

Filebeat sollte dies wirklich lösen, aber da sie es werben als so leicht wie möglich zu sein, nicht halten Sie Ihren Atem.

Ich weiß nicht, wie einfach es HAProxy auf Windows zu bekommen, aber es sollte Ihr Problem lösen, wenn Sie es installiert bekommen:

https://serverfault.com/questions/95427/windows-replacement-for-haproxy

Verwenden Layer4 Round-Robin Load Balancing. Wahrscheinlich möchten Sie auf jedem Rechner mit Filebeat einen HAProxy installieren. 1 HAProxy-Frontend hört auf localhost: 5044 und es wird mehreren Logstash-Backends zugeordnet.

0

Sie können Ihre filebeat Ausgang Redis über unter Config senden:

output: 
    redis: 
    host: "host" 
    port: <port> 
    save_topology: true 
    index: "index-name" 
    db: 0 
    db_topology: 1 
    timeout: 5 
    reconnect_interval: 1