URL Template

Hi all,
I'd like to have reference from one filed in the first index discovery page to the second index in another discovery page (search). So a made new discovery page (search) for second index , selected appropriate fields and saved this. Then i turned to management-index patterns-first index- edit my field and choose URL Format. Here is my URL Temlate:

/app/kibana#/discover/dc9eed20-e3b8-11e7-86b9-0f428dc7955f?_g=(refreshInterval:('$$hashKey':'object:5445',display:Off,pause:!f,section:0,value:0),time:(from:now-6M,interval:'5s',mode:quick,timezone:Europe%2FMinsk,to:now))&_a=(filters:!(),interval:auto,query:(language:lucene,query:'tier:%22{{value}}%22'),sort:!(datetime,desc))

This template redirects me to my second index discovery page (search) that i have configured previously. Where discover/dc9eed20-e3b8-11e7-86b9-0f428dc7955f is a UUID of my pre-configured discovery page (search).
My question: Is there a way to unified this apealing to the second discovery page (search). I will have many servers where my kibana will be set up, and i dont want to do a lot of manual configuration work, i want to export my configured searches only once and then import to all of my servers. In this case i need to appeal to the discovery page (search) by Search_Name for example, because on each server there will be different UUID and i will have to paste it manualy.

Thanks.

Starting in 6.1 there's a to do this with dashboards using a query parameter (and searches can be added to a dashboard), see https://github.com/elastic/kibana/pull/14760. If you're on a different version, I think the best plan is to manually define the id.

If you export a saved search it looks like

[
  {
    "_id": "f9620c40-eb46-11e7-a9d8-e587fa5d189d",
    "_type": "search",
    "_source": {
      "title": "New Saved Search",
      "description": "",
      "hits": 0,
      "columns": [
        "_source"
      ],
      "sort": [
        "@timestamp",
        "desc"
      ],
      "version": 1,
      "kibanaSavedObjectMeta": {
        "searchSourceJSON": "{\"index\":\"20801930-d552-11e7-845c-8fa66401bfa0\",\"highlightAll\":true,\"version\":true,\"query\":{\"query\":\"\",\"language\":\"lucene\"},\"filter\":[]}"
      }
    }
  }
]

As long as the _id fields are consistent you shouldn't have to do any manual changes.

1 Like

Thanks for the fast answer, i really missed the consistent fields.

By the way, in this topic How to import index-pattern in kibana 6 using API? import/export api was discussed. Could you also provide me an explanation please: if i have previously exported file with all saved objects (searches, dashboards, indecies) export.json, have i an ability to import an entire JSON file on another server by the POST curl request or i should Post it one by one according to its type (dashboard, searches and so on). If yes, answer please how? And what about mapping in this case? it seems, i should previously post index mapping.

You want to push the documents separately, but you can do it in one request using elasticsearch's bulk API, https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html.

With that said, if you want to export the exact same kibana settings to several servers using a reindex is another option, https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html#reindex-from-remote.

You will need to imports mappings if you're configuring these servers before Kibana starts. If kibana starts first then it'll push mappings up to the .kibana index (which happens on startup if it doesn't exist).

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.