Kibana 6.5.0edit

Breaking changesedit

See Breaking Changes.

Known issuesedit

  • Kibana gets stuck when upgrading from an older version when X-Pack security is enabled.

    After upgrading from an older version of Kibana while using X-Pack security, if you get a permission error when you start Kibana for the first time, do the following steps to recover:

    1. Stop Kibana
    2. Delete the .kibana_1 and .kibana_2 indices that were created
    3. Create a new role in Elasticsearch that has create_index, create, and read permissions for the .tasks index
    4. Create a new user in Elasticsearch that has the kibana_system role as well as the new role you just created
    5. Update elasticsearch.username and elasticsearch.password in kibana.yml with the details from that new user
    6. If using a Kibana secure settings keystore, remove keys elasticsearch.username and elasticsearch.password from the keystore using the kibana-keystore tool. Add these keys back to the keystore using the new user and password as values.
    7. Start Kibana

      This will be fixed in a future bug fix release, at which time you can go back to using the built-in kibana user.

  • Kibana ignores the timezone setting dateFormat:tz #25596

    If you use the default browser setting for dateFormat:tz, you’re fine. If you use any other setting for dateFormat:tz, and you use Absolute time ranges, you might see issues where Kibana initially shows data in your browser’s local timezone instead of the configured timezone. Refreshing the page usually corrects the issue. This will be fixed in a future bug fix release.

  • Kibana errors when setting logging.useUTC in kibana.yml.

    The setting is meant to be deprecated, and using the replacement setting logging.timezone can be used as a workaround.

Deprecationsedit

Monitoring
  • Deprecates xpack:defaultAdminEmail for monitoring alerts #22195

    The xpack:defaultAdminEmail UI Setting is deprecated for Monitoring, but is still fully supported for the Watcher UI. To receive cluster alert notification emails, configure xpack.monitoring.cluster_alerts.email_notifications.email_address in kibana.yml.

Plugin API changesedit

See Kibana plugin API changes in 6.5, which describes changes to the visualizations response handler, data schema, and aggregations.

New featuresedit

  • Spaces
  • Canvas
  • Monitoring of cross-cluster replication
  • Rollup jobs in Management
  • Rolled up data in visualizations
  • Beats central management
  • Infrastructure and Logs
  • Distributed tracing in APM
  • Data Visualizer and File Data Visualizer in Machine Learning
  • Two new sample data sets

For an overview of the new features that were added in 6.5.0 and how the user experience improved, see the 6.5.0 Release Highlights.

Enhancementsedit

Discovery
  • Allows Kibana users to configure the max_concurrent_shard_requests param used by Kibana when sending _msearch requests. The configuration is exposed as an advanced setting. By default the parameter is not sent, relying on the Elasticsearch default instead. #22379
Kibana Home & Add Data
  • Allows sample data set to install multiple indices #23230
  • Adds an optional now query parameter that allows installing sample data at a fixed point in time #20678
  • Adds an "Uptime Monitors" box to the Metrics tab. This box guides users through installing and configuring Heartbeat and loading the dashboards. #23995
  • Adds link to “Upload data from log file” to Kibana home page #24226
  • Adds a link to Canvas on the Kibana home page #24038
  • Adds Canvas workpad for sample data #24347
Kibana Application
  • Changes courier so that instead of emitting Elasticsearch errors, which originate with the Elasticsearch client, it will emit SearchError. This uncouples error-handling from the internal strategy courier uses to send search requests. #23382
  • Adds an option to always present a certificate when connecting to Elasticsearch using elasticsearch.ssl.alwaysPresentCertificate: true #24304
