-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Heartbeat] Suite Monitor discovery mode #29917
Comments
Pinging @elastic/uptime (Team:Uptime) |
I'd propose we change the syntax from @vigneshshanmugam any objection to me merging the syntax from that issue into your example here? |
Not at all, I will merge the example with the updated syntax. |
Earlier today, while talking about elastic/synthetics#451, we have discussed whether we will be implementing suites in 8.2 or delay until the synthetics app implementation. Therefore, we may want to push this for later. With regards to terminology, however, it doesn't seem like further refinement is needed given our agreement on what copy to use in the meeting earlier today. |
@vigneshshanmugam @andrewvc We've discussed this a bit, but could you help me crystalize this in my mind in writing. What is the purpose of the id in Currently the The saved objects client does allow us to specify an id rather than using a random uuid id. My assumption though is that the id provided by I am also wondering how the proposal to include a user-provided "monitor id" will impact this spec. Relating to elastic/synthetics#451, both @lucasfcosta @vigneshshanmugam proposed a mechanism for allowing the user to overwrite the monitor id in the journey. For example:
Will we use this id as the actual monitor id or as an internal id for merging saved objects? Assuming we continue using this user-provided value as an internal id rather than a monitor id, I'm worried that there may be confusion if we aren't careful about this feature. What will the expectations from our users be? Will they anticipate that the If we aren't intending to use this as an actual monitor id, but only as an internal id, I would prefer to remove the word Other than my confusion about the |
Your understanding is correct, that ID should be used as an internal ID for merging saved objects on the kibana side. We could, by the way, rather than a UUID, do what heartbeat does now, which is concatenate the suite ID with the journey ID (joining them with a Going forward, I'd like us to get to the point where we can make the |
I would urge here to use the same pattern that we follow in HB to generate the monitor id for suites which will be
Yeah I guess thats fine, but by the moment we start allowing the configuration of monitor schedule and other parameters, the |
One thing that just came to mind while reading the spec: what happens to the current ZIP URL monitors? Do they need the I wonder whether we could just enable "discovery" by default and always have discovery behaviour if the specified source is a ZIP URL or if discovery settings exist (like the caching settings for example)? Or am I missing something here? |
It's a good question @lucasfcosta . I don't see a way around us supporting both methods for a while, if for no other reason than that this will initially only work with monitor management on the service. At a minimum we'll need the synthetics node integration active to fully deprecate the current method of operation. Additionally, this assumes fleet / the service, what about regular heartbeat users? Will we remove synthetics support for them? Some use heartbeat with Logstash for instance. Since we are technically beta we could consider deprecating / killing support for that, but I wouldn't make that call lightly. |
Indeed, those considerations about backwards compatibility seem really important. Just to be sure I understood your point of view, when you say:
You mean that we should be able to still support individual monitor creation and management from Heartbeat and thus make the flag explicit even if users use ZIP URLs? I ask this because I was thinking that we could still have full support for all users (including fleet/service/HB). However, we'd just change how the data is sent and displayed by Kibana by making the discovery process implicit (i.e. it would be "on" when users add ZIP URLs and they don't need to know about what happens behind the scenes, we just display it nicely in Kibana). Please let me know if I misunderstood what you meant or didn't see a possible challenge in doing that. |
Closing in favor of elastic/synthetics#470 |
Issue
Currently, we don't have a good way to deal with these below situations when one of the error occurs on running monitors that are zip url endpoints.
Network Error : ZIP url endpoint is not reachable, downloadable.
Syntax Error: Cannot run journeys due to syntax errors in one of the journey files
Run Error: Duplicate journey Id's.
Proposal
Introduce a
discovery
mode in Heartbeat that would create essential documents for the UI to create monitors based on the journeys. See also #30571 , for caching the discovered zips on a cloud storage endpoint for the serviceError cases
The text was updated successfully, but these errors were encountered: