将python打印输出重定向到graylog2

时间:2016-08-13 00:09:14

标签: docker graylog2

我想要实现的是将python print从一个docker容器重定向到另一个(在python代码中没有任何修改),使用graylog2(我目前正在使用旧版本,一体化)。

所以我的第一个docker实例包含graylog服务器。我用Dockerfile创建了第二个实例,使用Ubuntu并包含打印当前时间的简单脚本:

from datetime import datetime
import time

date = datetime.now()
print(str(date.day) + '/' + str(date.month) + '/' + str(date.year))
while True:
   date = datetime.now()
   print(str(date.hour) + ':' + str(date.minute) + ':' + str(date.second))
   time.sleep(1)

我正在使用下面的命令启动graylog

  

docker run -t -p 9000:9000 -p 12201:12201 graylog2 / allinone

并启动第二个容器并运行我的脚本:

  

docker run --log-driver = gelf --log-opt gelf-address = udp://0.0.0.0:12201 test python -i ../ test.py

我正在尝试将我的日志发送到GELF UDP,不确定它是否正确,因为没有任何日志,无论我选择哪个地址/端口。现在我甚至无法记录来自bash的简单回声,但我不确定问题本身在哪里。

1 个答案:

答案 0 :(得分:1)

您必须绑定graylog2容器的udp端口。

  

docker run -t -p 9000:9000 -p 12201:12201 / udp graylog2 / allinone