我在远程计算机上有一个正在运行的graylog2 docker容器,端口3000和12900已暴露(3000个路由到docker中的端口9000),我可以在该端口上打开graylog web UI。这样可以正常工作。但由于某种原因,我无法从容器外部添加日志。从INSI容器中的cli WORKS运行,但是从外部开始工作:
curl -XPOST http://localhost:3000/gelf -p0 -d '{"short_message":"Hello there", "host":"example.org", "facility":"test", "_foo":"bar"}'
从docker容器外部运行此命令我得到:
{"type":"ApiError","message":"HTTP 404 Not Found"}
编辑:在运行docker容器时,通过将GRAYLOG_REST_TRANSPORT_URI设置为公共IP,可以找到一些可能解决的信息。不幸的是,当我这样开始时,我遇到了另一个问题 - 无法启动任何输入来接收日志。 Bind address: 0.0.0.0
Port: 3000
它抛出:
Request to start input 'project' failed. Check your Graylog logs for more information.
Edit2:将我的测试环境移至本地计算机,以排除可能的服务器配置错误。得到同样的错误和相同的问题。
编辑3:决定测试graylog1码头工作者图像,然后一切实际上正常工作!因此,作为备份,我可以使用旧版本,但如果可能的话,我宁愿避免使用。
答案 0 :(得分:0)
您必须启动GELF HTTP输入才能通过HTTP接收GELF消息。
Graylog REST API 未提供此类输入。