Machine Learning
  • Adds context to the job picker for accessibility #23483
  • Adds button for refreshing job list without full page refresh #24084
  • Ensures that the applying/removing groups menu is keyboard accessible #24212
  • Replaces EuiComboBox with EuiSuperSelect in Anomalies Table severity control #24272
  • Disables auto focus on job wizard select index and search page #21913
  • Adds aria-label to calendar and jobs list buttons #21922
  • Adds validation to the label and time range when editing custom URLs in the Jobs List flyout. #21960
  • Adds links to rule editor for quick edit of value or filter #22990
  • Removes the job ID from the detector description to avoid duplication #23192
  • Moves the “Add custom URL” button and form to the top of the editor #23326
  • Adds indicators for multi-bucket anomalies to the charts and anomalies table in the Single Metric Viewer and Anomaly Explorer dashboards #23746
  • Sets focus to the “View results” link on the Job wizards (Single metric, Multi metric, and Population job types) when the job starts running and when the job finishes #24190
  • Introduces custom charts for detectors that use a rare function (Event Distribution Chart) as well as detectors that use an over field (Population Distribution Chart) #23423
  • Adds validation for the model memory limit value #21270
  • Adds a group selection menu to the jobs management page #21780
  • Enables support for the rare detector for the charts in Anomaly Explorer and Single Metric Viewer #21524
  • Migrates the Explorer Charts to React #22622
  • Migrates Anomaly Explorer Swimlanes to React #22641
  • Tweaks the design of the Explorer Chart to more clearly visualize how the time range of the cell selected in the swimlane relates to the time span shown in the charts #22955
  • Enables the display of contextual data for population charts using other metrics than count #24083
Management
  • Adds opt in for telemetry to start trial and upload license screens #22925
  • Adds a home page section for rollups that links to the rollup jobs CRUD UI #24421
  • Polishes the Index Management UI #21979
  • Makes the width of the import saved objects dialog narrower so it doesn’t obscure the UI #22011
  • Adds ingest node updates for auto-complete in console #24100
  • Adds autocomplete rules for CCR to Kibana console. Also fixes an issue with the documentation link URL manipulation #24739
Monitoring
  • Adds a monitoring UI for APM #22975
Operations
  • Upgrades prettier to version 1.14.0 to gain support for the new TypeScript language features introduced in 2.9 and 3.0 #21466
  • Adds new K7 header navigation as an optional UI #23300
Reporting
  • Adds ability to disable polling for idle jobs #24295

    A new kibana.yml config setting, xpack.reporting.queue.pollEnabled, can be set to false (default is true) to stop the Kibana instance from running polling workers to claim and execute reporting jobs. This makes it possible to configure a Kibana instance to only act as a Reporting worker, and other instances to do everything for Reporting (queuing, listing, provide downloads, and so on) except for executing reporting jobs.

Sharing
  • Implements Inspect panel for saved searches #22376
Visualizations
  • Adds support for format:number:defaultLocale and format:number/bytes/percent:defaultPattern settings in Time Series Visual Builder #21444
  • Introduces date histogram time base configuration to EditorConfig. This is needed to support rollups in Kibana. #22344

Bug fixesedit

Dashboard
  • Uses EuiPanel for dashboard panels #22078
  • Always starts dashboard with closed context menu #24252
  • Replaces the old theme CSS with the newly selected CSS, so the HTML document source remains a constant size #21709
  • Converts all LESS files to Sass in Dashboard, using EUI variable scope #21374
  • Converts PanelOptionsMenuForm to EUI #21375
  • Converts Dashboard options top nav to EUI #21510
  • Fixes Add button in empty dashboard #21816
  • Migrates report listing management to React and EUI #22928
  • Updates dashboard_constants.js to .ts and panel_error.js to .tsx #22141
  • Fixes refreshed dashboard losing time range #20858
  • Changes the dashboard panel actions code to TypeScript #21740
  • Changes more dashboard panel code to TypeScript #21810
  • Generalizes dashboard panel actions #22775
Discovery
  • Makes query bar autocomplete screen reader accessible #20740
  • Fixes query input lag #21753
  • Forces date format in context query #22684
  • Renames the filter bar collapser tooltip #22942
  • Converts Discover open top navigation to EUI flyout #22971
  • Migrates save top navigation in Discover and Visualize to EUI #23190
Kibana Home & Add Data
  • Avoids $$phase errors by not passing functions from ngReact #24460
  • Fixes windows instructions for Uptime Monitors in Add Data #24587
  • Fixes sample data install toasts error when user navigates away from the home application while installing #23574
  • Fixes error when user attempts to navigate away from the Add Data to Kibana page when installing sample data #23711
Logstash
  • Uses EUI in Logstash Management and removes all KUI controls and classes from the code #22902
