2017-07-03 28 views
2

私はpythonからlogstashにロギングするときにいくつかのトラブルを抱えています。pythonからlogstashへのログ

Iロギングハンドラ

ドッカー画像ビーツ・インターフェース(http://elk-docker.readthedocs.io/#usage)のポート5044を露出させるようsebp /ヘラジカ(http://elk-docker.readthedocs.io)とPython-logstash(https://pypi.python.org/pypi/python-logstash)からドッカー画像を使用しています。私がこのポートにログオンしようとすると、はありません。が起こります...私は使用すべき他のポートがありますか?

私はlogstashこれを行うことによって動作することを確認しました:(のpython-logstashからの正式な例)

/opt/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["localhost"] } }' --path.data /root/data 

Pythonコード:

import logging 
from logging import StreamHandler 
import logstash 
import sys 

host = 'localhost' 

test_logger = logging.getLogger('python-logstash-logger') 
test_logger.setLevel(logging.INFO) 
test_logger.addHandler(logstash.TCPLogstashHandler(host, 5044, version=1)) 
test_logger.addHandler(StreamHandler()) 

try: 
    test_logger.error('python-logstash: test logstash error message.') 
    test_logger.info('python-logstash: test logstash info message.') 
    test_logger.warning('python-logstash: test logstash warning message.') 

    # add extra field to logstash message 
    extra = { 
     'test_string': 'python version: ' + repr(sys.version_info), 
     'test_boolean': True, 
     'test_dict': {'a': 1, 'b': 'c'}, 
     'test_float': 1.23, 
     'test_integer': 123, 
     'test_list': [1, 2, '3'], 
    } 
    test_logger.info('python-logstash: test extra fields', extra=extra) 
except: 
    print("Error") 

が、私はこれが機能しない理由見当もつかない。ビートとは関係がありますか?

+0

のように働いた、代わりにこのドッキングウィンドウを使用します。 https://github.com/deviantony/docker-elkなどすべてが魅力的に機能しました – user3594184

答えて

2

それは、ビートとは何かを持っている代わりに、このドッキングウィンドウを使用して行います。github.com/deviantony/docker-elkとすべてがそれはビートとは何かを持っている魅力

関連する問題