-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Authorization Headers missing for some requests in elasticsearch communication #8015
Comments
This bug affects us, too. Is there any way to work around this problem? Waiting for 4.0.0 is not an option: Our security staff expects us to switch on Elasticsearch authentication. However after switching on authentication Graylog is able to search the current index but fails to do so for older indices. |
I tried to reproduce this with 3.3.6 and ES 6.8.0 with authentication enabled, but it all looks good. I explicitly tested the related code parts of the listed stack traces and they all worked for me. Please retry this with Graylog 3.3.x. If you still see problems with authentication, please reopen this issue. |
Still affects 3.3.8. Even search is acting weird. If I just open /search - default search shows up normally. But after some time it all collapses to
|
Looks like somehow disabling |
@BcTpe4HbIu: Using node discovery does not work in conjunction with auth. FWIW, that is also noted explicitly in the docs. @AndreasUfert: Are you using node discovery as well? Disabling it and feeding the complete node list to GL would allow you to work around this issue. GL 4.0 will support node discovery + auth. |
@dennisoelkers yeah, sure. That's why I've disabled it. But errors are puzzling. Thanks. |
Graylog does not always provide the Authorization Header when communicating with elasicsearch, despite credentials being supplied in the connection string.
This leads to issues when the elasticsearch cluster requires authentication.
Current Behavior
This information was gathered by analysing packet dumps from the graylog to elasticsearch communication.
The following URIs where noted as most prominent/frequent examples of this behaviour:
GET /_cluster/health/graylog_deflector?timeout=60s
GET /_cluster/health/_all?local=true&timeout=60s
GET /
GET /_nodes/_all/http
GET /_cluster/health/graylog_deflector%2Cgl-events_deflector%2Cgl-system-events_deflector?timeout=60s
Notable is /_nodes/_all/http. It was observed in one instance that the first call was missing the header, the next and subsequent requests from the same connection had the header.
Here is a excerpt from one of the logs on startup:
Context
This was discovered in a running setup that had credentials in place but authentication on the elasticsearch side not yet activated. Resuming the processing after activating it on the elasticsearch cluster lead to the Graylog behaving erratic.
Reconstructing this in a lab lead to the rediscovery of #6212. After using the mentioned ways to work around that, the behaviour initially observed was reproduceable.
Your Environment
The text was updated successfully, but these errors were encountered: