Express Monitoring
Package allows to define custom monitoring controls (rules)
and execute them using express handlers.
This NodeJS adaptation of Horat1us/yii2-monitoring
package for PHP.
Written on Typescript.
Installation
Using NPM:
npm i express-monitoring
Documentation
Structure
- Controller - controller with express request handlers
- Control - interface for monitoring control items.
- Compose - pre-defined control to compose another controls.
- Dependency - pre-defined control to block execution of another control.
- FailureError - error class to be thrown in controls.
Usage
You need to define your own Control or use one of pre-defined.
Then, just create Controller instance and add it to routes.
import * as monitoring from "express-monitoring";
const SomeControl: monitoring.Control = () => {
const isSuccessful = false;
if (!isSuccessful) {
throw new monitoring.FailureError(
"Something goes wrong.",
0,
{},
"NotSuccessful"
);
}
return {};
};
let controls = {
"controlID": SomeControl,
};
const Monitoring = new monitoring.Controller(controls);
import * as express from "express";
const app = express();
const port = 3000;
app.get('/monitoring/:id', Monitoring.control);
app.get('/monitoring/full', Monitoring.full);
app.listen(3000, () => `Monitoring app listening on port ${port}`);
Then you can make request GET http://localhost:3000/monitoring/controlID
.
For response examples see Documentation.
License
MIT