将 python 打印输出重定向到 graylog2
Redirect python print output to graylog2
我想要实现的是使用 graylog2(我'我目前使用旧版本,合二为一)。
所以我的第一个 docker 实例包含 graylog 服务器。我使用 Ubuntu 使用 Dockerfile 创建了第二个实例,并包含了打印当前时间的简单脚本:
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,不确定它是否正确,因为无论我选择哪个 address/port,都没有任何日志。现在我什至无法记录来自 bash 的简单回显,但我不确定问题本身在哪里。
您必须为 graylog2 容器绑定 udp 端口。
docker run -t -p 9000:9000 -p 12201:12201/udp graylog2/allinone
我想要实现的是使用 graylog2(我'我目前使用旧版本,合二为一)。
所以我的第一个 docker 实例包含 graylog 服务器。我使用 Ubuntu 使用 Dockerfile 创建了第二个实例,并包含了打印当前时间的简单脚本:
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,不确定它是否正确,因为无论我选择哪个 address/port,都没有任何日志。现在我什至无法记录来自 bash 的简单回显,但我不确定问题本身在哪里。
您必须为 graylog2 容器绑定 udp 端口。
docker run -t -p 9000:9000 -p 12201:12201/udp graylog2/allinone