2
我有一些麻煩從logthon登錄到python。從python登錄到logstash
我使用的碼頭工人圖像從sebp /麋鹿(http://elk-docker.readthedocs.io)和python-logstash(https://pypi.python.org/pypi/python-logstash)作爲記錄處理程序
的搬運工圖像暴露端口5044的節拍接口(http://elk-docker.readthedocs.io/#usage)。每當我嘗試登錄到此端口什麼都不會發生......有沒有其他的端口我應該使用?
我已驗證logstash作品這樣做:
/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有關嗎?
它確實有一些跟拍,用這個來代替搬運工: https://github.com/deviantony/docker-elk,一切都像魅力一樣 – user3594184