Skip to content

A health check to verify if the node is ready to take on new connections #13782

@SimonUnge

Description

@SimonUnge

Together with @michaelklishin we have agreed to improve the set of health checks provided by RabbitMQ.

New Health Check: GET /api/health/checks/is-in-service

GET /api/health/checks/is-in-service will return a success when the node is booted and is not in maintenance mode. There already exists a function for that, rabbit:is_serving/0,
which combines rabbit:is_running/0 and rabbit_maintenance:is_being_drained_local_read/0.

rabbit:is_running/0 should be an even better alternative to even rabbit:is_booted/0.

Updates to GET /api/health/checks/protocol-listener/{protocol}

We can choose to update this endpoint to accept a comma-separated list of protocol names. Or not, it's a nice-to-have.

New Health Check: GET /api/health/checks/below-node-connection-limit

Will succeed if the node is below its node connection limit (not the virtual host one).

New Composite Health Check

GET /api/health/checks/ready-to-serve-clients can then combine

  • GET /api/health/checks/is-in-service
  • GET /api/health/checks/protocol-listener/{protocol} for AMQP 0-9-1, AMQP 1.0 (for starters anyway)
  • GET /api/health/checks/below-node-connection-limit

all into one check.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions