Go to file
Garrett Spong dd05b8b911
[SIEM] Use bulk actions API when updating or deleting rules (#54521) (#54663)
## Summary

This PR updates the `All Rules Table` actions to use the new bulk API introduced in https://github.com/elastic/kibana/pull/53543. More robust error reporting has also been added to let the user know exactly which operation has failed. Note that individual `update`/`delete` requests now also go through the bulk API as this simplifies the implementation and error handling.

Additional features:
* Adds toast error when failing to activate, deactivate or delete a rule (related https://github.com/elastic/kibana/issues/54515)
* Extracted commonly used toast utility for better re-use
* Removes ability to delete `immutable` rules


##### Activate/Deactivate Before:
![bulk_activate_before](https://user-images.githubusercontent.com/2946766/72196245-0ea50300-33d4-11ea-8d49-5ebdb63db1a1.gif)
(Ignore failed requests from test env -- request count is important here)


##### Activate/Deactivate After:
![bulk_activate_after](https://user-images.githubusercontent.com/2946766/72196361-c0443400-33d4-11ea-9a42-11f66c64e925.gif)



##### Delete Before:
![bulk_delete_before](https://user-images.githubusercontent.com/2946766/72196249-149ae400-33d4-11ea-80fc-b2f7fb83245f.gif)
(Ignore failed requests from test env -- request count is important here)

##### Delete After:
![bulk_delete_after](https://user-images.githubusercontent.com/2946766/72196366-c803d880-33d4-11ea-90d8-f1917b18035f.gif)

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

- [x] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)
- [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)
- [ ] ~[Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~
- [x] [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
- [ ] ~This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~

### For maintainers

- [ ] ~This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
- [ ] ~This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
2020-01-13 17:19:33 -07:00
.ci [7.x] Flaky test runner improvements/fixes (#49367) (#54591) 2020-01-13 12:14:42 -05:00
.github Revert commit of CODEOWNERS in non-master branch 2019-12-11 12:11:56 -08:00
bin Update node options Initialization on our scripts (#40302) (#43358) 2019-08-15 17:30:07 +01:00
common/graphql [Uptime] Implement EuiSuperDatePicker (#28217) 2019-01-18 13:44:58 -05:00
config Hide stderr git output during APM agent configuration (#52878) (#52890) 2019-12-12 17:58:40 +01:00
data
docs Support "Deprecated" label in advanced settings (#54539) (#54660) 2020-01-14 01:14:03 +02:00
examples [State Management] State containers improvements (#54436) (#54562) 2020-01-13 14:12:25 +01:00
licenses
packages [7.x] Add support for workspaces in NP x-pack plugins (#53825) (#54479) 2020-01-13 10:27:02 -07:00
rfcs/text Console to NP ready (#43346) (#45511) 2019-09-12 18:30:03 +02:00
scripts autofix all violations 2019-12-13 23:55:01 -07:00
src Support "Deprecated" label in advanced settings (#54539) (#54660) 2020-01-14 01:14:03 +02:00
style_guides Style guide cleanup (#46464) (#46559) 2019-09-25 13:19:15 +02:00
tasks [7.x] share specific instances of some ui packages (#54079) (#54514) 2020-01-10 20:20:18 -07:00
test [Lens][Dashboard] Adding Lens to Dashboard (#53110) (#54607) 2020-01-13 19:33:34 +00:00
typings [State Management] State syncing utilities (#53582) (#54454) 2020-01-13 10:10:56 +03:00
utilities remove use of experimental fs.promises api (#53346) (#53796) 2019-12-25 21:28:41 -07:00
vars [7.x] Elasticsearch snapshots automation (#53706) (#54150) 2020-01-08 10:27:17 -05:00
webpackShims [7.x] share specific instances of some ui packages (#54079) (#54514) 2020-01-10 20:20:18 -07:00
x-pack [SIEM] Use bulk actions API when updating or deleting rules (#54521) (#54663) 2020-01-13 17:19:33 -07:00
.backportrc.json [backport-config] Adds 7.4 branch (#44402) 2019-08-29 10:11:53 -07:00
.browserslistrc [7.x] [autoprefixer] upgrade to 9.6.1, unify browserslist hand… (#41145) 2019-07-15 13:01:17 -07:00
.editorconfig
.eslintignore [7.x] Move @kbn/es-query into data plugin (#51014) (#51783) 2019-11-26 16:07:16 -07:00
.eslintrc.js [7.x] share specific instances of some ui packages (#54079) (#54514) 2020-01-10 20:20:18 -07:00
.gitattributes [7.x] [canvas] Color fixes + Storybook 5 (#34075) (#34369) 2019-04-02 16:35:28 -05:00
.gitignore Instrument Kibana with Elastic APM (#43548) (#52186) 2019-12-04 17:04:12 +01:00
.i18nrc.json move management registry to new platform (#53020) (#54058) 2020-01-06 16:16:04 -06:00
.node-version Update Node.js to version 10.18.0 (#52865) (#53471) 2019-12-18 15:48:59 +01:00
.nvmrc Update Node.js to version 10.18.0 (#52865) (#53471) 2019-12-18 15:48:59 +01:00
.prettierrc Increase prettier line width to 100 (#20535) 2018-07-09 22:50:37 +02:00
.sass-lint.yml Move query utils ⇒ NP (#49636) (#50633) 2019-11-14 14:49:25 +02:00
.yarnrc [kbn-pm] Use yarn workspaces for dependencies (#24095) 2018-11-12 12:38:11 -06:00
CONTRIBUTING.md Sync contribution guide with master (#54256) 2020-01-09 14:03:05 +01:00
FAQ.md
github_checks_reporter.json implementing github checks - second attempt (#35757) (#35906) 2019-05-01 19:53:02 -05:00
Gruntfile.js autofix all violations 2019-12-13 23:55:01 -07:00
Jenkinsfile Add PR comments to pipeline (#51504) (#52143) 2019-12-03 20:36:16 -05:00
kibana.d.ts Update eslint related packages (#48513) (#48853) 2019-10-22 06:41:28 -07:00
LICENSE.txt
NOTICE.txt Bump year in NOTICE.txt 2019-12-31 21:47:57 -05:00
package.json [7.x] Add support for workspaces in NP x-pack plugins (#53825) (#54479) 2020-01-13 10:27:02 -07:00
preinstall_check.js Apache 2.0 license headers (#19383) 2018-05-28 20:06:30 -07:00
README.md [7.x] chore: point issue links to choose (#49616) (#49648) 2019-10-29 20:37:52 +01:00
renovate.json5 [State Management] State containers improvements (#54436) (#54562) 2020-01-13 14:12:25 +01:00
STYLEGUIDE.md [7.x] Upgrade to TypeScript 3.7.2 (#47188) (#50756) 2019-11-15 13:49:03 +01:00
tsconfig.browser.json [typescript] continue to use the default config in development (#21966) 2018-08-14 15:27:07 -07:00
tsconfig.json Es ui shared updates (#46570) (#46716) 2019-10-29 11:25:50 +01:00
tsconfig.types.json [Core] Move Saved objects files to core (#38771) (#39158) 2019-06-19 17:27:16 +02:00
TYPESCRIPT.md [7.x] Update deprecated React.SFC and React.StatelessComponent types (#50852) (#51336) 2019-11-22 13:12:30 +01:00
yarn.lock fix(package): upgrade transitive dependency elliptic to v6.5.2 (#54476) (#54559) 2020-01-13 18:18:33 +01:00

Kibana

Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.

Getting Started

If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.

If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.

Using a Kibana Release

If you want to use a Kibana release in production, give it a test run, or just play around:

Building and Running Kibana, and/or Contributing Code

You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:

Documentation

Visit Elastic.co for the full Kibana documentation.

For information about building the documentation, see the README in elastic/docs.

Version Compatibility with Elasticsearch

Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.

Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.

Situation Example Kibana version Example ES version Outcome
Versions are the same. 5.1.2 5.1.2 💚 OK
ES patch number is newer. 5.1.2 5.1.5 ⚠️ Logged warning
ES minor number is newer. 5.1.2 5.5.0 ⚠️ Logged warning
ES major number is newer. 5.1.2 6.0.0 🚫 Fatal error
ES patch number is older. 5.1.2 5.1.0 ⚠️ Logged warning
ES minor number is older. 5.1.2 5.0.0 🚫 Fatal error
ES major number is older. 5.1.2 4.0.0 🚫 Fatal error

Questions? Problems? Suggestions?

  • If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.