Logstash veri yazmaya çalıştığında Elasticsearch ölüyor


9

Bir Raspberry Pi 2 (Nisan 2015 itibariyle en son Raspbian) kurulumum var, geçen hafta hem bir test ağında hem Esnek Arama hem de Logstash çalıştırıyordu (basit bir kurulum değil, ancak bir hafta boyunca kararlıydı!) Bugün makinemi yeniden başlattım ve işleri tekrar çalıştırmak için gerçekten zorlandım; ES ve LS'nin ikisi de bağımsız olarak çalışır, ancak LS çıkışını ES'ye aktarmaya çalıştığımda ES örneği açıklama yapmadan ölür. Amacım, standart çıkış eklentisi aracılığıyla hem çalışan hem de LS pompalama verilerini ES'ye almak.

Elastik Arama [v1.5.0]

Temel sorunun burada olduğuna inanıyorum. ES, üzerinden başlayabilir service elasticsearch startve çalışmaya devam eder, 9200 numaralı bağlantı noktasına HTTP istekleri yoluyla erişilebilir ve tüm yaşam belirtileri sağlıklı görünür. Bir şey (anlayabildiğim kadarıyla) bir dizine veri yazmaya çalıştığında , işlem ölür ve hata ayıklama günlükleri @ / var / log / elasticsearch / * hizmet hatasıyla ilgili hiçbir şey içermez. Her ikisi de ES işlemini sonlandı logstash (aşağıya bakın) yanı sıra kıvırmak ile ekleme denedim. Çalıştırdığım curl komutu curl -XPOST "http://localhost:9200/logstash-2015.04.05/records/" -d "{ \"type\" : \"specialRecord\" }".

Logstash [v1.4.2]

Şu anda bu basit yapılandırma ile çalışıyorum:

input {
    stdin { }
}

output {
        stdout { codec => rubydebug }
        elasticsearch {
                host => '127.0.0.1'
                cluster => 'elasticsearch'
        }
}

Diğer notlar

Denediğim bazı şeyler:

  • DEBUG / TRACE için Elastik Arama için günlük düzeylerini artırmayı denedim ve çıktı oldukça ilginç değil. Eğer yararlı olurdu günlükleri sağlamak için mutlu.

  • Hiçbir şeyi etkilemediği anlaşılan ES 256MB ve 512MB yığın alanı vermeye çalıştım. Ben de tüm bunlar sırasında bellek kullanımını izledim ve bellek yetersiz bir sorun gibi görünmüyor.

  • Bir sürü ağ değişkenini ayıklamak için multicast'i devre dışı bırakmayı denedim, ancak bu bir fark yaratmadı.

  • ES veri dizininin alan, yazma izinleri vb. Bol olduğundan emin oldum. ES path.datayüklendiğinde dizinde alt dizinler oluşturur, ancak ES işlemini yeniden başlattığımda dizin istatistiklerinin önerdiğinden beri hiçbir şey eklenmediğine inanmıyorum toplam belge sayısı sıfırdır.

Şimdi oldukça şaşırdım ve ihtiyacım olan (veya en azından bulabildiğim) hiçbir şeyin günlüğe kaydedilmesinden hayal kırıklığına uğradım. Burada neler olabileceğine dair bir fikrin var mı?


Günlüklerden yararlı bir şey almıyorsanız, tek seçenek (kaynaktan derlemek ve daha fazla hata ayıklama ifadesi eklemek dışında) sistem çağrılarını izlemek için strace kullanıyor gibi görünüyor. Bu, elasticsearch'ün neden öldüğüne dair bir ipucu verebilir. Sesi azaltmak için normal olarak başlayın ve ardından yazma işlemini başlatmadan hemen önce çalışan işlemi zorlayın.
Paul Haldane

Günlükleri olmayan bir çökme olması JNI sorunlarını hatırlatıyor, JVM işlem dökümü ( hs_err_PID.log) yok mu? ES 1.5 izleme için Sigar adlı yerel bir kütüphane kullanır, Raspberry ARM ile ilgili problemleri olabilir. Sigar'ı tek başına çalıştırmayı deneyebilir misin? Artık Sigar kullanmayan ES 1.5.2 veya ES 2.0 sürümüne geçmeye çalışacağım.
G Quintana

Takasý kapattýn mý?
rumbles

Elasticsearch, başlamak için 8G ram önerir. Bir keresinde bir Raspberry Pi 3 üzerinde çalıştırdım. Çalışıyor, ancak veri gönderme hızına biraz dikkat etmelisiniz ve ayrıca sorgular biraz zaman alabilir.
webwurst

Yanıtlar:


1

Daha fazla donanıma ihtiyacınız var

Raspi'niz (önemli ölçüde) iş yükünüz için güç altında olabilir.

Hiçbir şekilde bir Elasticstack uzmanıyım, ancak birkaç test senaryosunda ve sınırlı / hafif üretim kullanımı için ayarladım. Deneyimlerime göre, ilk kurulum nispeten daha az kaynak gerektirse de, dizin sayısı arttıkça sistem önemli ölçüde daha fazla disk GÇ ve CPU yükü üretir.

Bu, özellikle sistem kırıkları kurtarırken yeniden başlatmadan sonra belirgindir. Dizinleriniz çok büyük değilse, bu konuda yardımcı gibi görünen varsayılan günlük bölümler yerine aylık bölümler düşünebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.