OpenSearch-Dashboards: [Beats 7.12.1] Workaround for error while loading dashboards "Exiting: Kibana API is not available in Kibana version 1.0.0"
I set up Metricbeat 7.12.1 with the version work-around in OpenSearch. However I did not see anything similar regarding the version check against OpenSearch Dashboards. So I get this:
% metricbeat setup
Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling.
Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Exiting: Kibana API is not available in Kibana version 1.0.0
I bet I could load the dashboards manually into OpenSearch Dashboards which is what I am going to try next. However of course it would be nice to have it just work out of the box.
This is with OpenSearch 1.0.0 installed as tarball.
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 3
- Comments: 28 (3 by maintainers)
@electricbrain-code I just saw your article - it’s an incredibly good write up of the problem with metricbeats described in this issue https://www.electricbrain.com.au/pages/analytics/opensearch-vs-elasticsearch.php
Further to my recent post, I have succeeded in finding how metricbeat know the kibana/opensearch-dashboards API version:
curl -u admin:admin -XGET -H ‘Content-Type: application/json’ http://localhost:5601/api/status
This api url is in the go source file.
Lots of JSON comes back at you. Stuff like (note: “number”:“1.0.0” is the offending piece) : { “name”: “42f975ee9b4f”, “uuid”: “9bb7854c-ae61-4509-a4f6-e23f8be61e38”, “version”: { “number”: “1.0.0”, “build_hash”: “b15ad258e6960003e609a70889cda5fb39f90947”, “build_number”: 36473, “build_snapshot”: false }, “status”: { “overall”: { “since”: “2021-08-09T06:43:30.711Z”, “state”: “green”, “title”: “Green”, “nickname”: “Looking good”, “icon”: “success”, “uiColor”: “secondary” }, “statuses”: [ { “id”: “core:opensearch@1.0.0”, “message”: “OpenSearch is available”, “since”: “2021-08-09T06:43:30.711Z”, “state”: “green”, “icon”: “success”, “uiColor”: “secondary” }, etc, etc, etc, lots of etc’s
I have also run in to this very issue. There appears to be a fix already in place for OpenSearch server which goes in the opensearch.yml config file:
compatibility.override_main_response_version: true
This causes the version “number” to become 7.10.2 instead of 1.0.0 While this fixes a slightly different thing it is similar to this situation. Metricbeat will actually create the index template metricbeat-7.10.2 (or in my case 7.9.3) correctly. However I cannot find a corresponding setting for OpenSearch-Dashboards. I always get the kibana api 1.0.0 error. I can’t even find the Kibana api call that gets the version number 😦 I tried localhost:5601/api/features but I only get 404 errors.
Oh, I just meant the work-around for Elasticsearch version check in Metricbeat, so Metricbeat can load work with OpenSearch¹.
I do not have a work-around for loading the dashboards into OpenSearch Dashboards. I bet I can just export them and use curl to stuff them into OpenSearch Dashboards, but I did not do this yet.
Bug or enhancement depends on point of view I’d say. If you expect Metrictbeat 7.12.1 to work with OpenSearch Dashboards out of the box, including loading the dashboards, then I’d consider it a bug. Otherwise it would be an enhancement request, I’d say.
[1] The PUT request in: https://opensearch.org/docs/clients/agents-and-ingestion-tools/index/