mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
Monitoring of task consumption has shown the `reports:monitor` task takes an aggressively high amount of cycles from Kibana Task Manager. This impacts the throughput of alerts. This first step is a serverless-only config change to give an immediate increase in overall task throughput. It's safe to lower this polling frequency: **the impact is limited to the responsiveness of retries** when a report job is found to be timed out. Long-term, the plan will be to tune other parts of the code: https://github.com/elastic/kibana/issues/170462 ## Testing 1. Adjust the Dev mode settings to match a value set in production. Add this to `config/kibana.dev.yml`: ``` xpack.reporting.capture.maxAttempts: 3 # usually in Dev mode, this is set to 1 ``` 2. Start the scripts in different terminal windows to run Elasticsearch and Kibana dev servers ``` yarn es serverless --------------- yarn serverless ``` 3. Open a search in Discover that covers about 4,000 hits and request a CSV export using the Share menu. 4. Monitor the Kibana server logs and wait until the background job begins. Restart the server while the job is executing (saving a file in code under `packages/` or `server/` will trigger a restart). 5. Around 3 minutes after restart, the report job will get a re-attempt Compare this behavior vs in non-serverless, where a report job will get a re-attempt around 3 seconds after restart. |
||
---|---|---|
.. | ||
kibana.yml | ||
node.options | ||
README.md | ||
serverless.es.yml | ||
serverless.oblt.yml | ||
serverless.security.yml | ||
serverless.yml |
as work on serverless picks up we will add config values to these files that
define how Kibana will run in "serverless" modes. To start Kibana locally with
this configuration, pass --serverless={mode}
or run yarn serverless-{mode}
valid modes are currently: es
, oblt
, and security
configuration is applied in the following order, later values override
- serverless.yml (serverless configs go first)
- serverless.{mode}.yml (serverless configs go first)
- base config, in this preference order:
- my-config.yml(s) (set by --config)
- env-config.yml (described by
env.KBN_CONFIG_PATHS
) - kibana.yml (default @
env.KBN_PATH_CONF
/kibana.yml)
- kibana.dev.yml
- serverless.dev.yml
- serverless.{mode}.dev.yml