UNPKG

endpoint-monitor

Version:
93 lines (90 loc) 3.71 kB
# Endpoint Monitor # 端点监控 ### Version: 1.0.3 ### 版本:1.0.3 ### License: MIT License ### 协议:MIT - - - Dependencies: 依赖: - chalk: `^4.1.2` Colorful comments 彩色日志 - cookie-parser: `^1.4.6` Cookie Parser Cookie解析 (Used for marking clients, 用于标记客户端) - json-beautify: `^1.1.1` JSON Beautify 美化JSON (Used for pretty printing json in console, 在控制台打印的JSON更美观) - - - How to install: 如何安装 - `mkdir server && cd server` - `npm i endpoint-monitor --save` - Configure `monitor.config.json` 配置`monitor.config.json` There is a format of the configuration: 这里有一份配置的格式 ```typescript { logSystem?: { isOutputToConsole?: boolean; //default: true isOutputToFile?: boolean; //default: true logOutputFile?: string; //default: logs/[Date].log placeholders: [Date] [Hour] [Minute] }, checkSystemMSec ?: number; //check system status(cpu sec and memory usage) per ms, default: 25 //save records to log default 200ms, 8 times of checkSystemMSec, if no warnings collection?: { //record requests and system status outputPath ?: string; //default: 'null' } ban?: { //[not realize currently] ip?: Array<string | RegExp>; cookie?: Array<string | RegExp>; token?: Array<string | RegExp>; }, rules?: { //[not realize currently] ban?: { ip?: Array<number>; cookie?: Array<number>; token?: Array<number>; }, }, warnings?: { cpu?: string; // ex. 5% usingMemory?: string | number; // ex. 5% or 1048576 (Bytes) freeMemory?: string | number; // ex. 5% or 1048576 (Bytes) websiteQps?: number; //[not realize currently] endpointQps?: number; //[not realize currently] outputPath?: string; //default: warnings.log } }; ``` `?:` Means optional `?:`表示可选 - - - Methods: 方法: - `logger` Logger system 日志系统 > `logger` has an constructor > You can use `const log = new logger('name');` to create a new logger > There are several different levels in logger, sorted by lower > - TRACE > - DEBUG > - INFO > - WARN > - ERROR > - FATAL > > Default output level is `INFO`, you can set level to `DEBUG` by `log.filter = logger.DEBUG` > examples: ```javascript const monitor = require('endpoint-monitor'); const log = new monitor.logger('Test'); log.info('Endpoint Monitor'); //output: [2022-08-24T21:54:24.896Z] [INFO] Test - Endpoint Monitor ``` - - - We hooked the HTTP Server, and added monitoring for requests and responses. 我们对HTTP服务器做了钩子,增加了对请求和响应的监控 You can use `const http = monitor.http` instead of `const http = require('http');` 你可以使用`const http = monitor.http;` 来代替 `const http = require('http');` API is all the same. 应用程序接口是全部一样的。 It only supports native http server so far. 目前仅支持的原生http服务器的支持 ~~It will add supports for `express` in the near future. 将来会增加对`express`框架的支持~~ Support for express: [Endpoint-Monitor-Express](https://www.npmjs.org/endpoint-monitor-express) - - - ### Change Log ### 更改日志 - @1.0.0 -> @1.0.1 add patch for if no set warnings, no print sysinfo - @1.0.0 -> @1.0.1 增加了对不设置警告不打印系统信息的补丁 - @1.0.1 -> @1.0.2 expose interface for config - @1.0.1 -> @1.0.2 暴露获得配置文件的api - @1.0.2 -> @1.0.3 add support for express - @1.0.2 -> @1.0.3 增加了对express框架的支持