Kibana 5 vs 6 - viz

In kibana 5, viz used to be saved under _type=visualization. It was net because I could then programmatically insert viz from outside kibana by just writing to this index.

http://localhost:9200/.kibana/visualization/_search?pretty

In kibana 6, however, this does not exist anymore. Is this change associated with the doc type mapping changes in 6.0? Is there a way to query all kibana viz in 6.0?

Another question, I currently distinguish users by a unique email id field. In other words, I take the same dashboard and set filter by email id to make them unique to every user. Is this a recommended way to separate out users? This is to avoid creating a separate index for every user.

Dashboards are then made available via iframe. However, the embed URL does not seem to contain the filter parameters that I can programmatically set. Only the snapshot does. How else woudl I achieve this?

Yes in Kibana 6.0 , mapping types was removed. More info : https://www.elastic.co/blog/kibana-6-removal-of-mapping-types. You could query all kibana viz in 6.0 by "

GET .kibana/_search
{
  "query": {
    "match": {
      "type": "visualization"
    }
  }
}

To answer your second question, yes, you are right in using the filter to separate them out. It is also a recommended way.

I created a dashboard and added a filter. My filter was { "exists": { "field": "agent" } }
So, now when I click on share and see the dashboard iframe which is made available, I do see that the filter parameters which I had created is present in the embed URL snapshot.

<iframe src="http://localhost:5601/xov/app/kibana#/dashboard/c05d0f40-e6db-11e7-b9af-7d7085cfa10e?embed=true&_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-2y,mode:quick,to:now))&_a=(description:'',filters:!(('$state':(store:appState),exists:(field:agent),meta:(alias:!n,disabled:!f,index:'46ac5d30-e69b-11e7-be9c-a78ba1b3b7c8',key:agent,negate:!f,type:exists,value:exists))),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:3,i:'1',w:6,x:0,y:0),id:'09124cb0-e6db-11e7-b9af-7d7085cfa10e',panelIndex:'1',type:visualization,version:'7.0.0-alpha1')),query:(language:lucene,query:''),timeRestore:!t,title:mydash,viewMode:view)" height="600" width="800"></iframe>

Hope this answers your questions., if not please do let us know. Will be happy to help further.

Thanks
Rashmi

Thanks, Rashmi, for confirming the 6.0 setup.

On the iframe, maybe I misunderstood. I initially thought the "snapshot" URL was not the "live" version of the dashboard, but reading the help again, it looks like it is can be set to autorefresh and always provides the live data.

Can you confirm?

One final question -- is there a way to hide the "+filter" option that shows up in the kibana iframe? Can you point me to the section of the source code I need to suppress? I do not want my users to be able to alter the filters (for example filtering to another email id, i.e. another user) other than by just clicking on the viz themselves. This used to be the case in older Kibana versions.

cc /@timroes is this possible ? To hide the filter in the iframe ? Can this be configured?

Actually I need to forward this to @Brandon_Kobel he is more into Sharing then I am :slight_smile:

Currently, there isn't a way to hide the filter bar when embedded in an iframe. We have this enhancement request to lock-down Dashboards in these scenarios. @Akramach if you could add your requirements to this ticket, or give it a "+1" it'll help us prioritize it appropriately.

1 Like

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