从pythonlogin到logstash

我有一些麻烦从Pythonlogin到logstash。

我使用sebp / elk( http://elk-docker.readthedocs.io )和python-logstash( https://pypi.python.org/pypi/python-logstash )作为日志处理程序的docker镜像

Docker镜像显示Beats界面的端口5044( http://elk-docker.readthedocs.io/#usage )。 每当我尝试login到这个端口没有任何反应 …有一些其他的端口,我应该使用?

我已经validationlogstash是这样做的:

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

Python代码(来自python-logstash的官方示例):

 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") 

我不知道为什么这不起作用。 这可能与Beats有关吗?

这与节拍有关,请使用这个docker工具:github.com/deviantony/docker-elk,一切都像一个魅力