2016-03-30 11 views
0

Çalışan bir Redis destekli ELK yığınım var, ancak ara sıra, ElasticSearch bir nedenle veya başka bir nedenle kullanılamıyorsa bir sorun yaşayacağım. Günlük olaylarınLogstash + Elasticsearch failover yerel olarak ya da yeniden deneyin

Akış:

  1. Sunucular
  2. Sunucular yerel Redis hizmetine
  3. bir Logstash sunucusuna uzaktan
  4. Logstash-gelen yazar iterek, loglamak, log-kurye çalıştırmak günlükleri oluşturmak
  5. Redis, işlenecek olan ve arabellek olarak davranan olayları tutuyor
  6. Redis kuyruğundaki Logstash-giden okları grok ve diğer filtreleri çalıştırır, sonra da Elasticsearch kümesine çıkar.

logstash-incoming.conf

input { 
    courier { 
    port => 123 
    transport => "tcp" 
    } 
} 
output { 
    redis { 
    host => "127.0.0.1" 
    data_type => "list" 
    key => "logstash" 
    } 
} 

logstash-outgoing.conf

5. adımda bir başarısızlık varsa, olaylar REDIS dan attı edilir
input { 
    redis { 
    host => "127.0.0.1" 
    data_type => "list" 
    key => "logstash" 
    } 
} 
output { 
    elasticsearch { 
    hosts => "elasticsearchcluster.local" 
    } 
} 

, Logstash üç çalışacağız zamanlar, daha sonra toplu veri yükünü karartmak, veri koleksiyonumda deliklere neden olmak.

  1. çok daha cömert bir şeye 3 zamanlardan bekleme x 2 saniye yeniden deneme dışarı uzatın:

    için ya bir yolu var mı.

  2. Hatalı yükleri diske yazarak, sorun giderildiğinde bunları ElasticSearch içine geri göndermemi sağlayın.
  3. İdeal olarak, her ikisi de. Ben ikisinin de yazma anında düşünüyorum

cevap