Machine Learning
  • Ensures the Single day, Day range, and Time range options are accessible via a keyboard and screen reader when creating a calendar event in Machine Learning > Settings > Calendar Management #23832
  • Ensures the search bar aligns when no job is selected (so no job actions are available) and prevents job actions from wrapping #24334
  • Fixes the positioning of the anomaly markers on the Single Metric Viewer chart when the chart aggregation interval is greater than the bucket span #22055
  • Makes the field type icon component, as used on the cards in the Data Visualizer, keyboard accessible #22708
  • Fixes the labels for the start time options in the time range selector modal, used when starting the datafeed of a job. The labels now reflect whether the datafeed is starting for the first time, or whether it is restarting for a job that has already processed data. #24489
  • Fixes the job validation for the lower bound of the model memory limit. Previously, the check was against zero. Now the check is against less than 1MB, which is the same as what the backend expects. #24323
  • Updates Edit job so users cannot add a group that has the same ID as an existing job ID #21987
  • Updates group selector so users cannot add a group ID that has the same ID as an existing job #21988
  • Adds a license check to the Data Visualizer landing page. #23809
  • Updates invalid model memory limit message #21329
  • Fixes issue with historical job audit messages #21718
  • Fixes IOException in java.time.LocalDateTime for painless script in Machine Learning Watch #21998
  • Adds string type check to jobs list search #22627
  • Fixes various issues when cloning a job using a wizard #23368
  • Fixes missing field when cloning a distinct count job #23439
  • Fixes issue when editing script fields in advanced job creator #23475
  • Fixes duplicate influencers when cloning a job via a wizard #23484
  • Redesigns the landing page for the Data Visualizer and adds a bottom bar for navigation between pages #24438
  • Fixes regression that removed breadcrumbs from the Machine Learning header #23756
  • Fixes the styling of the elements in the expanded row section of the anomalies table, so that all the heading elements have the same font size #24390
  • Fixes the Anomaly Explorer Swimlane race condition and adds tests #22814
  • Fixes loading the influencers for Anomaly Explorer #22963
  • Fixes reloading Anomaly Explorer Charts on resize #22967
  • Deprecates the use of jQuery for rendering Anomaly Explorer Swimlanes #23000
  • Fixes the cleanup of the Anomaly Explorer resize listener once the user changes to another page within Machine Learning #23427
  • Fixes the limit dropdown behavior and simplifies the state management of Anomaly Explorer #23388
  • Improves the display of the Explorer Chart labels #23494
  • Makes mlExplorerDashboardService independent of angularjs #23874
  • Fixes an issue where resizing the Anomaly Explorer window triggers an error if the job being loaded didn’t have any anomalyChartRecords #24021
  • Fixes job validation for nested time fields. #24137
  • Removes an obsolete sentence from info tooltip in the datafeed tab of the advanced job creation wizard #24716
  • Fixes a call stack size exception triggered by a negative tickInterval #24742
  • Fixes check for enabled X-Pack features #24742
  • Adds alt prop with empty string to fix jsx-a11y errors #24922
Management
  • Fixes license endpoint paths for proxy #22133
  • Adds tag and updates pipeline processor parameter to ingest node in console #24400
  • Fixes problem with color and static lookup field formatters not loading #22044
  • Fixes console fatal errors #21996
  • Adds aria-label attributes to form inputs for advanced settings #22969
  • Updates documentation links in the console for ingest node #24535
  • Makes the Watcher table width 100% of the view #21803
  • Updates index pattern creation loading state to not have confusing "Reticulating splines" message #21977
  • Reconciles Index Management selection state with index deletion #22242
  • Adds repositionOnScroll to popovers in the Inspect and Index Management detail panel #23856
  • Fixes structure of plural message #24208
  • Supports overriding uiSettings from the configuration file #21628
  • Fixes problem when filtering saved objects by single type #24950
Monitoring
  • Supports legacy use cases for passthrough #21211
  • Converts Beats overview page to use EUI components #20765
  • Converts info button to EUI #20828
  • Exposes Kibana settings API #21100
  • Fixes EUI warnings #21726
  • Addresses multiple accessibility issues #20619
  • Ensures the settings API always return the xpack/default_admin_email #22220
  • Adds Beats architecture stats to telemetry #21227
  • Ensures the telemetry banner is accessible with the keyboard #22664
  • Ensures the provided node id is used in the query #23715
  • Preserves ccs state #24331
  • Adds handles graph for Beats #24265
  • Improves Logstash monitoring accessibility #24169
  • Manages telemetry opt-in via a dedicated document #22268
  • Adds two usage stats to telemetry #23547
  • Adds latency to index and node Elasticsearch stats #22625
  • Relaxes check to account for metricbeat-indexed doc format #23730
  • Retrofits the Bulk Uploader types combiner #22030
  • Updates telemetry to automatically get all the Kibana usage stats #22336
