Graylog игнорирует все журналы HTTP
Недавно я интегрировал наше PHP-приложение с использованием Monolog и добавил поддержку входа в Graylog. До недавнего времени я использовал виртуальную машину Graylog и успешно регистрировал всю отправленную ей информацию.
Теперь мы запустили полноценный выделенный сервер Graylog: сервер в настоящее время регистрирует информацию системного журнала через UDP, и снова он работает отлично.
Однако по разным причинам мы решили использовать HTTP-вход для приложения, над которым я работаю, поэтому я создал локальный HTTP-вход в Graylog (для записи я тоже попробовал глобальный). Однако журналы из этого приложения не найдены. В приложении не возникает никаких исключений, как, например, в случае ошибки подключения, плюс я использую те же самые настройки, что и на моей виртуальной машине, поэтому я вполне уверен, что проблема не в стороне приложения.
Что еще более странно, это то, что Graylog получает трафик на этот вход!
Справа в бледно-сером цвете видно, что на входе есть трафик, но обработано 0 байтов - или, ну, я не совсем уверен, что это значит.
Так что это значит? Как я могу отладить и исправить эту проблему?
РЕДАКТИРОВАТЬ: я не так уверен, что мой код клиента правильно... Сегодня я попытался отправить сообщение на сервер вручную через curl
:
curl -XPOST http://A.B.C.D:1200/gelf -p0 -d '{"short_message":"YO DUDEZ!", "host":"host-pc", "facility":"testHTTP", "_foo":"bar"}'
И сообщение было зарегистрировано правильно.
1 ответ
Я заметил кое-что странное: у меня были журналы за предыдущий день, которые были записаны около 9 часов вечера, через 5 часов после того, как я действительно зарегистрировал их. Так как я нахожусь в часовом поясе GMT-5, я подумал, что это может быть проблемой, и это было: сервер имел правильное время, но часовой пояс был GMT+0.
Поэтому, если кто-то сталкивается с такой проблемой, обязательно выполните поиск журналов в будущем: по умолчанию Graylog выполняет поиск только с текущего момента, вам нужно выбрать "Абсолютный" поиск из синего значка в левом верхнем углу и затем вручную выберите время начала и окончания.
TL; DR Изменение часового пояса сервера устранило проблему. Не забудьте проверить журналы в будущем.