2018-05-29 05:06:30 +02:00
|
|
|
/*
|
|
|
|
* Licensed to Elasticsearch B.V. under one or more contributor
|
|
|
|
* license agreements. See the NOTICE file distributed with
|
|
|
|
* this work for additional information regarding copyright
|
|
|
|
* ownership. Elasticsearch B.V. licenses this file to you under
|
|
|
|
* the Apache License, Version 2.0 (the "License"); you may
|
|
|
|
* not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing,
|
|
|
|
* software distributed under the License is distributed on an
|
|
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
* KIND, either express or implied. See the License for the
|
|
|
|
* specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*/
|
|
|
|
|
2019-02-28 21:06:00 +01:00
|
|
|
import { pageObjects } from './page_objects';
|
|
|
|
import { services } from './services';
|
|
|
|
import { services as commonServiceProviders } from '../common/services';
|
2017-04-12 00:01:06 +02:00
|
|
|
|
2017-05-18 03:53:45 +02:00
|
|
|
export default async function ({ readConfigFile }) {
|
|
|
|
const commonConfig = await readConfigFile(require.resolve('../common/config'));
|
2017-04-12 00:01:06 +02:00
|
|
|
|
|
|
|
return {
|
|
|
|
testFiles: [
|
2017-05-18 03:53:45 +02:00
|
|
|
require.resolve('./apps/console'),
|
2018-03-14 21:42:48 +01:00
|
|
|
require.resolve('./apps/getting_started'),
|
[Context view] Incrementally increase context time window (#16878)
This PR tries to reduce the Elasticsearch cluster load for index patterns with many indices.
**Theory of operation**
Before this PR, Elasticsearch had to perform the query and sorting for every shard matching the index pattern. In order to avoid that in a time-base indexing scheme, the queries should include a `range` filter. This enables Elasticsearch to rewrite most of the shard accesses to `match_none`. But since the context view operates on document counts, the time intervals need to be determined heuristically:
* start of the interval is the second end of the previous query iteration or `anchor_time` if it is the first iteration
* end of the interval is `interval_start +/- n days` with `n in {1, 7, 30, 365, 10000}` or unlimited if insufficient hits were returned for all `n`
This date arithmetic introduces the assumption that the primary sorting field is a date or at least numeric. Therefore, the `sortingField` has been renamed to `timeField` to make those new assumptions explicit.
**Other notes**
As an additional optimization, the queries are now executed in a `constant_score` filter context to enable caching by Elasticsearch.
Tests for `fetchSuccessors` and `fetchPredecessors` were added.
Changes in ElasticSearch required a concurrent fix of #17696, which is also included. It now splits up the anchor `uid` into `anchorType` and `anchorId` and uses them in an `ids` query.
**Testing**
The fact that only a small subset of the shards are involved in a query should be observable using the `skipped` shard count in the response.
fixes #15143
fixes #17696
2018-06-18 12:31:54 +02:00
|
|
|
require.resolve('./apps/context'),
|
2017-05-18 03:53:45 +02:00
|
|
|
require.resolve('./apps/dashboard'),
|
|
|
|
require.resolve('./apps/discover'),
|
2018-08-17 08:28:37 +02:00
|
|
|
require.resolve('./apps/home'),
|
2017-05-18 03:53:45 +02:00
|
|
|
require.resolve('./apps/management'),
|
|
|
|
require.resolve('./apps/status_page'),
|
2017-11-28 16:51:11 +01:00
|
|
|
require.resolve('./apps/timelion'),
|
2017-05-18 03:53:45 +02:00
|
|
|
require.resolve('./apps/visualize'),
|
|
|
|
require.resolve('./apps/xpack'),
|
2017-04-12 00:01:06 +02:00
|
|
|
],
|
2019-02-28 21:06:00 +01:00
|
|
|
pageObjects,
|
2017-04-12 00:01:06 +02:00
|
|
|
services: {
|
2019-02-28 21:06:00 +01:00
|
|
|
...commonServiceProviders,
|
|
|
|
...services
|
2017-04-12 00:01:06 +02:00
|
|
|
},
|
2017-05-18 03:53:45 +02:00
|
|
|
servers: commonConfig.get('servers'),
|
2018-05-10 01:23:49 +02:00
|
|
|
|
|
|
|
esTestCluster: commonConfig.get('esTestCluster'),
|
|
|
|
|
2018-05-21 15:31:30 +02:00
|
|
|
kbnTestServer: {
|
|
|
|
...commonConfig.get('kbnTestServer'),
|
|
|
|
serverArgs: [
|
|
|
|
...commonConfig.get('kbnTestServer.serverArgs'),
|
|
|
|
'--oss',
|
|
|
|
],
|
|
|
|
},
|
2018-05-10 01:23:49 +02:00
|
|
|
|
2018-08-21 04:30:24 +02:00
|
|
|
uiSettings: {
|
|
|
|
defaults: {
|
|
|
|
'accessibility:disableAnimations': true,
|
2019-02-14 07:46:45 +01:00
|
|
|
'dateFormat:tz': 'UTC',
|
2019-02-11 17:37:14 +01:00
|
|
|
'telemetry:optIn': false
|
2018-08-21 04:30:24 +02:00
|
|
|
},
|
|
|
|
},
|
|
|
|
|
2017-05-18 03:53:45 +02:00
|
|
|
apps: {
|
|
|
|
status_page: {
|
|
|
|
pathname: '/status',
|
|
|
|
},
|
|
|
|
discover: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/discover',
|
|
|
|
},
|
|
|
|
context: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/context',
|
|
|
|
},
|
|
|
|
visualize: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/visualize',
|
|
|
|
},
|
|
|
|
dashboard: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/dashboards',
|
|
|
|
},
|
|
|
|
settings: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/management',
|
|
|
|
},
|
2017-11-28 16:51:11 +01:00
|
|
|
timelion: {
|
|
|
|
pathname: '/app/timelion',
|
|
|
|
},
|
2017-05-18 03:53:45 +02:00
|
|
|
console: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/dev_tools/console',
|
|
|
|
},
|
2018-09-24 17:11:43 +02:00
|
|
|
account: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/account',
|
|
|
|
},
|
Kibana Home page - phase two (#14749)
* add tutorial directory and home promo section
* tutorial components
* use KuiCodeEditor for displaying instruction code
* move spec files to server so joi can be used. Fetch via rest API
* Adding more tutorials (#4)
* More edits on the Apache logs tutorial
* Added nginx, mysql, and sytem modules for FB
* Moved apache to apacheLogs and added an apacheMetrics tutorial
* Added mysqlMetrics, nginxMetrics, systemMetrics tutorials
* Reduce duplication in the tutorials
This uses common objects for the install and start steps for Filebeat.
Same can be done for MB.
* fix windows path for config file
* add markdown parsing
* use mustache to replace config.kibana.version with kibana version
* add image preview to tutorial introduction
* fix css class name
* add param types constants
* add docs variables
* [WIP] Logstash Netflow module tutorial (#5)
* First draft of Logstash Netflow module tutorial
* Incorporated writing style suggestions
* pass params to template replace logic
* parameter inputs
* use isReadOnly flag from ui-framework for KuiCodeEditor
* dedemorton commits on netflow
* remove trailing slash from base links
* add config.docs.logstash and fix vertical spacing between Content component and commands
* Use logstash docs config variable
* Starting to add Deb instructions
* Fix Logstash documentation link
* Make commands optional
* Refactor: extract common LS instructions
* Edits for the existing tutorials
* change schema to support three instruction types
* [Netflow tutorial] Simplify OSX instructions
* replace axios with fetch
* pass credentials to tutorial fetch
* display cloud instructions when cloud set
* RadioButtonGroup component
* update copy
* add tutorial component jest tests
* content component test
* load isCloudEnabled in home_app
* add functional test ensuring add data tutorials are fetch and displayed
* rename card btns to 'Add data', fix type in tutorial directory tab, remove 'Set up index pattern from tutorial directory'
* move parameters form to right of instruction set title
* add copy snippet button, remove line numbers from command block
* add breadcrumb to tutorial view
* update tutorial jest snapshot
* use componentDidMount and ignore async results if componenent has been unmounted
* define shape of prop for instructionVariants and params. Create NumberParameter and StringParameter components
* add bread crumb to add data directory page
* Add cloud version of the apache_logs tutorial (#16)
* Add cloud version of the apache_logs tutorial
* Added onprem-cloud version as well
* fix styling broken by EUI rebase
* add artifacts to tutorial schema
* fix styling for code block
* [Tutorials] Netflow: instructions for onPremCloud (#18)
* Extract common on-prem cloud instructions so LS and Beats can share them
* Extracting common instructions; adding onPremCloud instructions
* fix copy bug where copy would only contain previously selected text
* make string parameter input type be text
* Implementing Elastic Cloud tutorial for Netflow module (#19)
* More tutorial edits (#20)
* More tutorial edits
This updates the on prem instructions with a step that installs the GeoIP and
UA plugins in ES. It also makes the on-prem steps more consistent with the cloud
instructions which results in less redundancy in the code.
* Show config step for all variants
* More DRY in the tutorial content
* Updated screenshot for apache_logs
* wrap markdown content in markdown-body class
* use EuiFlexGroup to remove wasted space with 'copy snippet' button and instruction text
* change OSX to macOS, use Computed property names for instruction_variant DISPLAY_MAP, replace /app/kibana with kbnBaseUrl, remove unneeded if check in copy_to_clippboard, put getTutorials mixin on server instead of request
* capitilize 'C' in Elastic Cloud
* remove try/catch from copy_to_clipboard
* Removing unrelated instructions
* Copy editing fixes
* Multiply edits to the Beats tutorials (#21)
* Updated Nginx module
* Updated MySQL logs module
* Updated system logs module
* Correct the on_prem_cloud enable steps
* Updated the Nginx metrics tutorial and added screenshot
* Updated the Apache metrics module + screenshot
* Updated the MySQL metrics module + screenshot
* Updated the system metrics module + screenshot
* prevent 'Copy snippet' button text from wrapping
* [Netflow tutorial] Windows instructions (#22)
* [Netflow tutorial] Adding onPrem instructions for Windows
* Removing unrelated/superfluous instructions
* Adding Windows instructions for onPremElasticCloud and elasticCloud
* use EuiImage so tutorial images are clickable to view in full screen
* fix jest tests
* set fullScreenIconColor and alt options for EuiImage, add space between command block and instruction text
2018-01-10 15:20:38 +01:00
|
|
|
home: {
|
|
|
|
pathname: '/app/kibana',
|
|
|
|
hash: '/home',
|
|
|
|
},
|
2017-04-12 00:01:06 +02:00
|
|
|
},
|
2017-12-06 01:29:48 +01:00
|
|
|
junit: {
|
|
|
|
reportName: 'UI Functional Tests'
|
|
|
|
}
|
2017-04-12 00:01:06 +02:00
|
|
|
};
|
|
|
|
}
|