Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t通过HTTP端点登录到graylog2 docker容器_Docker_Graylog2_Graylog - Fatal编程技术网

Can';t通过HTTP端点登录到graylog2 docker容器

Can';t通过HTTP端点登录到graylog2 docker容器,docker,graylog2,graylog,Docker,Graylog2,Graylog,我在远程机器上有一个正在运行的graylog2 docker容器,端口3000和12900已公开(docker中3000条到端口9000的路由),我可以在该端口上打开graylog web UI。因此,这是预期的效果。但由于某些原因,我无法从容器外部添加日志。从cli运行此命令可以从容器内部工作,但不能从外部工作: curl-XPOSThttp://localhost:3000/gelf -p0-d'{“短消息”:“你好”,“主机”:“example.org”,“设施”:“test”,“_foo

我在远程机器上有一个正在运行的graylog2 docker容器,端口3000和12900已公开(docker中3000条到端口9000的路由),我可以在该端口上打开graylog web UI。因此,这是预期的效果。但由于某些原因,我无法从容器外部添加日志。从cli运行此命令可以从容器内部工作,但不能从外部工作:

curl-XPOSThttp://localhost:3000/gelf -p0-d'{“短消息”:“你好”,“主机”:“example.org”,“设施”:“test”,“_foo”:“bar”}'

从docker容器外部运行此命令,我得到:

{“类型”:“APIRERROR”,“消息”:“HTTP 404未找到”}

编辑:找到一些信息,在运行docker容器时,可以通过将GRAYLOG\u REST\u TRANSPORT\u URI设置为公共IP来解决此问题。不幸的是,当我这样启动它时,我遇到了另一个问题——无法启动任何输入来接收日志<代码>绑定地址:0.0.0.0
端口:3000
它抛出:

Request to start input 'project' failed. Check your Graylog logs for more information.
Edit2:将我的测试环境移动到本地计算机,以排除可能的服务器错误配置。同样的错误和问题


Edit3:决定测试graylog1 docker图像,使用该图像,一切都能立即正常工作!因此,作为备份,我可以使用旧版本,但如果可能,我宁愿避免使用。

您必须启动一个GELF HTTP输入,才能通过HTTP接收GELF消息


Graylog REST API不提供这种类型的输入。

您看到了什么错误?Drats,我完全忘记了!我用错误编辑了我的问题。我确实启动了一个GELFHTTP输入,这就是为什么curl POST在容器中工作。但我不能从容器外寄到它。有什么想法吗?你必须在网络接口上启动输入,该接口可以从Docker容器外部访问,并打开Docker容器中的相应端口。