我目前正在使用由Docker提供的ELK堆栈:
https://github.com/deviantony/docker-elk
为了登录我的Python程序,我正在使用python-logstash
库:
https://github.com/vklochan/python-logstash
我正在尝试使用 python-logstash
GitHub 页面上的示例将日志写入 logstash(并在 Kibana 中查看随后的数据):
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.')
然而,通过以下验证可知,这并没有将任何数据写入ElasticSearch:
http://127.0.0.1:9200/_search?pretty=true
使用 python-logstash
库时,没有返回任何错误或调试信息。
有人可以指出我做错了什么吗?
我的 logstash.conf
包含以下内容:
input {
tcp {
port => 5000
codec => json
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
codec => rubydebug
}
}
stdout{}
吗?你能看到日志吗?如果不能,你可以运行tcpdump port 5000
并检查是否能看到 Python 日志飞过。 - Val