Skip to content

[Design] Ingest Management MVP #236

@andrewvc

Description

@andrewvc

Summary of the problem (If there are multiple problems or use cases, prioritize them)

This is the design issue corresponding to #235

The main issue here is that users would like to be able to configure (CRUD) monitors via the Kibana GUI instead of YAML.

Rough Design Outline

Our initial discussion here has been around:

  1. UI to be built primarily in Uptime with simple or no UI in IM. Will cross-link from IM to Uptime's richer UI.
  2. Only supporting HTTP monitors for parity with the IM UI (which can only show one type for now, due to technical constraints. HTTP is the most popular).
  3. Making the 'add data' button link to a simple form for creating a new monitor with Name, Schedule, and URL, Tags (combo box) as basic options with some expandable advanced area. Tags don't have to be in MVP.
  4. Adding an edit button for individual monitors that will also trigger the same form.
  5. As a stretch goal we can add additional advanced options, probably hidden by default
  6. Will be a flyout

User stories

As an Uptime user I'd like to be able to create, edit, update, and delete monitors if I have 'all' access to the app (Read access users would not be able to).

List known (technical) restrictions and requirements

This has to work with the ingest manager. Each monitor config would be analogous to the Ingest manager's 'policy' objects, which are created in the Security UI. There's a back and forth between ingest management and Uptime in this case due to how Ingest management works.

Ideally we'd support all of the Heartbeat monitor options at some point. There's quite a few (especially for HTTP monitors). We'll probably have to segment options between basic and advanced.

The only mandatory fields are:

  • Name: human readable name for the monitor
  • Schedule: how often the monitor runs, e.g. every minute, day etc. (Note: Heartbeat supports a cron style syntax as well, but for our MVP I think it's much easier to just support common intervals of seconds, minutes and hours).
  • Host/URL: Host for TCP and ICMP, URL for HTTP, e.g. http://www.elastic.co

There are heaps other options in the docs too of course.

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions