2016-08-09 25 views
5

Obecnie używam ELK stos przewidziane przez Döcker tutaj:zapisywania plików dziennika python do logstash

https://github.com/deviantony/docker-elk 

do logowania w moim programie Pythona, jestem wykorzystując python-logstash Biblioteka:

https://github.com/vklochan/python-logstash 

Próbuję zapisać log do logstash (i wyświetlić kolejne dane w Kibana), korzystając z przykładu na stronie gitubowej python-logstash:

LOGGER = logging.getLogger('python-logstash-logger') 
LOGGER.setLevel(logging.INFO) 
LOGGER.addHandler(logstash.LogstashHandler(127.0.0.1, 5000, version=1)) 
LOGGER.error('python-logstash: test logstash error message.') 

Jednak nie pisze żadnych danych do ElasticSearch, zweryfikowanej przez:

http://127.0.0.1:9200/_search?pretty=true 

Istnieją również żadne komunikaty o błędach lub debugowania zwrócone przez bibliotekę python-logstash.

Czy ktoś może wskazać, co robię nieprawidłowo?

My logstash.conf zawiera następujące elementy:

input { 
tcp { 
     port => 5000 
     codec => json 
    } 
} 

output { 
    elasticsearch { 
     hosts => "elasticsearch:9200" 
     codec => rubydebug 
    } 
} 
+0

można dodać '' stdout {} w punkcie wyjścia? Czy widzisz swoje logi? Jeśli nie, czy możesz uruchomić 'tcpdump port 5000' i sprawdzić, czy widzisz logi Pythona? – Val

+0

Mam dokładnie ten sam problem. Czy znalazłeś jakieś rozwiązanie? –

+0

Mam ten sam problem :(Aby dodać pewne informacje: Wszystkie kontenery są osiągalne, a jeśli ręcznie przesłać ze źródła do logstash to działa –

Odpowiedz

0

Korzystając

LOGGER.addHandler(logstash.TCPLogstashHandler(127.0.0.1, 5000, version=1))