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

ftw.monitor - health monitoring and warmup #5143

Closed
jone opened this issue Nov 26, 2018 · 6 comments
Closed

ftw.monitor - health monitoring and warmup #5143

jone opened this issue Nov 26, 2018 · 6 comments
Assignees
Milestone

Comments

@jone
Copy link
Member

jone commented Nov 26, 2018

Harvest: OneGov GEVER - Softwarepflege (Refactoring/Bug)

Some of our deployments are currently running in a single-threaded setup with a separate monitoring server. The setup seems to stand the test. Therefore we would like to standardize the setup for GEVER and also provide the tools for other Plone deployments in the company.

Thoughts:

  • In a single-threaded setup it is not wise to use a HTTPok monitor running on the regular HTTP port: it would restart the instance when it is currently working on a long-running request since there is no second port to test. HTTPok should be disabled.
  • We still want to have a health monitoring. Therefore we need a separate health monitoring server.
  • Since we want the health monitoring to hold back until the warmup of the instance is finished, warmup and health monitoring is coupled and needs to go to the same product.

Idea:

  • Build a new product ftw.monitor (open for better names).

Monitoring Server:

  • Provide a health monitoring server. The essence should be extracted from Monitor server opengever.maintenance#152.
  • Avoid building on top of collective.monitor in order to avoid additional ZCML. It should be possible to use ftw.monitor without any additional ZCML code.
  • Let port be configurable through environment variable.
  • Use the default port of instance_port + 80 (e.g. 10102 --> 10182). This is 4teamwork opinionated and that is ok, since it is configurable through environment variable. At 4teamwork we want to go with no configuration at all.

Warmup:

  • Extract the catalog warmup functionality from opengever.maintenance.
  • Make the list of indexes configurable, e.g. through an adapter. The default list should be minimal. It shouldn't load all indexes as they might be to big to fit into the RAM.
  • While warming up, the monitoring server should respond negatively.

Buildout:

  • Provide a default buildout configuration in ftw-buildouts. It's probably better to make that an extension to the production.cfg so that older installations do not change.

@lukasgraf I'd like to know your opinion here. Feel free to enhance and update the concept. We'd like to do that in the 2019.1 if possible.

@jone jone added this to the Release 2019.1 milestone Nov 26, 2018
@lukasgraf
Copy link
Contributor

Related: 4teamwork/ftw-buildouts#138

@lukasgraf
Copy link
Contributor

@jone sounds good to me! (Planned for FedEx Day 2019)

@deiferni
Copy link
Contributor

Lock gemäss 4teamwork/ftw.monitor#2 aufgehoben.

@deiferni deiferni removed the Wait label Sep 24, 2019
@lukasgraf
Copy link
Contributor

lukasgraf commented Oct 21, 2019

Remaining Tasks to switch SaaS deployments:

@phgross phgross modified the milestones: Release 2019.3, Sprint #8 Oct 25, 2019
@lukasgraf lukasgraf self-assigned this Nov 4, 2019
@lukasgraf
Copy link
Contributor

The work in ftw.monitor is finished and tech review is pending at 4teamwork/ftw.monitor#3

For the required buildout changes I created a new issue at #6045. Estimated remaining work: 5 SP

@phgross
Copy link
Member

phgross commented Nov 28, 2019

Fachliches Review: 👍

Issue für nächster Task (SaaS deployments) bereits erfasst #6097

@phgross phgross closed this as completed Nov 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants