-
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
String fields longer than 32kb cannot be indexed #873
Comments
FWIW here's how "other" people deal with it: http://answers.splunk.com/answers/136664/changing-max-length-of-field.html |
+1 |
Removing this from 1.2, not gonna make it. Sorry. |
Found one else 'dummy' solution. Cut tail from long field into another field and then replace this field by any other field.
|
+1 Same issue: My Gelf Message: |
@kablz Please try creating a custom mapping (https://www.elastic.co/guide/en/elasticsearch/reference/1.7/mapping.html) for the |
@joschi Thanks for the links. |
@kablz The GELF specification can be found at https://www.graylog.org/resources/gelf/ and describes the names and types of mandatory fields in a GELF message. Additional fields (see specification) naturally don't have a fixed schema unless you enforce that on your GELF producers. |
You could try using an index template which includes a dynamic template that matches all string fields, then use 'ignore_above' to prevent the document from failing to index. Below is a template I use on another Elasticsearch cluster I feed logs to (not Graylog) where I was getting rejections from long fields, such as Java stacktraces. For my purposes, I didn't find it useful to index any field that has over 512 characters, but that value can be tweaked to whatever you like. The other settings could be removed or changed as desired. Indices Templates
From the docs:
|
@csquire Nice, and this would work on a custom template, but unfortunately i've not found a way to replace the store_generic template in the default graylog-internal template:
What would speak against adding a ignore_above as default?
|
I also hit this issue on Graylog 2.1.1, |
this is an issue for me also |
I hit this and my entire cluster dies (stops getting new messages). Shouldn't there be some kind of default limit to prevent cluster death? (Maybe this didnt kill cluster, still researching) |
Same as @listingmirror. Anytime we get a larger than normal java stack trace, it's bringing down Graylog completely. Not indexing documents anymore, no new logs. The only solution I've found so far is to |
I believe we are also running in to this issue. I hadn't connected the dots but I'm seeing indexing failures "Document contains at least one immense term in field="full_message"", and the node that threw that error is not currently processing incoming messages, just queuing them up, backed up by 2 million and counting. As with others, my primary resolution has been to restart the service. |
We were getting this issue in pre Graylog 2.3 versions and fixed the issue using @joschi's advice above (using custom mappings). However, with our recent upgrade to Graylog 2.3, the issue is back, even though a custom mapping is present in ES preventing the field from being indexed. Current Error
Old (Pre 2.3) Error
Pushed the following custom mapping to ES to address this, but no luck.
UPDATE
|
@Aenima4six2 thanks for above solution. |
Hi @csquire , I ran into the same problem when I'm storing a html template in elastic. I have tried not to index it, and to increase the size by using |
@Aenima4six2 recent version of ElasticSearch does not allow you to change the However using
|
Hi all, I have the same problem... |
Hello , Same issue , max_bytes_length_exceeded_exception for large text data.. Thanks |
any chance some eyes on this one could happen in the next decade? :) |
Elasticsearch has an upper limit for term length, so trying to index values longer than ~32kb fails with an error.
Find a way to store those values but not trying to analyze them.
The text was updated successfully, but these errors were encountered: