- Kibana Guide: other versions:
- What is Kibana?
- What’s new in 8.13
- Kibana concepts
- Quick start
- Set up
- Install Kibana
- Configure Kibana
- Alerting and action settings
- APM settings
- Banners settings
- Cases settings
- Enterprise Search settings
- Fleet settings
- i18n settings
- Logging settings
- Logs settings
- Metrics settings
- Monitoring settings
- Reporting settings
- Search sessions settings
- Secure settings
- Security settings
- Spaces settings
- Task Manager settings
- Telemetry settings
- URL drilldown settings
- Start and stop Kibana
- Access Kibana
- Securing access to Kibana
- Add data
- Upgrade Kibana
- Configure security
- Configure reporting
- Configure logging
- Configure monitoring
- Command line tools
- Production considerations
- Discover
- Dashboard and visualizations
- Canvas
- Maps
- Build a map to compare metrics by country or region
- Track, visualize, and alert on assets in real time
- Map custom regions with reverse geocoding
- Heat map layer
- Tile layer
- Vector layer
- Plot big data
- Search geographic data
- Configure map settings
- Connect to Elastic Maps Service
- Import geospatial data
- Troubleshoot
- Reporting and sharing
- Machine learning
- Graph
- Alerting
- Observability
- APM
- Set up
- Get started
- How-to guides
- Configure APM agents with central config
- Control access to APM data
- Create an alert
- Create custom links
- Filter data
- Find transaction latency and failure correlations
- Identify deployment details for APM agents
- Integrate with machine learning
- Exploring mobile sessions with Discover
- Viewing sessions with Discover
- Observe Lambda functions
- Query your data
- Storage Explorer
- Track deployments with annotations
- Users and privileges
- Settings
- REST API
- Troubleshooting
- Security
- Dev Tools
- Fleet
- Osquery
- Stack Monitoring
- Stack Management
- REST API
- Get features API
- Kibana spaces APIs
- Kibana role management APIs
- User session management APIs
- Saved objects APIs
- Data views API
- Get all data views
- Get data view
- Create data view
- Update data view
- Delete data view
- Swap references preview
- Swap references
- Get default data view
- Set default data view
- Update data view fields metadata
- Get runtime field
- Create runtime field
- Upsert runtime field
- Update runtime field
- Delete runtime field
- Index patterns APIs
- Alerting APIs
- Action and connector APIs
- Cases APIs
- Add comment
- Create case
- Delete cases
- Delete comments
- Find case activity
- Find cases
- Find connectors
- Get alerts
- Get case activity
- Get case
- Get case status
- Get cases by alert
- Get comments
- Get configuration
- Get reporters
- Get tags
- Push case
- Set configuration
- Update cases
- Update comment
- Update configuration
- Import and export dashboard APIs
- Logstash configuration management APIs
- Machine learning APIs
- Osquery manager API
- Short URLs APIs
- Get Task Manager health
- Upgrade assistant APIs
- Synthetics APIs
- Uptime APIs
- Kibana plugins
- Troubleshooting
- Accessibility
- Release notes
- Kibana 8.13.4
- Kibana 8.13.3
- Kibana 8.13.2
- Kibana 8.13.1
- Kibana 8.13.0
- Kibana 8.12.2
- Kibana 8.12.1
- Kibana 8.12.0
- Kibana 8.11.4
- Kibana 8.11.3
- Kibana 8.11.2
- Kibana 8.11.1
- Kibana 8.11.0
- Kibana 8.10.4
- Kibana 8.10.3
- Kibana 8.10.2
- Kibana 8.10.1
- Kibana 8.10.0
- Kibana 8.9.2
- Kibana 8.9.1
- Kibana 8.9.0
- Kibana 8.8.2
- Kibana 8.8.1
- Kibana 8.8.0
- Kibana 8.7.1
- Kibana 8.7.0
- Kibana 8.6.1
- Kibana 8.6.0
- Kibana 8.5.2
- Kibana 8.5.1
- Kibana 8.5.0
- Kibana 8.4.3
- Kibana 8.4.2
- Kibana 8.4.1
- Kibana 8.4.0
- Kibana 8.3.3
- Kibana 8.3.2
- Kibana 8.3.1
- Kibana 8.3.0
- Kibana 8.2.3
- Kibana 8.2.2
- Kibana 8.2.1
- Kibana 8.2.0
- Kibana 8.1.3
- Kibana 8.1.2
- Kibana 8.1.1
- Kibana 8.1.0
- Kibana 8.0.0
- Kibana 8.0.0-rc2
- Kibana 8.0.0-rc1
- Kibana 8.0.0-beta1
- Kibana 8.0.0-alpha2
- Kibana 8.0.0-alpha1
- Developer guide
Upgrading Node.js
editUpgrading Node.js
editKibana requires a specific Node.js version to run. When running Kibana from source, you must have this version installed locally.
Step 1: Generate custom Node.js builds
editBefore making a PR to upgrade Node.js, we must first generate the required custom Node.js builds matching the desired Node.js version.
Step 2: Create PR to upgrade Node.js
editThe required version of Node.js is listed in several different files throughout the Kibana source code. These files must be updated when upgrading Node.js:
-
.ci/Dockerfile
- The version is specified in theNODE_VERSION
constant. This is used to pull the relevant image from Docker Hub. Note that Docker Hub can take 24+ hours to be updated with the new images after a new release of Node.js, so if you’re upgrading Node.js in Kibana just after the official Node.js release, you have to check if the new images are present on Docker Hub. If they are not, and the update is urgent, you can skip this file and update it later once Docker Hub has been updated. -
.node-version
-
.nvmrc
-
package.json
- The version is specified in theengines.node
field (if possible, also upgrade@types/node
to match the new version, both underdevDependencies
andresolutions
). -
WORKSPACE.bazel
- The version is specified in thenode_version
property. Besides this property, the list of files undernode_repositories
must be updated along with their respective SHA256 hashes. These can be found in theSHASUMS256.txt
file inside the publickibana-custom-node-artifacts
GCP bucket. Example for Node.js v20.12.2: kibana-custom-node-artifacts/node-glibc-217/dist/v20.12.2/SHASUMS256.txt
See PR #128123 for an example of how the Node.js version has been upgraded previously.
Considerations with major Node.js upgrades
editWhen upgrading to a new major version of Node.js, the following extra steps must be performed:
- Compare the new Node.js versions list of supported platforms with the Kibana Support Matrix. As an example, here’s the Node.js 18 supported platform list. You can change which Node.js major version to view, by changing the selected branch. If Node.js has dropped support for platform still supported by Kibana, appropriate steps must be taken as soon as possible to deprecate support for this platform. This way support for it can be dropped before the currently used major version of Node.js reaches End-of-Life.
Custom builds of Node.js
editDue to Node.js 16 coming to an early End-of-Life and Node.js 18 no longer supporting the same platforms that Kibana supports (most notably CentOS7/RHEL7), we cannot bundle the official Node.js binaries with the Linux distributable of Kibana.
To keep support for these older platforms, we’re bundling the Linux distributable of Kibana with a custom build of Node.js with extended backwards compatibility.
The only difference between the offical Node.js build and our custom build, is the version of glibc
that it’s compiled against.
How to start a new build
editTo generate a new custom Node.js build, start a new build on our dedicated Buildkite pipeline (requires Elastic employee permissions).
Give it a clear name (e.g. Node 20.12.2
) and remember so set the custom OVERRIDE_TARGET_VERSION
environment variable to the desired Node.js version - e.g. OVERRIDE_TARGET_VERSION=20.12.2
.
You find the "Environment Variables" field by expanding "Options >" in the "New Build" dialog.
Backporting
editThe following rules are not set in stone. Use best judgement when backporting.
Node.js patch upgrades
editTypically, you want to backport Node.js patch upgrades to all supported release branches that run the same major Node.js version (which currently is all of them, but this might change in the future):
-
If the current release is 8.1.x, the main PR should target
main
and be backported to7.17
and8.1
(GitHub tag example:backport:all-open
).
Node.js minor upgrades
editTypically, you want to backport Node.js minor upgrades to the previous major Kibana release branch (if it runs the same major Node.js version):
-
If the current release is 8.1.x, the main PR should target
main
and be backported to7.17
, while leaving the8.1
branch as-is (GitHub tag example:auto-backport
+v7.17.13
).
Node.js major upgrades
editTypically, you want to backport Node.js major upgrades to the previous major Kibana release branch:
-
If the current release is 8.1.x, the main PR should target
main
and be backported to7.17
, while leaving the8.1
branch as-is (GitHub tag example:auto-backport
+v7.17.13
).
Upgrading installed Node.js version
editThe following instructions expect that nvm is used to manage locally installed Node.js versions.
Run the following to install the new Node.js version. Replace <version>
with the desired Node.js version:
nvm install <version>
To get the same global npm modules installed with the new version of Node.js as is currently installed, use the --reinstall-packages-from
command-line argument (optionally replace 16
with the desired source version):
nvm install <version> --reinstall-packages-from=16
If needed, uninstall the old version of Node.js by running the following. Replace <old-version>
with the full version number of the version that should be uninstalled:
nvm uninstall <old-version>
Optionally, tell nvm to always use the "highest" installed Node.js 16 version. Replace 16
if a different major version is desired:
nvm alias default 16
Alternatively, include the full version number at the end to specify a specific default version.
On this page