Operations
  • Makes saved object client await migrations prior to calling Elasticsearch #23709
  • Fixes a bug where Elasticsearch sends a string and migrations expect a boolean #23313
  • Fixes a bug with reindex timing out during migration of largish indices #23397
  • Removes to window title to Kibana Server #21567
  • Adds optimize and --no-optimize flags #16302

    bin/kibana now supports standalone optimization with the --optimize flag. bin/kibana-plugin now supports skipping the optimization step with the --no-optimize flag.

  • Filters nested and object fields types #23658
  • Converts status page to EUI #21491
  • Fixes plugin generator when using hacks and SCSS #23579
  • Removes conflicting package for kbn bootstrap #23662
  • Adds server OS information to telemetry stats #23793
  • Reinstates the default TypeScript configuration in development #21966
  • Tweaks the kbn-es error message to provide more context than just Not Found #24664
  • Implements more efficient method for cleaning node_modules #24692
  • Ignores node_modules in the x-pack directory #24797
  • Removes red color from the kbn-pm logs #24362
  • Enables security for Trial license only #20803
  • Adds autoprefixer support and improves watcher #21656
  • Moves styleSheetPath to uiExports #23007
  • Normalizes path for comparison on Windows #23404
Platform
  • Updates the url-overflow redirect to use the modifyUrl helper to deal with the confusion of node’s path and pathname #22435
  • Introduces a new uiSetting accessibility:disableAnimations, which disables all non-essential animations in Kibana. #21629
  • Introduces schema.any #21775
  • Makes core logging independent from the legacy Kibana #21831
  • Merges MutableLoggerFactory and LoggingService #21879
  • Revamps core environment class to support upcoming core to legacy bootstrap inversion. #21885
  • Makes core responsible for reading and merging of config files. Simplifies legacy config adapter. #21956
  • Implements LegacyService. Uses core to start legacy Kibana. #22190
  • Upgrades to TypeScript 3 #22792
  • Correctly passes timestamp from the core to the legacy Kibana. Does not try to stop legacy Hapi server if it does not exist. #23436
  • Exposes the core config schema validation system as @kbn/config-schema package #23609
  • Adds Kibana bootstrap step to generate types exposed by the core and its plugins #23686
  • Uses only core in browser environment, loader in node env #20905
  • Wraps consts in kibana tutorials #22181
  • Removes Notifier’s directive and banner methods #20870
  • Converts usage of notify.error to toastNotifications.addDanger for string messages #22243
  • Adds temporary hotfix for flyouts not in portals #24515
  • Adds saved object migrations #20243
  • Implements a build tool for default messages extraction #19620
  • Fixes default messages extractor bug with line break escaping #22140
  • Adds ability to skip file writing for messages extraction tool #21588
  • Adds logging to messages validation #22296
  • Fixes line breaks in default JSON serializer #22653
  • Migrates ui/notify/fatal_error to new platform #20752
  • Renders legacy platform into a container #21248
  • Adds type-check script that will run the TypeScript compiler in "checking" mode and report results #19325
  • Migrates toastNotifications to the new platform #21772
  • Kills kbn_observable and @kbn/observable #21944
  • Migrates ui/chrome/loading_count API to new platform #21967
  • Gives tooling log configurable writers #22110
  • Fixes error thrown for undefined provider instances #22689
  • Migrates base path APIs and UiSettings client to new platform #22694
  • Changes absoluteToParsedUrl() to TypeScript #22849
  • Fixes the recursive type in the deepFreeze() function used by core.injectedMetadata for better array support #22904
  • Migrates chrome injected vars API to new platform #22911
  • Adds shareWeakReplay() operator #23333
  • Upgrades yarn to 1.10.1 #23971
  • Shares sync subscribe logic #23341
  • Migrates the controls, theme, and visibility ui/chrome APIs #22987
  • Only tries to autoCreateOrUpgrade on the first request #24605
  • Improves types in the @kbn/datemath package #24671
  • Bumps elasticsearch-js and makelogs #24767
  • Add support for interceptors. This makes it possible for plugins to transform request config and response of http requests made with kfetch. #22128
  • Improves how the Saved Objects client handles s RequestEntityTooLarge error from Elasticsearch #22430
  • Turns off the no-multi-str rule in eslint config #22525
  • Fixes a problem in which more than one search request error would result in an error #24952
