У меня есть запущенный докер-контейнер Graylog2 на удаленной машине с открытыми портами 3000 и 12900 (3000 маршрутов к порту 9000 в докере), и я могу открыть веб-интерфейс Graylog на этом порту. Так что это работает так, как ожидалось. Но почему-то не могу добавить логи из-за пределов контейнера. Запуск этого из cli РАБОТАЕТ ВНУТРИ контейнера, но НЕ РАБОТАЕТ СНАРУЖИ:
curl -XPOST http://localhost:3000/gelf -p0 -d '{"short_message":"Hello there", "host":"example.org", "facility":"test", "_foo":"bar"}'
Запустив эту команду из-за пределов контейнера докеров, я получаю:
{"type":"ApiError","message":"HTTP 404 Not Found"}
Редактировать: Обнаружена некоторая информация о том, что эту проблему можно решить, установив для GRAYLOG_REST_TRANSPORT_URI общедоступный IP-адрес при запуске контейнера Docker. К сожалению, когда я запускаю его таким образом, я сталкиваюсь с другой проблемой - не могу запустить какие-либо входы для получения логов. Bind address: 0.0.0.0
Port: 3000
Выдает:
Request to start input 'project' failed. Check your Graylog logs for more information.
Edit2: моя тестовая среда перемещена на локальный компьютер, чтобы исключить возможные неправильные настройки сервера. Те же ошибки и те же проблемы.
Edit3: решил протестировать образ docker Graylog1, и с ним все действительно работает, как и ожидалось, с места в карьер! Так что в качестве резервной копии я мог бы использовать старую версию, но я бы предпочел избегать этого, если это возможно.