目的:将脚本运行时的日志打印到ES,通过kibana展示,特别是后台运行时,可知道脚本运行状态。
0.配置logstash
cd /opt/server/logstash-5.5.0/config touch python-logstash.conf ---------------输入以下内容------------------- input { udp { port => 5959 #udp的端口 codec => json#输入的格式为json格式 } } output { elasticsearch { hosts => ["10.100.172.111:9200"] #es的地址 index => "python-message-%{+YYYY.MM.dd}" #存入到es的索引名 } stdout { codec => rubydebug } } #到logstash的bin目录下,启动Logstash [root@inte-es-node1 bin]# ./logstash -f ../config/python-logstash.conf
1.安装python-logstash模块
pip install python-logstash
2.示例代码
import logging import logstash import sys #host为logstash的IP地址 host = '10.100.172.111' test_logger = logging.getLogger('python-logstash-logger') test_logger.setLevel(logging.INFO) #创建一个ogHandler test_logger.addHandler(logstash.LogstashHandler(host, 5959)) test_logger.error('这是一行测试日志') # test_logger.info('python-logstash: test logs tash info message.') # test_logger.warning('python-logstash: test logstash warning message.')
3.通过kibana查看