Big Console improvements in Kibana

email-thumbnail-generic-release-cloud.png

For the past nine months, one of our engineers, Muhammad Ibragimov, has been quietly building new features, fixing bugs, and generally polishing the heck out of Kibana Console. From performance improvements to the ability to leave comments inside request bodies, he and the team have done some incredible work on this app that’s used and loved by so many. Read on to learn how these and other improvements can boost your productivity in versions 8.1 through 8.4 of the Elastic Stack.

Major features

There are five sweet new features I’d like to share with you.

1. Send requests to Kibana APIs

In 8.3, we shipped the ability to send requests to Kibana APIs by prefixing the path with “kbn:”. For example, here’s how you can send a request to the Export Saved Objects API:

POST kbn:api/saved_objects/_export

This is particularly useful if you build software or scripts that communicate with these APIs. You’re now able to quickly test requests without having to use third-party tools and configure authentication for those tools.

2. Comments in request bodies

Ever look at a massive request body and struggle to recall why you configured it that way? In 8.4, you can write comments inside the request body and leave yourself notes about its configuration. You can even comment out specific lines to temporarily disable them and try out other variations of the request!

# This request searches all of your indices.
GET /_search
{
  // The query parameter indicates query context.
  "query": {
    // Matches all documents.
    /*"match_all": {
      "boost": 1.2
    }*/
    "match_none": {} // Matches no documents.
  }
}

3. Reuse values with variables 

In 8.4, you’re able to define variables in Console and reuse them in your requests. Here’s what that looks like:

You can refer to variables in the paths and bodies of your requests, as many times as you like.

GET ${pathVariable}
{
  "query": {
    "match": {
      "${bodyNameVariable}": "${bodyValueVariable}"
    }
  }
}

4. Multiple statuses for multiple requests

Console has long supported sending multiple requests simultaneously. But historically, if one request failed, then the successful responses were discarded from the UI. Starting in 8.3, you can see all responses to your requests, regardless of whether they failed or succeeded. Building on this in 8.4, we added HTTP status badges next to each response. This makes it even easier to tell which request failed and which succeeded. The most severe status is at the top of the UI, so you can quickly get a sense of whether any of your requests had trouble.

5. Autocomplete for new ES entities

Autocomplete is the heart of Console. In 8.2, we updated autocomplete to suggest the names of the specific composable index templates, component templates, and data streams that exist in your deployment.

Performance

Console performance has been an issue for larger deployments, especially for folks who use Console a lot. We took some time to address these cases.

Optimizing retrieval of mappings

Console retrieves all index mappings from ES when it loads, to power autocompletion of fields. For deployments with many mappings, this payload can be so large that it can cause cluster instability. In 8.1 and 7.17.3, we addressed this issue by compressing the mappings response, reducing its size and response time.

Console can automatically refresh these mappings on an interval, but this is inefficient if your mappings don’t change frequently. Beginning in 8.1, you will be able to configure the rate at which mappings are refreshed, disable fetching mappings entirely, or configure Console to only fetch them once when the user navigates to Console.

Local storage management

Your Console history is currently stored in your browser’s local storage. Running out of this local storage space is a real concern if you use Console a lot and fill up storage with history data. Beginning in 8.1, you will be shown a warning when you’re maxing out local storage and be able to clear your history or disable history-keeping entirely.

Enjoy!

We hope these new features and enhancements enable you to get even more value out of Console! If you’d like to see us make any further specific changes to Console, please let us know.