Skip to content
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

Better handling of endpoints deployed into elastic scale environments #2019

Merged
merged 102 commits into from
Sep 12, 2024

Conversation

johnsimons
Copy link
Member

@johnsimons johnsimons commented Aug 21, 2024

Description

This is part of fixing Update monitoring for elastic scale environments, which allows ServicePulse to better handle endpoint deployments in elastic scale environments.

This PR introduces a few changes to ServicePulse UI/X.

Configuring logical endpoint to handle elastic scale environments

A new configurable option to specify whether logical endpoint instances should be "tracked" or "not tracked".

  • Track Instances is the best setting for endpoints where all instances are hosted in physical infrastructure that is not auto-scaled, such as physical or virtual servers.
  • Do Not Track Instances is the best setting for endpoints hosted in infrastructure with autoscalers. Examples are Kubernetes, Azure Container Apps and AWS Elastic Container Service.

This setting is exposed in the Configuration tab of Heartbeats

image

There is also the option to bulk configure all endpoints as well as set the default for newly discovered endpoints.

Logical endpoints

As part of this change, we've also updated the Heartbeats screens to always display endpoints as logical

image

In the list above, as you can see, we now display the following:

  • Whether endpoint instances have been muted
  • The number of instances alive and total
  • Whether the endpoint is configured as Track instances or not

Endpoint instances

These are now reached by clicking on the logical endpoints from the above section.
image

In this screen, you can:

  • Delete an instance that is no longer needed, e.g. it has been decommissioned
  • Mute/Unmute alerts
  • Bulk Mute/Unmute alerts for all instances, useful when you are rolling out updates and want to pause alerts for the whole endpoint

Miscellaneous updates

  • All heartbeats screens are rendered as tables
  • All data is sortable
  • All tables are paged

Documentation

Visit our docs website for documentation regarding this new feature.

PhilBastian and others added 30 commits August 15, 2024 13:41
Bootstrap tooltip has a hardcoded width and it is quite dificult to configure it based on usage, see https://stackoverflow.com/questions/14596743/how-do-you-change-the-width-and-height-of-twitter-bootstraps-tooltips
Show less for untracked instances in counters
(cherry picked from commit 595bc95)
…Pulse into elastic_scale

# Conflicts:
#	src/Frontend/src/components/heartbeats/HeartbeatConfiguration.vue
@johnsimons johnsimons changed the title always display logical endpoints and show how many instances total Better handling of elastic scale endpoints Sep 11, 2024
@johnsimons johnsimons changed the title Better handling of elastic scale endpoints Better handling of endpoints deployed into elastic scale environments Sep 11, 2024
@johnsimons johnsimons marked this pull request as ready for review September 11, 2024 03:37
<p>{{ endpoint.alive_count }} alive</p>
</template>
</template>
<i v-if="endpoint.track_instances" class="fa fa-server" :class="endpointHealth(endpoint)"></i>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we were discussing making these components... Still keen?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would definitely be better if we are copy pasting them

src/Frontend/src/stores/HeartbeatsStore.ts Outdated Show resolved Hide resolved
…Pulse into elastic_scale

# Conflicts:
#	src/Frontend/src/components/heartbeats/EndpointInstances.vue
@johnsimons johnsimons added this to the 1.42.0 milestone Sep 12, 2024
@johnsimons johnsimons added the Type: Feature Type: Feature label Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature Type: Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants