Keeping up with Kibana: This week in Kibana for August 30th, 2019

Hiring

Security

PKI

The changes implementing PKI for Kibana have merged, and will be available starting in 7.4! This has been an often requested feature.

Sharing Saved Objects in Multiple Spaces

We’ve continued analysis on the technical implementation to allow saved objects to be shared in multiple spaces. There are a few proposed approaches which we’re weighing the pros and cons of while discussion alternative solutions.

Space Specific Default Routes

Currently, the default route can only be specified in the `kibana.yml` and it can’t be set on a per-space basis. We have begun a proof-of-concept for allowing this to be configured using Kibana’s Advanced Settings on a per-space basis.

Platform

We’re almost finished wrapping up “the big 4” services. HTTP is now available to New Platform plugins, SavedObjects on the server is nearing completion (client side already available), the ApplicationService is merging this week, and Licensing is nearing completion on the client (server side already available).

Last week, 6 migration-related PRs were merged by plugin teams. All 6 were merged by the App Architecture team.

Operations

Kibana PRs now must have a green `kibana-ci` status before being merged, this is enforced the same way that code owners is, so if you have the ability to override those you'll still have the ability to override this, but in situations like this week where Jenkins goes on vacation it will now be more obvious that you don't have sufficient CI coverage to merge.

In order to prevent annoying the docs folks (who we love dearly) with the previous change, any PR that has `[skip ci]` somewhere in the title or body and is only touching docs in the `docs` or `rfcs` directories, will get an honorary green `kibana-ci` as those PRs do not require CI to be merged.

Additionally, docs only PRs will no longer be marked "outdated".

Regarding the static filesystem project we successfully achieved the first entire green ci in the PR with the integration of the project with the kibana itself. We are now in a state where we can start to look at the work in preparation for merging in the future.

App Architecture

Data Access

A very notable achievement was getting automatic query cancellation and use of _search API (when batching is disabled) included into the 7.4 release.

New Platform Migration

We continued work on moving the timefilter to TypeScript while fixing some tests along the way.

Kibana App (Discover, Visualizations, Dashboards)

Lens

Our main goal is to get ready for a merge to master with enough test coverage that our app won't break accidentally when other teams make changes. Our first functional test scaffolding was merged, and we have agreed on the scope of the functional tests we intend to add.

Ongoing for several weeks has been work to build a discover-like field selector which samples 500 documents to determine which fields are present and to present an interface like the ML data visualizer on click:

Also ongoing is better integration with the Visualize app, including breadcrumb navigation. Visualization suggestions are actively being worked on as well. All progress can be seen in our github project.

KQL

We spent time this week writing docs for the saved queries feature.

Elastic-Charts

This week we focused our efforts on fixing issues identified when working on the EUI chart theme and on  TSVB/Discover chart replacements.

We released a set of new features:

  • You can now group multiple series together to stack them using the global y domain  
  • You can customize the debounce time on resize events to increase or decrease the number of rendering events when resizing the component/window

Graph

This week we started to convert the Graph app to Typescript and React and solve a few usability issues along the way. The first piece of this is alignment of saved object management (listing page, save modal, etc.) with other apps like Visualize or Maps: #44068 #44261

The next parts will be the various settings menus and the index picker and vertex type manager. 

Discover

Right in time we merged the fully deangularized table tab of DocViewer #43240, so could also merge the DocViewer  #42116 which is now completely written in React, while still backwards compatible with community plugins in Angular. We continue deangularizing with Discover’s context #44474.

Canvas

Monaco Code Editor

Updating the code editor we use for expressions is merged and undergoing testing now for 7.4 release. This is a big update and sets us up to use Monaco in more places both within Canvas and across Kibana.

Design

Profile View

Management Toasts

Admin View

Kibana Nav Drawer Locking

The navigation drawer in Kibana can now be locked open when viewed in larger window sizes. This prevents the drawer from hiding page content and from collapsing when navigating between apps. This landed in 7.4.

Saved Queries Cleanup

Tidied up the design of the Saved Queries Popover.

Data Grid Component

Progress continues on the data grid component in design, functionality, and accessibility. A PR managing the focus state of cells during keyboard navigation just landed and prepares the way for integrating screen reader support. At the same time, the ability to sort columns (both via external service calls or letting the component do so in-memory) is finishing up and provides a framework for filtering and auto-detecting the data’s schema. User experience has been tightened up and the grid now operates well from a small size (think dashboards embeddings) all the way to a full screen takeover experience.

Stack Services

Alerting

We merged the implementation of the webhook action (#43538), but it is disabled until hostname whitelisting configuration is implemented (#44483).  We merged the Pagerduty action (#43395).  The alerting and actions plugins were disabled by default (enable via config), since recent security changes mean it shows up in the UI in feature controls (#44083).  We reached consensus on how alert throttling should work via discuss issue (#42749) and work on that feature is now underway (#41919).

Reporting

We’ve made great progress in the past week making reporting more debuggable while still shipping new features. One big highlight is the new chromium binary with WebGL support, which allows users to export Map visualizations to PDF. This binary also includes kerberos security patches for theWindows platform. Finally, we’ve enabled (by default) the ability to export Saved-Search visualizations in dashboards to CSV. This feature was present in 7.3 but disabled with a config flag so we could continue to test and improve it.

We’ll soon be starting work on a prototype for scheduled reports, with our ambition being to ship this in 7.5. Stay tuned for more updates on this!

  • Don’t let `connection` headers go through (44343).
  • Enable CSV export by default in 7.4 (44048).
  • Type fixes for pending job info (43924).
  • Re-use the logging object (43636).

Maps

  • Added new “Source-destination connections” source to show aggregated data paths between the origin and destinations for SIEM pew pew map.