Querying & Filtering
  • Implements query bar component in React using some EUI components. #23704
  • Fixes problem where suggestion text needs to be a string #24526
  • Introduces query bar update button with dirty checking #24529
  • Provides feedback when searches do not return all matching results. Showing hits and total hits allows users to know when search results are not complete. #23434
Reporting
  • Fixes problem where Chromium browser waited until domcontentloaded and not networkidle0, which caused the Report job to fail with a timeout error #23586
  • Fixes relative timezone bug for Chromium reports #23652
  • Improves text of pending status in job listing #24300
  • Updates _claimPendingJobs so they have a valid job when updating encounters a version conflict #21980
  • Fixes error with Reporting URLs generated prior to 6.2 (when no layout parameter exists) #23508
  • Changes the Reporting layout code to TypeScript #22454
Security
  • Fixes missing email address on account management screen #22652
  • Updates user management so that email and name are optional #24842
Sharing
  • Removes the LESS files inside /src/core_plugins/kibana/public/home and replaces them with Sass #22160
  • Updates redux, react-redux, and corresponding types #22442
  • Moves /shorten to /api/shorten_url #21808
  • Replaces RadioButtonGroup with EuiButtonGroup #22256
  • Converts Sharing top navigation to EUI #21997
  • Migrates reporting top navigation to Share context menu #22596
  • Migrates panel_state.js to panel_state.ts #22515
Visualizations
  • Fixes issue with heat map showing black tiles. #20753
  • Fixes pie charts so that they work properly when the time window doesn’t have any data #24031
  • Removes extraneous whitespace characters between attributions in attribution string in map visualization #22003
  • Fixes a memory leak in vislib, where the scope used for the legend was never destroyed. As a result, memory piled up in a dashboard with auto-refresh enabled. #24134
  • Fixes input controls so that child controls are correctly updated after parent reset #23616
  • Resolves a regression introduced by the vis legacy response handler, where a data table was no longer able to display nested tables beyond one level deep when splitting on a table. #24377
  • Fixes IE scrollbar issue on Time Series Visual Builder gauges in dashboard #22740
  • Removes the LESS files inside /src/core_plugins/kibana/public/visualize and replaces them with SASS #22679
  • Removes the LESS files for the Timelion plugin and replaces them with Sass #23339
  • Removes the LESS files for vis types in the core_plugins input_control_vis, markdown_vis, metric_vis, region_map, table_vis, tag cloud, tile_map, and vega and replaces them with Sass. #23513
  • Upgrades Tinymath to v1.1.0 #24457
  • Introduces an artificial delay to mitigate an issue with Chromium reports occasionally rendering a blank initial visualization #22601
  • Removes a deprecation notice that is no longer needed for ascending sort for terms aggregations #23421
  • Fixes heat map colors to depend on existing number of ranges #21958
  • Creates re-usable IndexPatternSelect component #23335
  • Refactors maps wms settings #20371
  • Fixes date_histogram to correctly work inside plugins without global time picker #21955
  • Simplifies tabify #19061
  • Decouples agg configs from vis #21827
  • Changes the way aggconfig field filter works #22756
  • Fixes sorting of terms bucket #22919
  • Rewrites hierarchical response handler #22578
  • Removes vis dependency from response handlers #22583
  • Adds proper aria-label for Close button in Inspect panel #21719
  • Prevents IE11 from focusing parts of vislib charts #22135
  • Adds option to drop partial buckets from date_histogram visuals #19979
  • Moves timezone settings into autoload file #22623
  • Fixes broken visualize CSS #22707
  • Removes nesting-indicator directive #23180
  • Ensures vega options dropdown menu is visible #24409
  • Fixes updating editor state #22869
  • Fixes courier issues causing showMetricsOnAllLevels to break #24488
  • Fixes “other” bucket so that it works on multiple aggregations. Also fixes filtering on “other” bucket #24217
  • Generates the correct bucket keys regardless of query type #25002
  • Fixes Time Series Visual Builder state updates when changing index patterns #24832
  • Fixes filters on other bucket for table visualization and vislib legend #24473
  • Ensures baselayers display in region maps #22609
  • Fixes Time Series Visual Builder state updates when changing index patterns #24832
  • Fixes missing Markdown variables in Time Series Visual Builder #25132