How modify url name at dashboard


(paulo bruck) #1

Hi Guys

I would like to enable a dashboard like below:

http://xxx:5601/app/kibana#/dashboard/firewall?_g=()

instead

http://xxx:5601/app/kibana#/dashboard/07006327du4v?_g=()

How can I modify it?

Looking at metricbeat is exactly what I want..80)

best regards


(Tim Sullivan) #2

Are you just asking how to make a link that goes to a different dashboard?

You can make a Markdown visualization that has links to all your dashboard. Just put that visualization on all your dashboards, then you can navigate to each one.


(paulo bruck) #3

Thanks Sullivan , certainly I will use your ideia for other projects, but not in this case .

Everytime that I create a dashboard I can only have access it from kibana -> dashboar and then access the choosen dashboard.

I developt a panel and inside this panel I would like to redirect to the correct dashboard. As an example I have done a dash to firewall, another to squid and so on but I can't redirect because when I create a dash it uses a numeric number instead the dash name that I would like.

As an example for access firewall I have this link:
https://xxxxxxxx:5601/app/kibana#/dashboard/AV6kdFMt-dfJUKuC4aQ1?_g=()

and I would like as this link below:

https://xxxxxxxx:5601/app/kibana#/dashboard/firewall?_g=()

Where I should modify to have it?


(Tim Sullivan) #4

The URL uses the ID of the dashboard document from the .kibana index. You can see these by querying ES:

GET /.kibana/_search?filter_path=hits.hits._id,hits.hits._source.title
{
  "query": {
    "term": {
      "_type": {
        "value": "dashboard"
      }
    }
  }
}

Which gives you a result like:

{
  "hits": {
    "hits": [
      {
        "_id": "AV6hTec6DXI-GaL909af",
        "_source": {
          "title": "My Awesome Dashboard"
        }
      }
    ]
  }
}

You can have your panel code look at that query result data to reverse-lookup the ID value based on the title you're looking for.

Beyond that, there's no way to get Kibana itself to pull up a dashboard based on putting the title in the URL.

Hope that helps,
-Tim


(paulo bruck) #5

Hy Sullivan

Humm I have to disagree.. 80)

Have you ever seen metricbeat?

this is the url that I see dashboard:

https://zeus:5601/app/kibana#/dashboard/Metricbeat-Apache-HTTPD-server-status?_g=()

I don't know what magic they have done , but it works...80)))


(Tim Sullivan) #6

The Beats saved objects are created using scripts that defined the saved object in code and index them into the .kibana index. In Elasticsearch, you can index a document without specifying the ID and it'll autogenerate it for you (Kibana takes advantage of this for its saved objects), or you can specify your own ID, which is what Beats did.

https://github.com/elastic/beats/blob/master/metricbeat/module/apache/_meta/kibana/default/dashboard/Metricbeat-apache-overview.json#L136-L153

So the "title" you're seeing is still in the URL is still just the _id.

If you're comfortable defining your own dashboard data in a script and indexing that into Elasticsearch directly, you can feel free to, but you should be aware there is no public API for it and the contract could break without warning over an upgrade.That seems like a big price to pay just to have a human-readable dashboard ID, yet I know of folks outside the company that do it.


(Tim Sullivan) #7

I suppose another solution you could try:

These options are under Management -> Saved Objects in Kibana

  1. Export the dashboards
  2. Edit the _id fields in the downloaded export.json file.
  3. Delete the dashboards from Kibana that you re-ID'd
  4. Upload your modified JSON file using the Import button

I tried it just now and it worked.


(paulo bruck) #8

Great Sullivan

It worked here too 80)))

Can I do the same with visualizations ??

Thanks . It will help me a lot.


(Tim Sullivan) #9

If you change the ID of a visualization, it will break your dashboard. But if you change the ID of the visualization and also change where the visualization ID is referenced in the string of data in the dashboard's panelsJSON field, that would keep the reference intact.

So if you need to change your visualization ID, do so using a search-and-replace of that ID over the whole export.json file for the string you want.

I want to strongly emphasize that saved object data isn't tailored for being human-editable, so if your Kibana breaks, you would be on your own. It would be a good idea to take a snapshot of your .kibana index before making a lot of changes: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html


(paulo bruck) #10

hum interesting I 'll try and give a return about that.

Thanks again Sullivan


(system) #11

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