Skip to content

Express middleware with endpoints to help you monitor and manage applications

License

Notifications You must be signed in to change notification settings

jsantana-cit/express-actuator

 
 

Repository files navigation

Express Actuator

npm version Build Status Coverage Status Dependencies Status

This middleware creates a series of endpoints to help you monitor and manage your application when it's pushed to production.

It is based on Spring Boot Actuator and the healthcheck-ping module by Mathias Schreck.

Endpoints

These are the endpoints available:

  • /info - Displays application information.

    {
        "build": {
            "description": "This is my new app",
            "name": "MyApp",
            "version": "1.0.0"
        },
        "git": {
            "branch": "master",
            "commit": {
                "id": "329a314",
                "time": 1478086940000
            }
        }    
    }

    IMPORTANT: To get this information the middleware have some sort of logic:

    1. If the express app is executed with npm start it will get the data from process.env
    2. If the express app is executed with node app.js the module will look for a file named package.json where the node command was launched.
    3. Git information will show only if exists a git-properties file where the app was launched. You can use node-git-info to generate this file.
  • /metrics - Shows ‘metrics’ information for the current application.

    {
        "mem": {
            "heapTotal": 14659584,
            "heapUsed": 10615072,
            "rss": 30093312
        },
        "uptime": 19.797
    }

Installation

$ npm install express-actuator-healthcheck --save

Usage

var actuator = require('express-actuator');

var app = express();

app.use(actuator());

If you want the endpoints to be available on a custom endpoint you can do so:

app.use(actuator('/management')); // It will set /management/info instead of /info

Health check of external dependencies

You have to create a file 'healthcheck.config.yml' in the BFF directory to verify the dependencies external of module.

Example of the YML configuration file:

checks:
  - name: Google
    endpoint: http://www.google.com
  - name: The New York Time
    endpoint: https://www.nytimes.com
  - name: Test Fail EndPoint
    endpoint: http://testfailendpoint.com

About

Express middleware with endpoints to help you monitor and manage applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%