-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Filebeat import dashboards returns internal server error #28773
Comments
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane) |
Pinging @elastic/integrations (Team:Integrations) |
I see these error in kibana log while filebeat setup is running:
|
I see this error in Kibana when trying to load the specific artifact as above:
This errors does not show up with earlier snapshots of Kibana and we haven't touched dashboard loading and the dashboards at all. |
We believe this is a kibana issue so going to transfer issue there to be looked at. |
Pinging @elastic/kibana-core (Team:Core) |
Pinging @elastic/kibana-gis (Team:Geo) |
@kvch from maps slack channel: |
Spoke to @nreese he says this should work, so he is looking to put a PR for it. Thanks! |
The exception is getting thrown in a map saved object migration which was merged on Oct 27th. The problem is not with the migration but the shape of the maps saved object provided by filebeat. attributes.layerListJSON is supposed to contain a string, not an array. Filebeat is providing an array. It looks like layerListJSON was converted from a string to JSON in #27901. @kvch I don't think this is going to work layerListJSON must be provided as a string. If I remove the migration, the map panel is broken in the dashboard with the same problem |
Closing since issue is with filebeat dashboard. Filebeat dashboard needs to pass maps saved objects with layerListJSON as a string and not an array. Regression caused by #27901 in beats |
I will transfer it back to beats repo |
I am cross posting if from Slack. We save dashboards in this JSON format to make reviewing easier for module developers. The dashboard object goes through several transformation before it is loaded to Kibana. LayerListJSON is transformed to string in this code: https://github.com/elastic/beats/blob/master/libbeat/dashboards/modify_json.go#L389-L418 since #28530 I still not believe that it is a Beats issue. Prevously, if a dashboard was not formatted correctly, Kibana responded with exact error messages where the formatting has to be changed. In this case we do not receive any errors on Beats side. |
I will have to agree with @nreese on this one. The error from #28773 (comment) seems rather explicit, the migration tries to parse
Hum, I'm surprised, as we (unfortunately) never had such kind of advanced validation for imports, even with the legacy dashboard import that was using |
Is it possible to get the NDJSON payload that beats sends to the Kibana saved objects import API? We can use that to decide if the payload is well formatted or not. I would also add that just because an import worked in a previous version doesn't mean that the payload was correct, it could be that the map was imported but that the maps app was unable to use the layer metadata (just speculating because I'm not familiar with the internals of the maps app). |
Where is this error referring to the attribute?
The error can be found here: #27988 |
@rudolf I will get more detailed logs for you in a few hours. Thanks! |
In the source code associated to the |
These are the logs I get: https://gist.github.com/kvch/dcef6cc6be4c0e8b262d5769f9a0df50 |
Ok, that was the wrong output. But I have checked it locally, and it seems it's indeed a Beats issue. Thank you for pointing me in the right direction. |
Backport to 8.0: #28796 |
The backport is merged. |
For confirmed bugs, please report:
Version: main
Operating System: Linux
Steps to Reproduce:
./filebeat setup
The text was updated successfully, but these errors were encountered: