micro-health
micro-health is used as an extension for micro to add the route /health
to your service. It was meant to implement the Health Check API microservice design pattern for microservices monitoring. For long read I suggest reading this page.
Usage
cd my-micro-project/npm install --save micro-health
and add use the package like this:
// index.jsconst health = const microFn = 'Hello World'moduleexports =
then just run your microservice normally and it will expose a /health
endpoint.
By default the health request it will return you an HTTP 200 response with a 'success' message and it will fail if the microservice isn't available, this guarantees that your microservice is working or not regardless of the other functions of microservice itself. Also it supports a custom errorChecker:
// index.jsconst health = const microFn = { // Wonderful code} const errorChecker = { // Check if database pool connection is full // Check if there is still space on filesystem // Check if external APIs are working try await catch e return error: e // You can also return false to pass the health checking moduleexports =
If error aren't falsy the health request will return an HTTP 500 response with the returned object by the error checker.
There are several tools for health checking such us:
Or... you can just build your own!
Contributing
- Fork this repository to your own GitHub account and then clone it to your local device
- Link the package to the global module directory:
npm link
- Within the module you want to test your local development instance of micro-cacheable, just link it to the dependencies:
npm link micro-health
. Instead of the default one from npm, node will now use your clone of micro-health!
Credits
Thanks to ZEIT Team for giving us micro to make our life easier!