Commit graph

8786 commits

Author SHA1 Message Date
Nathan Reese
8b6831a55a
[Maps] fix color-style disappears when mapping by percentiles when breaks are identical (#85654)
* [Maps] fix color-style disappears when mapping by percentiles when breaks are identical

* tslint

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 10:05:59 -07:00
Walter Rafelsberger
a6e6b62658
[ML] Transforms: Support for missing_bucket in transform advanced pivot editor (#85758)
Adds support for missing_bucket with group-by configurations in the advanced editor for pivot configurations.
Previously, the editor would allow you to add the setting, but it would be stripped from the config once the transform gets created.
2020-12-14 17:51:18 +01:00
Sonja Krause-Harder
1b3a1bb385
Don't rollback on saved objects conflict errors. (#85131) 2020-12-14 17:36:25 +01:00
Yulia Čech
8858749ce4
[ILM] Added readonly field in hot phase (#85419)
* [ILM] Added readonly field in hot phase

* [ILM] Added readonly field in warm phase

* Update x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/components/phases/shared_fields/readonly_field.tsx

Co-authored-by: Alison Goryachev <alisonmllr20@gmail.com>

* Update x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/form/schema.ts

Co-authored-by: Alison Goryachev <alisonmllr20@gmail.com>

* Update x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/components/phases/hot_phase/hot_phase.tsx

Co-authored-by: Alison Goryachev <alisonmllr20@gmail.com>

* Updated labels for the form

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Alison Goryachev <alisonmllr20@gmail.com>
2020-12-14 17:27:56 +01:00
Shahzad
eed6844004
[Uptime] Display tags in monitor list and details page (#85168) 2020-12-14 17:26:53 +01:00
Rudolf Meijering
8a34942f3f
Fix dead links to functional testing docs (#85097) 2020-12-14 17:00:53 +01:00
Yulia Čech
a8d088febd
Added hidden filter to data streams tab (#85028)
* Added hidden filter to data streams tab

* Fix i18n import

* Fixed tests

* hidden ds pr feedback

* Added includeHidden query to data streams list

* Changed how badge group renders data streams badges

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 16:54:06 +01:00
Cauê Marcondes
542a8aa1d4
[APM] Latency chart for overview (#84634)
* adding latency chart

* adding loading indicator

* fixing unit test

* fixing y-axis format

* fixing some stuff

* using urlhelpers

* adding latency aggregation type on the transactions overview api

* fixing transaction group overview route

* fixing merge problems

* breaking /transactions/charts into /latency and /thoughput

* adding unit tests

* fixing UI

* fixing i18n

* addressing pr comments

* fix api test

* refactoring some stuff

* addressing pr comments

* addressing pr comments

* adding latecy chart

* fixing test

* fixing api tests

* fixing api test

* fixing build

* addressing pr comments

* addressing pr comments

* refactoring some stuff

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 16:45:54 +01:00
Xavier Mouligneau
0dfcbe92ed
[SECURITY SOLUTIONS] Ask user to save timeline before leaving the app + bugs (#85693)
* fix clicking on host on netwrok detail page

* Fetch signal index at plugin level to avoid weird behavior

* bing back full screen timeline

* Show health check on timeline

* fix focus on modal of description and title

* fix focus on modal of description and title

* allow to know the next appId

* if user leave security solution and timeline has not been saved, ask them if they want to save it before leaving

* fix test + types

* Fix siem signal loading on plugin + UX on timeline with no data

* Add a callback to cleaner from solution + test

* fix bug + improve prompt leaving msg

* update note

* css improvements

* fix code to be true to our test

* miss one test

* update test

* fix unit test

* core review

Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Angela Chuang <yi-chun.chuang@elastic.co>
2020-12-14 10:33:59 -05:00
Alexander Wert
e458263ae4
Added transaction_ignore_urls as central config for the Python, .NET and Ruby APM agents (#85734) 2020-12-14 16:16:28 +01:00
Marco Liberati
1ff233189f
[Lens] Better disabled messages for Value labels popup (#85592)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 15:23:10 +01:00
Shahzad
a06b8d1a7b
[Uptime] Log es queries in kibana logs on debug flag (#85387)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 15:01:05 +01:00
Nathan L Smith
1c16bcf851
Fix UX E2E tests (#85722)
They look for `.kbnLoadingIndicator` which is no longer there in the new loading indicator design. This changes it to look for an element that does exist and makes it a function in utils.

Change not.be.visible to not.exist in places where the element does not exist at in that state.
2020-12-14 07:34:54 -06:00
ymao1
ab07a003d4
Increasing default api key removalDelay to 1h (#85576)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 07:58:32 -05:00
Joe Reuter
4f48401b20
unskip tests and make sure submit is not triggered too quickly (#85567) 2020-12-14 13:35:01 +01:00
Vadim Dalecky
b01a327076
Row trigger 2 (#83167)
* feat: 🎸 add ROW_CLICK_TRIGGER

* feat: 🎸 wire row click event to UI Actions trigger in Lens

* feat: 🎸 add row click trigger to url drilldown

* feat: 🎸 add datatable to row click context

* feat: 🎸 pass in row index in row click trigger context

* feat: 🎸 add columns to row click trigger context

* feat: 🎸 fill values and keys event scope array

* feat: 🎸 generate correct row scope variables

* fix: 🐛 report triggers from lens embeddable

* feat: 🎸 add sample preview for row click trigger

* feat: 🎸 remove url drilldown preview box

* chore: 🤖 remove mock variable generation functions

* feat: 🎸 generate context and global variable lists

* feat: 🎸 preview event variable list

* feat: 🎸 show empty url error on blur

* feat: 🎸 add ability to always show popup for executed actions

* refactor: 💡 rename multiple action execution method

* fix: 🐛 don't add separator befor group on no main items

* feat: 🎸 wire in uiActions service into datatable renderer

* feat: 🎸 check each row if it has compatible row click actions

* feat: 🎸 allow passing data to expression renderer

* feat: 🎸 add isEmbeddable helper

* feat: 🎸 pass embeddable to lens table renderer

* feat: 🎸 hide lens table row actions which are empty

* feat: 🎸 re-render lens embeddable when dynamic actions chagne

* feat: 🎸 hide actions column if there are no row actions

* feat: 🎸 re-render lens embeddable on view mode chagne

* fix: 🐛 fix TypeScript errors

* chore: 🤖 fix TypeScript errors

* docs: ✏️ update auto-generated docs

* feat: 🎸 add hasCompatibleActions to expression layer

* feat: 🎸 remove "data" from expression renderer handlers

* fix: 🐛 fix TypeScript errors

* test: 💍 fix Jest tests

* docs: ✏️ update autogenerated docs

* fix: 🐛 wrap event payload into data

* test: 💍 add "alwaysShowPopup" test

* chore: 🤖 add comment requested in review

https://github.com/elastic/kibana/pull/83167#discussion_r537340216

* test: 💍 add hasCompatibleActions test

* test: 💍 add datatable renderer test

* test: 💍 add Lens embeddable input change tests

* test: 💍 add embeddable row click test

* fix: 🐛 add url validation

* test: 💍 add url drilldown tests

* docs: ✏️ remove url drilldown preview from docs

* docs: ✏️ remove preview from url templating

* docs: ✏️ add row click description

* chore: 🤖 move 36.5 KB bundle balance to url_drilldown

* test: 💍 simplify test case

* style: 💄 change types places

* refactor: 💡 clean up panel variable generation

* test: 💍 add getPanelVariables() tests

* fix: 🐛 generate runtime variables correctly

* fix: 🐛 improve getVariableList() and add tests for it

* feat: 🎸 add translation, improve types
2020-12-14 13:28:23 +01:00
Thom Heymann
5a8a5bfd4c
Add session id to audit log (#85451)
* Add session id to audit log

* fix naming

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 11:34:52 +00:00
MadameSheema
a719990616
fixes EQL tests (#85712)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 03:08:34 -05:00
Andrew Wilkins
ae64fc2592
[APM] enable 'log_level' for Go (#85511)
https://github.com/elastic/apm-agent-go/pull/859 adds
central config support for 'log_level' to the Go agent,
so we can now enable it in the UI too.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-14 13:47:35 +08:00
Larry Gregory
96bb72f68d
Fix fleet route protections (#85626)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-13 12:40:50 -05:00
Chris Roberson
1e8f2f66eb
[Monitoring] Some progress on making alerts better in the UI (#81569)
* Some progress on making alerts better in the UI

* Handle edge case

* Updates

* More updates

* Show kibana instances alerts better

* Stop showing missing nodes and improve the detail alert UI

* WIP

* Fix the badge display

* Okay I think this is finally working

* Fix type issues

* Fix tests

* Fix tests

* Fix alert counts

* Fix setup mode listing

* Better detail page view of alerts

* Feedback

* Sorting

* Fix a couple small issues

* Start of unit tests

* I don't think we need this Mock type

* Fix types

* More tests

* Improve tests and fix sorting

* Make this test more resilient

* Updates after merging master

* Fix tests

* Fix types, and improve tests

* PR comments

* Remove nextStep logic

* PR feedback

* PR feedback

* Removing unnecessary changes

* Fixing bad merge issues

* Remove unused imports

* Add tooltip to alerts grouped by node

* Fix up stateFilter usage

* Code clean up

* PR feedback

* Fix state filtering in the category list

* Fix types

* Fix test

* Fix types

* Update snapshots

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-13 10:20:29 -05:00
Patryk Kopyciński
95beef7637
[Security Solution] Refactor Timeline Notes to use EuiCommentList (#85256)
* [Security Solution] Refactor Timeline Notes to use EuiCommentList

* notes

* fix types

* unit tests

* selector

* uncomment Pinned tab

* note event details

* cleanup

* cleanup

* transparent background

* don't display elastic as an owner when note is created

* review + bugs fixed found

Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
2020-12-12 21:25:24 -05:00
Madison Caldwell
9719932297
[Security Solution][Detections][Threshold Rules] Threshold rule exceptions (#85103)
* Threshold rule exceptions

* Clean up

* Disable value lists for threshold rule exceptions

* lint

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-12 20:36:06 -05:00
Angela Chuang
7b32835226
[Security Solution] Alerts details (#83963)
* init alert details tab

* styles

* readMore button

* readmore btn

* field mappings

* add unit tests

* unit test

* fix unit test

* functional test

* isolate lineClamp component

* review

* unit test

* fix rule name in events table

* originalvalue

* unit test

* add close event details button

* rollback cypress configs

* cypress

* close events details

* remove Ip

* review

* review

* review

* review

* review

* review

* review

* fix i18n check

* fix import

* fix eslint

* use connect

* close flyout when expanded event doesn't exist in the list

* Update x-pack/plugins/security_solution/public/timelines/components/timeline/expandable_event/index.tsx

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>

* fix types

* unit test

* fix rule status badge

* isolate host name renderer

* fixup

* cypress

* cypress

* defaultModel

* review comments

* unit test

* replace findIndex with some

* review

* remove defaultModel from toggle event action

* review

* cleanup defaultModel

* unit test

* rollback handleClearSelection

* fixup

* fix i18n

* cleanup defaultmodel

* cleanup

* summary value

* fix showing timeline details

* layout

* fix timeline memoization

* fix long query

* styling

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
2020-12-12 08:24:32 +00:00
Tiago Costa
f28a80fd29
skip flaky suite (#62060) 2020-12-12 00:15:58 +00:00
Tiago Costa
d135b426af
skip flaky suite (#85098) 2020-12-12 00:10:44 +00:00
Tiago Costa
a1f5668577
skip flaky suite (#84020) 2020-12-12 00:00:25 +00:00
Tiago Costa
63cafd7cbf
skip flaky suite (#85671) 2020-12-11 23:56:35 +00:00
Tiago Costa
13d9753bef
skip flaky suite (#61612) 2020-12-11 23:51:39 +00:00
Tiago Costa
d7d9e06f37
skip flaky suite (#79389) 2020-12-11 23:47:01 +00:00
Jason Stoltzfus
31a1cc0541
[App Search] Add a Result Component (#85046) 2020-12-11 14:00:38 -05:00
Felix Stürmer
efe62acd80
[Logs UI] Add helper hooks with search strategy request cancellation (#83906) 2020-12-11 11:25:45 +01:00
Justin Ibarra
e5c7134925
[Detection Rules] Add 7.11 rules (#85506) 2020-12-10 21:45:44 -09:00
Frank Hassanabad
28738e6b4b
[Security Solution] Fixes CIDR, float, long, integer, array, and text based issues when using value lists in exceptions (#85191)
## Summary

Fixes different bugs/issues when using exceptions with value based lists for both the UI, the backend, and the large value based lists. See https://github.com/elastic/kibana/issues/79516, but this also fixes several other bugs found mentioned below.

For the front end UI:
* Adds the ability to specify value based lists that are IP Ranges when the source event is an IP. Before you could only match IP to IP and the IP Ranges lists could not be used. 
* Breaks down a few functions into smaller functions for unit test writing abilities.

You can now add ip ranges as list values for the UI when before it would not show up:
<img width="1035" alt="Screen Shot 2020-12-07 at 2 15 39 PM" src="https://user-images.githubusercontent.com/1151048/101406552-d6819b00-3896-11eb-9fb5-4c7c2ad93b2e.png">

For value based lists:
* Fixes text data type to use "and" between matching using `operator: 'and'` and changes it from a `terms query to a `match` query
* Adds new API for searching against types called `searchListItemByValues ` so that numeric, text, array based, and other non-stringable types can be sent and then the value based lists will push that to ElasticSearch. This shifts as many corner cases and string/numeric coercions to ElasticSearch rather than Kibana client side code.
* Adds ability to handle arrays within arrays through a `flatten` call.
* Utilizes the `named queries` from ElasticSearch for the new API so that clients can get which parts matched and then use that for their exception list logic rather than in-memory string to string checks. This fixes CIDR and ranges as well as works with arrays.

For the backend exception lists that used value based lists:
* Broke down the `filterEventsAgainstList` function into a folder called `filters` and the functions into other files for better unit based testing.
* Changed the calls from `getListItemByValues` to `searchListItemByValues` which can return exactly what it matched against and this will not break anyone using the existing REST API for `getListItemByValues` since that REST API and client side API stays the same.
* Cleaned up extra promises being used in a few spots that async/await automatically will create. 
* Removed the stringabilities and stringify in favor of just a simpler exact check using `JSON.stringify()`

For the tests:
* Adds unit tests to broken down functions
* Adds ip_array, keyword_array, text_array, FTR tests for the backend.
* Adds more CIDR and range based FTR tests for the backend.
* Unskips and fixes all the numeric tests and range tests that could not operate previously from bugs.

### Checklist

Delete any items that are not applicable to this PR.

- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
- [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
2020-12-10 18:07:47 -07:00
Trent Mick
2ea0816e57
[APM] add sanitize_field_names & transaction_ignore_urls vars to Node.js agent remote config (#85655) 2020-12-10 16:41:48 -08:00
Candace Park
4e4e55029c
[Security Solution][Endpoint][Admin] Api guard for paid policy features (#84667) 2020-12-10 18:53:55 -05:00
Aaron Caldwell
8b2faf77a5
Add test handling for alert instantiation (#85632) 2020-12-10 16:25:55 -07:00
Pete Harverson
bf869422e1
[ML] Only show _doc_count for anomaly detection job summary count field (#85444)
* [ML] Only show _doc_count for anomaly detection job summary count field

* [ML] Use array filter for removing _DOC_COUNT field
2020-12-10 22:30:39 +00:00
Michael Olorunnisola
5897017ac5
[Security_Solution][Resolver] Update resolver load experience and disabled text (#85618) 2020-12-10 17:12:41 -05:00
Devon Thomson
ac189b8c25
Deangularize Dashboard (#82909)
Deangularized dashboard application
2020-12-10 16:46:50 -05:00
Christos Nasikas
dec668ab6b
[Actions] Fix external service urls (#85556)
* Fix services urls

* Improve tests
2020-12-10 23:24:53 +02:00
Gergely Kalapos
7d0a7b7745
[APM] enable sanitize_field_names for .NET (#85616) 2020-12-10 22:01:48 +01:00
ymao1
ab082647ac
[Actions] Notify only on action group change (#82969)
* plugged Task Manager lifecycle into status reactively

* fixed tests

* Revert "fixed tests"

This reverts commit e9f2cd05bd.

* made action group fields optional

* revert deletion

* again

* extracted action type for mto its own component

* extracted more sections of the action form to their own components

* updated icon

* added docs

* fixed always firing alert

* fixed export of components

* fixed react warning

* Adding flag for notifying on state change

* Updating logic in task runner

* Starting to update tests

* Adding tests

* Fixing types check

* Tests and types

* Tests

* Tests

* Tests

* Tests

* Tests

* Renaming field to a more descriptive name. Adding migrations

* Renaming field to a more descriptive name. Adding migrations

* Fixing tests

* Type check and tests

* Moving schedule and notify interval to bottom of flyout. Implementing dropdown from mockup in new component

* Changing boolean flag to enum type and updating in triggers_actions_ui

* Changing boolean flag to enum type and updating in alerts plugin

* Fixing types check

* Fixing monitoring jest tests

* Changing last references to old variable names

* Moving form inputs back to the top

* Renaming to alert_notify_when

* Updating functional tests

* Adding new functional test for notifyWhen onActionGroupChange

* Updating wording

* Incorporating action subgroups into logic

* PR fixes

* Updating functional test

* Fixing types check

* Changing default throttle interval to hour

* Fixing types check

Co-authored-by: Gidi Meir Morris <github@gidi.io>
2020-12-10 15:51:52 -05:00
Shahzad
317608420a
Apply terminateAfter params in index status API (#85432) 2020-12-10 21:42:49 +01:00
John Dorlus
d9c62d0e13
Added accessibility test for ingest node pipelines (#84983)
* Added accessibility test for ingest node pipelines empty state.

* Added accessibility test for detail view and list view and added helpers to keep the test class clean.

* Added the rest of the tests for a11y for ingest node pipelines and updated some test subjects to aid the testing.

* Fixed the spacing issues.

* Update config.ts

Uncommitted other test files.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 15:33:58 -05:00
Marra Sherrier
6ef4764b45
Add new EQL icon to rule creation flow [Pending EUI update] (#84934)
* updating eql icon

* deleted import line

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 15:05:15 -05:00
igoristic
d743107420
Fixed filter based on current node (#85615) 2020-12-10 14:56:23 -05:00
Phillip Burch
617852f602
[Metrics UI] Node details design feedback (#85433)
* Add back the tooltip

* Add selected state

* lint fixes

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 13:38:17 -06:00
Phillip Burch
e8e6780fef
[Metrics UI] Hide drawer on inventory (#85503)
* Hide drawer on inventory

* Add lint fixes
2020-12-10 13:37:49 -06:00
Phillip Burch
5e172c97a2
[Metrics UI] Synch time for metrics ui Kibana time (#85502)
* Synch time for inventory and metrics explorer with Kibana time

* Mock timefilter

* more mocks
2020-12-10 13:37:32 -06:00
Phillip Burch
92c0a407f5
Fix double loading of invneotry page when there's a default view (#84843)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 13:37:20 -06:00
Chris Cowan
20bad37aa9
[Observability][Metrics UI] Refactor Observability Overview for Performance (#84955)
* [Observability][Metrics UI] Refactor Observability Overview for Performance

* Fixing case to match EUI guidelines

* Changing alert consumer for Metrics UI to infrastructure

* Removing unused translations

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 12:35:27 -07:00
Poff Poffenberger
cda3627a79
[Reporting/PDF] Layout option for generating full-page Canvas reports (#84959)
* [Reporting/PDF] Custom layout option for Canvas

* fix snapshots

* --wip-- [skip ci]

* check pdf data

* add test

* functional tests work

* add fixme comment

* read strings from pdf for test

* Update reports.ts

* function name / comment improvment

* Add Canvas toggle to choose pdf layout type

* Fix Canvas pdf panel storybook test

* Update style for new Canvas report type switch

* Update canvas share menu snapshot

* Fix tests for validating Canvas PDF using inline snapshots

Run test server with:
node scripts/functional_tests_server.js --config x-pack/test/functional/config.js

Run test suite with:
node scripts/functional_test_runner.js --config x-pack/test/functional/config.js --grep 'Canvas PDF Report'

* Fix i18n and typo

* Add a test for removing borders

* Fix i18n

* Update snapshot

Co-authored-by: Timothy Sullivan <tsullivan@elastic.co>
Co-authored-by: Tim Sullivan <tsullivan@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 13:34:47 -06:00
Ryland Herrick
fbe48221ae
[Security Solution][Detections] Signals Migration API (#84721)
* WIP: basic reindexing works, lots of edge cases and TODOs to tackle

* Add note

* Add version metadata to signals documents

* WIP: Starting over from the ground up

* Removes obsolete endpoints/functions
* Adds endpoint for checking the migration status of signals indices
* Adds helper functions to represent the logical pieces of answering
  that question

* Fleshing out upgrade of signals

* triggers reindex for each index
* starts implementing followup endpoint to "finalize" after reindexing
  is finished

* Fleshing out more of the upgrade path

Still moving logic around a bunch.

* Pad the version number of our destination migration index

Instead of e.g. `.siem-signals-default-000001-r5`, this will generate
`.siem-signals-default-000001-r000005`.

This shouldn't matter much, but it may make it easier for users at a
glance to see the story of each index.

* Fleshing out more upgrade finalization

* Verifies that task matches the specified parameters
* Verifies that document counts are the same
* updates aliases
* finalization endpoint requires both source/dest indexes since we can't
  determine that from the task itself.

* Ensure that new signals are generated with an appropriate schema_version

* Apply migration cleanup policy to obsolete signals indexes

After upgrading a particular signals index, we're left with both the old
and new copies of the index. While the former is unlinked, it's still
taking up disk space; this ensures that it will eventually be deleted,
but gives users enough time to recover data if necessary.

This also ensures that, as with the normal signals ILM policy, it is
present during our normal sanity checks.

* Move more logic into component functions

* Fix type errors

* Refactor to make things a little more organized

* Moves migration-related routes under signals/ to match their routing
* Generalizes migration-agnostic helpers, moves them to appropriate
  folders (namely index/)
* Inlined getMigrationStatusInRange, a hyper-specific function with
  limited utility elsewhere

* Add some JSDoc comments around our new functions

This is as much to get my thoughts in order as it is for posterity.

Next: tests!

* Adds integration tests around migration status route

* Adds io-ts schema for route params
* Adds es_archiver data to represent an outdated signals index

* Adds API integration tests for our signals upgrade endpoint

* Adds io-ts schema for route params
* Adds second signals index archive, updates docs
* Adds test helper to wait for a given index to have documents
* Adds test helper to retrieve the relevant index name from a call to
  esArchive.load

* WIP: Fleshing out finalization tests

* Consolidate terminalogy around a migration

We're no longer making a distinction between an upgrade vs. an update
vs. a migration vs. a reindex: a migration is the concept that
encompasses this work. Both an index and individual documents can
require a migration, but both follow the same code path to migrate.

* Implement encoding of migration details

This will be a slightly better API: rather than having to pass all three
fields to finalize the migration, API users can instead send the token.

* Better transformation of errors thrown from the elasticsearch client

These often contain detailed information that we were previously
dropping. This will give better info on the migration finalization
endpoint, but should give more information across all detection_engine
endpoints in the case of an es client error.

* Finishing integration tests around finalization endpoint

This lead to a few changes in the responses from our different
endpoints; mainly, we pass both the migration token AND its constituent
parts to aid in debugging.

* Test an error case due to a reindexing failure

This would be really hard to reproduce with an integration test since
we'd need to generate a specific reindex failure. Much easier to stub
some ES calls to exercise that code in a unit test.

* Remove unnecessary version info from signals documents

We now record a single document-level version field. This represents the
version of the document's _source, which is generated by our rule
execution.

When either a mapping _or_ a transformation is added, this version will
be bumped such that new signals will contain the newest version, while
the index itself may still contain the old mappings.

The transformation pipeline will use the signal version to short-circuit
unnecessary transformations.

* Migrate an index relative to the ACTUAL template version

This handles the case where a user is attempting to migrate, but has not
yet rolled over to the newest template. Running rules may insert "new"
signals into an "old" index, but from the perspective of the app no
migration is necessary in that case.

If/when they roll over, the aforementioned index (and possibly older
ones) will be qualified as outdated, and can be migrated.

* Enrich our migration_status endpoint with an is_outdated qualification

This can be determined programatically, but for users manually
interpreting this response, the qualification will help.

* Update migration scripts

* More uniform version checking

* getIndexVersion always returns a number
* version comparisons use isOutdated

* Fix signal generation unit tests

We now generate a version field to indicate the version under which the
signal was created/migrated.

* Support reindex options to be sent to create_migration endpoint

Rather than having to perform a manual reindex, this should give API
users some control over the performance of their automated migration.

* Fix signal generation integration tests

These were failing on our new signal field.

* Add unit tests for getMigrationStatus

* Add a basic test for getSignalsIndicesInRange

Since this is ultimately just an aggregation query there's not much else
to test.

* Add unit test for the naming of our destination migration index

* Handle write indices in our migration logic

* Treat write indices as any other index in migration status endpoint
* Migration API rejects requests containing write indices
* Migration API rejects requests containing unknown/non-signals indices

* Add original hot phase to migration cleanup policy

Without this phase, ILM gets confused as it tries to move to the delete
phase and fails.

* Update old comment

The referenced field has changed.

* Delete task document as part of finalization

* Accurately report recoverable errors on create_signals_migration route

If we have a recoverable error: e.g. the destination index already
exists, or a specified index is a write index, we now report those
errors as part of the normal 200 response as these do not preclude other
specified indices from being migrated.

However, if non-signals indices are specified, we do continue to reject
the entire request, as that's indicative of misuse of the endpoint.
2020-12-10 13:12:39 -06:00
Craig Chamberlain
313d85e985
[ML] Adds security_linux and security_windows Modules (#85065)
* initial commit

refactored multi-index, multi-pipeline jobs for 7.11. These are new modules that will live alongside the existing jobs.

* Update ml_modules.tsx

added new module names to the list

* Update get_module.ts

added new module names

* Linter fixes

* Order matters

* manifest fixes

added colon char to the module name and shortened the description

* additon to description

after talking with the security team today, adding this suggested text to the beginning of the description so it will tend to be visible to the user:
"This is a new refactored job which works on ECS compatible events across multiple indices."

* Adjust module recognizer test for auditbeat dataset

* influencers

changes to the metadata jobs to make influencers identical to the originals

* change for security app

changes to two datafeeds needed for logic in the Security app - added the suffix "_ecs" to two ids.

Co-authored-by: Garrett Spong <spong@users.noreply.github.com>
Co-authored-by: Robert Oskamp <robert.oskamp@elastic.co>
2020-12-10 14:02:41 -05:00
John Schulz
1c36ab9236
[Fleet][EPM] Move SO work from getFileHandler to service method (#85594)
## Summary

 - Move registry URL details from handler to Registry service 
 - rename `archive/save_to_es` to `archive/storage` to better reflect its role
 - Move SO handling from http into new  `getAsset` method in `archive/storage`
 - Rearrange code in HTTP handler to be more easily moved to one or two service method(s) which deal with the logic for getting the asset.


### Checklist

- [ ] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios
2020-12-10 13:28:41 -05:00
Quynh Nguyen
008a420f81
[ML] Improve messaging and support for datafeed using aggregated and scripted fields (#84594) 2020-12-10 11:35:51 -06:00
MadameSheema
1b5d43b2e2
[Security Solution] Minimize the use of es_archiver on cypress tests (#85019)
* minimizes the uses of es_archiver

* refactor

* fixes merge issue

* fixes typecheck issue

* Update x-pack/plugins/security_solution/cypress/integration/timelines_export.spec.ts

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>

* final refactor

* final touches

* unskips skipped tests

* removes async

* fixes typo

* removes unused lines

* fixes failing test

* fixes timelines failing tests

* fixes merge issue

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 18:31:40 +01:00
Michail Yasonik
36525954a1
[GS] adding tags UI to search results (#85084)
Co-authored-by: Ryan Keairns <contactryank@gmail.com>
2020-12-10 11:16:21 -06:00
Jean-Louis Leysens
b24ee4b3ff
fix serialization of rollover (#85582) 2020-12-10 17:53:01 +01:00
Thom Heymann
051bbf073e
Require gold license for ECS audit logging (#85537)
* Require gold license for ECS audit logging

* Fix unit test

* Add suggestions from code review
2020-12-10 16:34:26 +00:00
John Schulz
00c2e960b6
[Fleet][EPM] - Do cache || saved_object || network in http handler (#85331)
## Summary

1. cf0d567 - Export function which maps file path to saved object id
2. e33d7d4 - "make it work" ™️ quality version of "use cached or saved object or registry" file in HTTP handler. It's doing too much and should eventually move the logic to service method(s).
2020-12-10 11:23:03 -05:00
Alejandro Fernández Gómez
4778365fc8
[Logs UI] Custom rendering for <LogStream /> columns (#85148)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 17:19:40 +01:00
Pete Hampton
6e7fb4a515
[7.11][Telemetry] Diagnostic Alert Telemetry (#84422)
* Port @tsg's work on task manager.

Remove 2nd var to track telemetry opt in.

Add ES client to start querying index.

Use query to get docs from a dummy index.

Change how index is queried.

Get diagnostic alerts to send to staging cluster.

Record last timestamp.

PoC on telemetry opt in via 2 processes.

Revert to original solution

* Update on agreed method. Fixes race condition.

* Expand wildcards.

* stage.

* Add rule.ruleset collection.

* Update telemetry sender with correct query for loading diag alerts.

* Add similar task tests to endpont artifact work.

* Fix broken import statement.

* Create sender mocks.

* Update test to check for func call.

* Update unused reference.

* record last run.

* Update index.

* fix import

* Fix test.

* test fix.

* Pass unit to time diff calc.

* Tests should pass now hopefully.

* Add additional process fields to allowlist.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 16:13:05 +00:00
Poff Poffenberger
3082dc8692
Lens save modal should conditionally save to library (#85568) 2020-12-10 09:55:52 -06:00
Nathan Reese
54962f9361
[Maps] fix unlinking an embedded map by reference Causes Error (#85485) 2020-12-10 08:31:28 -07:00
Devon Thomson
5c447f6642
one liner fix for lens save modal retaining the originating app connection after it has been severed (#85309) 2020-12-10 10:19:27 -05:00
Gidi Meir Morris
015f3c994b
[Alerting] Introduces a ActionSubGroup which allows for more granular action group scheduling (#84751)
This PR introduces a new concept of an _Action Subgroup_ (naming is open for discussion) which can be used by an Alert Type when scheduling actions.
An Action Subgroup can be dynamically specified, unlike Action Groups which have to be specified on the AlertType definition.
When scheduling actions, and AlertType can specify an _Action Subgroup_ along side the scheduled _Action Group_, which denotes that the alert instance falls into some kind of narrower grouping in the action group.
2020-12-10 15:16:42 +00:00
Angela Chuang
0b929f340e
fix layout on safari (#85442)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 15:09:37 +00:00
Luke Elmers
3b5ed46c9d
[data.search] Clean up arguments to esaggs. (#84973) 2020-12-10 07:40:50 -07:00
Aaron Caldwell
ad922d0f59
Geo containment alert sparsity handling: preserve active status for non-updated alerts (#85364)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 07:27:01 -07:00
Christos Nasikas
a740a3f8ca
[Security Solution][Case] Alerts comment UI (#84450)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
2020-12-10 16:17:47 +02:00
Tiago Costa
07f90fa626
skip flaky suite (#84020) 2020-12-10 13:50:07 +00:00
Jean-Louis Leysens
f6c149f4f2
[ILM] Moved error and loading notices for data allocation (#85154)
* moved error and loading notices for data allocation field to below description

* removed test code

* expect controls to be showing, only render notice after network request has finished

* added loading spinner for field inputs

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 14:39:57 +01:00
Anton Dosov
cb29438b0d
[Search] Fix dashboard embeddables don't refetch on searchSessionId change (#84261) 2020-12-10 14:21:35 +01:00
ymao1
488591560b
Fixing recovered instance reference bug (#85412) 2020-12-10 07:20:53 -05:00
Jean-Louis Leysens
dbd14ad39f
[ILM] Add shrink field to hot phase (#84087)
* moved shrink field to shared_fields and added it to the hot phase

* updated test

* update legacy jest test

* removed configuration context for now

* remove unused i18n and remove duplicated isRolloverEnabled check;

* fixed shrink field to use new described field component

* added test for removing shrink field in serialization and re-ordered fields in hot phase advanced
2020-12-10 10:50:31 +01:00
Dario Gieselaar
04428ff93b
[APM] Service overview: Dependencies table (#83416)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 10:32:01 +01:00
Shahzad
29235267c9
[Uptime ]Update empty message for certs list (#78575)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 10:08:06 +01:00
Joe Reuter
2038582358
[Graph] Fix graph saved object references (#85295) 2020-12-10 09:36:06 +01:00
Cauê Marcondes
af9492b301
[APM] Create new API's to return Latency and Throughput charts (#85242)
* breaking /transactions/charts into /latency and /thoughput

* adding unit tests

* fixing UI

* fixing i18n

* addressing pr comments

* fix api test

* refactoring some stuff

* addressing pr comments

* addressing pr comments

* fixing test

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-10 09:14:39 +01:00
Xavier Mouligneau
0f408041b4
[SECURITY SOLUTION] Bundles _source -> Fields + able to sort on multiple fields in Timeline (#83761)
* replace _source with fields

* wip

* unit test

* regroup sorting and number together

* fix bugs from review

* mistake

* Update x-pack/plugins/security_solution/public/timelines/components/timeline/body/column_headers/index.tsx

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>

* fix snapshot

* review + fix topN and filter from detail view

* fix tests

* fix test

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
2020-12-09 22:16:38 -05:00
Nicolas Chaulet
c9b5ec7303
[Fleet] Update agent listing for better status reporting (#84798) 2020-12-09 21:07:31 -05:00
Andrew Wilkins
d8a9407a8d
[APM] enable 'sanitize_field_names' for Go (#85373)
https://github.com/elastic/apm-agent-go/pull/856 added
central config support for 'sanitize_field_names' to the
Go agent, so we can now enable it in the UI too.
2020-12-10 09:34:40 +08:00
Larry Gregory
6dfdbe2e83
Introduce external url service (#81234)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-09 18:11:53 -05:00
Larry Gregory
3b9c2e4e9c
Deprecate disabling the security plugin (#85159)
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-09 18:08:49 -05:00
Paul Tavares
6c52ac84c6
[FLEET] New Integration Policy Details page for use in Integrations section (#85355)
* new UI route to show Edit Package Policy page
* Package policy List items point to new Integration Policy details page
* Refactor to use common service to generate pkgKey
* add breadcrumb for edit policy under integrations
2020-12-09 17:50:33 -05:00
Frank Hassanabad
5bb47d48b0
[Security Solutions][Detection Engine] Fixes one liner access control with find_rules REST API
## Summary

Fixes one liner access control where during the project rename, one got named to `access` instead of `access:securitySolution`
2020-12-09 15:07:22 -07:00
Nicolas Chaulet
2355dde1e9
[Fleet] Support editing bool variable in agent policy (#85070) 2020-12-09 14:50:51 -05:00
Aleh Zasypkin
88e61a6651
Migrate API keys functionality to a new Elasticsearch client. (#85029) 2020-12-09 20:43:24 +01:00
Christos Nasikas
8b5c68ab63
[Alerts] Hide case connector (#85398)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-09 21:38:41 +02:00
Trent Mick
e3f150513c
[APM] Add log_level config option to the Node.js Agent (#85346) 2020-12-09 10:25:23 -08:00
Yara Tercero
21ea4f7a6f
[Security Solution][Detection Engine] - Improve DE query build times for large lists (#85051)
## Summary

This PR addresses the following issues:
- https://github.com/elastic/kibana/issues/76979
- https://github.com/elastic/kibana/issues/82267
- removal of unused lucene exceptions logic
2020-12-09 13:18:37 -05:00
Jonathan Buttner
e8a8f20932
[Security Solution] [Resolver] Supporting configurable ID (#84365)
* Trying to flesh out new tree route

* Working on the descendants query

* Almost working descendants

* Possible solution for aggs

* Working aggregations extraction

* Working on the ancestry array for descendants

* Making changes to the unique id for  ancestr

* Implementing ancestry funcitonality

* Deleting the multiple edges

* Fleshing out the descendants loop for levels

* Writing tests for ancestors and descendants

* Fixing type errors and writing more tests

* Renaming validation variable and deprecating old tree routes

* Renaming tree integration test file

* Adding some integration tests

* Fixing ancestry to handle multiple nodes in the request and writing more tests

* Adding more tests

* Renaming new tree to handler file

* Renaming new tree directory

* Adding more unit tests

* Using doc value fields and working on types

* Adding comments and more tests

* Fixing timestamp test issue

* Adding more comments

* Adding timerange and filters

* Updating schema

* Fixing timestamp test issue take 2

* Updating tests to use raw filter

* Adding time to generator

* Adding time filter and tests for retrieving lifecycles

* Removing min array size

* Updating the DAL

* Adding time range iso format

* Working on middleware

* Fleshing out middleware and actions

* Adding id, parent, and name fields to the top level response

* Adding logic for identifying when the view is moved

* WIP: updated data layers and selectors

* Switching to use isAnimating

* WIP: tree is displayed

* WIP: need events data for panel and fix tests

* Removing panning logic, adding comments and renaming things

* WIP: added name to graph

* Writing tests for the models

* Fixing generator start and end time generation

* Updating the mocks with the new interface

* Revert "Fixing generator start and end time generation"

This reverts commit c42ffd75c1.

* WIP: remove unnecessary front end data transformation

* Starting on loading state for nodes and details

* Find the terminated nodes in the middlewaree

* Fixing ingest tests

* Loading states seem to be working

* Removing some todos

* undo graphNodePositions naming

* Node loading state svg and pulse

* Fixing time range

* undo name changes, cleanup

* Creating mock that leverages the generator

* update tree generator

* log nested data in simulator.debugActions()

* change newResolverTree to resolverTree

* fix oneNodeWithPaginatedEvents mock and node events of type test

* Refactoring data reducer test and changing resolverTree DAL

* WIP: updating mocks

* remove deprecation tags

* Fixing the isometric tests

* Fixing process event tests

* updated resolver_tree mocks, update tests

* update additional tests

* fixing eslint

* fixing has more selectors

* update tests

* debugging click test

* Working node loading test

* Adding error cube and another test

* Adding a test for the error case

* use stored indices, update event api call for winlog, cleanup todos

* Adding more comments and restricting the analyze event to only endpoint and winlogbeat

* update to use schema provided by backend

* Fixing some type errors

* Fixing translation issue

* Fixing type errors

* Adding reload functionality

* Fixing translation issue

* Adding more tests for reload

* Cleaning comments up

* adding legend and schema info

* added legend and info popovers

* removed comment

* Adding comments and cleaning up stuff

* add schema and dataSource to mock actions

* Fixing some type errors and starting to address feedback

* Moving mock function

* Handling powershell events

* Adding test for winlogbeat schema

* remove cube loading className in favor of styledComponent

* fix closeAnalyzer jumping from middle of screen when resolver loads

* fix originID casing

* Cleaning up middleware and renaming time range

* Fixing node details test and some of the use selectors

* Fixing tests and types

* fix popover style, cube style, specific timestamp, some translations

* Fixed a test, and continuing to address feedback

* Addressing more feedback

* Refactoring the node data loading tests

* Adding selector for indices

* fix i18n, break apart graph controls, fix process event dot styles

* fix type error, styled description lists, nodeID

* style fix

* Removing unneeded test subjects

* recursion, recursion, recursion

* Calculating ancestors, descendants, generations once in factory and refactoring state

* Removing stringify replacer

* Adding default timerange to be beginning of epoch to max date in future

* refactoring winlog event query to use winlog record_id field

* fix popover toggle

* Fix type issue

* fix popover toggle

* add some tests

* fix types

* Adding link to time range comment

Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-09 12:44:59 -05:00
Zacqary Adam Xeper
a0d69ca209
[Metrics UI] Add process list header, tooltip, and empty prompt (#85202)
* [Metrics UI] Add process list header, tooltip, and empty prompt

* CPU Time -> Time
2020-12-09 11:39:06 -06:00
MadameSheema
6be8f63b52
updates cypress readme (#85434) 2020-12-09 18:26:11 +01:00
Nathan Reese
31b42a3bc7
[Maps] use index-pattern field display name in UX (#84945)
* [Maps] use index-pattern field display name in UX

* use less complex solution for es agg label

* rename

* tslint

* one more tslint fix

* review feedback

* update field_editor snapshots

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-09 10:17:05 -07:00
CJ Cenizal
43a1ae50c0
Remove 'minute' frequency option from SLM policy form because ES won't allow a frequency faster than every 15 minutes. (#84854)
* Add frequencyBlockList prop to CronEditor to allow selectively removing frequency options.
* Add unit test coverage for CronEditor component.
* Convert es_ui_shared cron editor component to TypeScript.
2020-12-09 09:14:57 -08:00
Nathan Reese
b045a95399
[Maps] keep local metrics editor state and only submit metrics to redux store when valid (#84828)
* [Maps] keep invalid metrics editor state local and only submit metrics state when valid

* review feedback

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-09 10:07:22 -07:00
Aaron Caldwell
4a94fa0b78
Add geo-containment to kibana feature config (#85221) 2020-12-09 09:26:31 -07:00