- Kibana Guide: other versions:
- Introduction
- Set Up Kibana
- Breaking Changes
- Getting Started
- Discover
- Visualize
- Dashboard
- Timelion
- Machine Learning
- APM
- Graphing Connections in Your Data
- Dev Tools
- Monitoring
- Management
- Reporting from Kibana
- REST API
- Kibana Plugins
- Contributing to Kibana
- Limitations
- Release Highlights
- Release Notes
- Kibana 6.4.3
- Kibana 6.4.2
- Kibana 6.4.1
- Kibana 6.4.0
- Kibana 6.3.2
- Kibana 6.3.1
- Kibana 6.3.0
- Kibana 6.2.4
- Kibana 6.2.3
- Kibana 6.2.2
- Kibana 6.2.1
- Kibana 6.2.0
- Kibana 6.1.4
- Kibana 6.1.3
- Kibana 6.1.2
- Kibana 6.1.1
- Kibana 6.1.0
- Kibana 6.0.1
- Kibana 6.0.0
- Kibana 6.0.0-rc2
- Kibana 6.0.0-rc1
- Kibana 6.0.0-beta2
- Kibana 6.0.0-beta1
- Kibana 6.0.0-alpha2
- Kibana 6.0.0-alpha1
Considerations for basePath
editConsiderations for basePath
editAll communication from the Kibana UI to the server needs to respect the
server.basePath
. Here are the "blessed" strategies for dealing with this
based on the context:
<img>
and <a>
elements
editWrite the src
or href
urls as you would without the base path, but then
replace src
or href
with kbn-src
or kbn-href
.
<img kbn-src="plugins/kibana/images/logo.png">
Getting a static asset url
editUse webpack to import the asset into the build. This will give you a URL in JavaScript and gives webpack a chance to perform optimizations and cache-busting.
// in plugin/public/main.js import uiChrome from 'ui/chrome'; import logoUrl from 'plugins/facechimp/assets/banner.png'; uiChrome.setBrand({ logo: `url(${logoUrl}) center no-repeat` });
API requests from the front-end
editUse chrome.addBasePath()
to append the basePath to the front of the url.
import chrome from 'ui/chrome'; $http.get(chrome.addBasePath('/api/plugin/things'));
Server side
editAppend config.get('server.basePath')
to any absolute URL path.
const basePath = server.config().get('server.basePath'); server.route({ path: '/redirect', handler(req, reply) { reply.redirect(`${basePath}/otherLocation`); } });
BasePathProxy in dev mode
editThe Kibana dev server automatically runs behind a proxy with a random
server.basePath
. This way developers will be constantly verifying that their
code works with basePath, while they write it.
To accomplish this the serve
task does a few things:
-
change the port for the server to the
dev.basePathProxyTarget
setting (default5603
) -
start a
BasePathProxy
atserver.port
-
picks a random 3-letter value for
randomBasePath
-
redirects from
/
to/{randomBasePath}
-
redirects from
/{any}/app/{appName}
to/{randomBasePath}/app/{appName}
so that refreshes should work -
proxies all requests starting with
/{randomBasePath}/
to the Kibana server
-
picks a random 3-letter value for
This proxy can sometimes have unintended side effects in development, so when
needed you can opt out by passing the --no-base-path
flag to the serve
task
or yarn start
.
yarn start --no-base-path
On this page