opendistro-for-elasticsearch / alerting-kibana-plugin

📟 Open Distro Kibana Alerting Plugin
https://opendistro.github.io/
Apache License 2.0
140 stars 62 forks source link

Local uri input monitor support #250

Open AWSHurneyt opened 3 years ago

AWSHurneyt commented 3 years ago

Issue #, if available: 166

Description of changes: This PR is inherited from #166. Implementations are adapted from #166 for use with LocalUriInput.

Internal Changes

  1. Refactored HttpInput to LocalUriInput to reflect that this feature only supports local clusters at this time. Only a path field has been exposed as host and port only support localhost and 9200 for now.
  2. Modified several components to make the create monitor, edit monitor, and create trigger pages display properly for LocalUriInput type monitors.
  3. Modified formikToMonitor.js to handle LocalUriInput type monitors.
  4. Added LocalUriInput.test.js snapshot test.
  5. Added snapshot tests for formikToInputs() and formikToLocalUri() in formikToMonitor.test.js.
  6. Added can build LocalUriInput monitor test to monitorToFormik.test.js.

External Changes

  1. Modified getOverviewStats to display Local URI definition type.
  2. The Response block on the create monitor page will display the response contents for the API called using the provided path.
  3. Modified CreateTrigger.js such that the Trigger Condition block on the create trigger page will display the first field name in the API response for LocalUriInput monitors (e.g., ctx.results[0].XXX != null).

UX Screenshots Additional option in the 'define monitor' dropdown menu

LocalUriInput_dropdown_menu

The 'Create Monitor' page LocalUriInput_create_monitor_page

The 'Create Trigger' page LocalUriInput_create_trigger_page

The 'Monitor Overview' page LocalUriInput_monitor_overview_page

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.