好吧,我被要求将
log
写入现有的 Kibana。
我得到了一个
host
和一个port
,我想那是日志存储的host
和port
。
我被告知要搜索如何将
log
发送给该主机。仅此而已。
我一直在研究但无能为力。
到目前为止我的代码:
import logging
from logging import StreamHandler
import logstash
import sys
host = '1**.**.**.***' #this is the host I was given.
test_logger = logging.getLogger('venus-local')
test_logger.setLevel(logging.INFO)
test_logger.addHandler(logstash.TCPLogstashHandler(host, 5000, version=1))
test_logger.addHandler(StreamHandler())
try:
test_logger.error('venus-local: test logstash error message.')
test_logger.info('venus-local: test logstash info message.')
test_logger.warning('venus-local: 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('venus-local: test extra fields', extra=extra)
except:
print("Error")
当我运行上面的代码时,没有错误,它可以工作(没有例外)。但 Kibana 上没有任何变化。
我也遇到这个问题了。我的白Java同事给了我一个Logstash的主机和端口。主机和Kibana/ES的一样,他告诉我Logstash会自动将日志推送到ES,然后是Kibana。但是,我没有从我的 Python 脚本中收到任何错误消息,也没有收到任何索引 @ Kibana。