node-framework
Version:
node-framework
78 lines (46 loc) • 4.76 kB
Markdown
# 监控功能
node-framework的特点之一是内置监控模块,方便站长、开发人员、测试人员等实时掌握网站的各方面信息,了解应用的压力情况,发现并预防问题。
以下是监控功能的一些示例截图,您可以点击后查看大图:
1. 查看网站概况,包括总体请求数,响应数,进程崩溃次数,部署服务器的基本信息等。系统会在给出总体情况后分服务器给出详细信息。此外也可以根据不同的时间区段进行查看。更详细描述请点击[这里](#概况)
[](http://bs.baidu.com/weigou-baidu-com/d6e29a5fe50e5c2cb88f0b58de8498c5.png)
2. 查看网站实时情况,包括瞬时请求量以及内存和堆栈的使用情况。这些信息会随着用户应用的运行而__实时更新__。更详细的描述请点击[这里](#趋势)
[](http://bs.baidu.com/weigou-baidu-com/db7dae53afd7d937c66b5a7e6a79447e.png)
## 概况
通常来说,一个web应用会部署在多台服务器上。监控模块会将这些服务器的信息逐一收集后进行汇总统计,计算出“处理静态请求”,“处理动态请求”和“错误”个数。*鼠标浮上时可以显示更详细的信息*。

紧接着是对每个服务器分别的统计,统计指标主要有:
1. 开始运行时间
2. 已处理请求数
3. __崩溃次数__
4. 操作系统
5. CPU个数
6. 内存总量
7. 请求的分类展示,包括按类型(静态、动态)和按HTTP Method(GET, POST, PUT, DELETE)
8. 响应的分类展示,包括按类型(静态、动态、错误)和按响应时间(正常,非正常)
__请注意:__
1. 服务器名称在存在域名时(如线上服务器或开发机)显示为域名,在不存在时(如本机开发)显示为登录者用户名。
2. 响应时间是否为长时间响应取决于配置文件`config/monitor.js`的`responseWarningThreshold`。

概况信息可以分时间查看,包括“今天”,“昨天”,“一周”和“按日期”,方便查看历史记录并进行比较。
## 趋势
趋势页面会以每个服务器为单位展现它的__实时信息__,主要包含两部分信息。
1. 居上为瞬时请求数,指在一个监控周期(status frequency,下面会解释)内收到的请求数。开发人员可以根据这些数据来判断服务器的实时压力。
2. 居下为瞬时内存使用情况。node可以提供的内存信息包括驻留内存(RSS),总堆栈(HeapTotal)和已使用堆栈(HeapUsed)。开发人员可以根据这些数据来判断服务器的内存是否足够,来判断内存是否为服务器性能瓶颈。

您可以点击机器名称旁边的“暂停更新”来静止图表,从而查看更精确的数据。
监控周期(status frequency)的配置位于`config/monitor.js`的`frequency`对象中。默认情况下设置为1000ms,即一秒更新一次。如果您觉得这对服务器压力较大,可以适当增加监控周期来降低频率。
趋势图表最多返回一台服务器的近3600条数据,即在默认设置下,周期为一秒一次,则能反应近一小时的趋势情况。
## 使用
### 激活监控功能
监控功能默认是__关闭__的。激活监控功能的步骤如下:
1. 访问监控中心并[注册应用](http://cq01-rdqa-pool028.cq01.baidu.com:8888/public/create)。填入申请人邮箱和所属产品线后,能够获得全局唯一的appid和appkey。
2. 将获得的appid和appkey分别填入`config/global.js`对应的两项配置中。
3. 打开或新建配置文件`config/monitor.js`,编写配置项`enable`并且设置为`true`。
4. 如果有必要,调整适合您应用的参数。常用的包括`frequency`, `responseWarningThreshold`等。
至此,监控功能打开完毕。您的web应用会在后台静默定时发送请求给监控中心,用以记录服务器的各类状态。
### 查看监控数据
您需要访问[监控中心](http://cq01-rdqa-pool028.cq01.baidu.com:8888/)以查看数据。具体步骤如下:
1. 填入之前分配给您的appid并提交
2. 点击“概况”或者“趋势”进行查看。
## 感谢
监控功能所有图表由[echarts](http://echarts.baidu.com)提供支持,在此感谢林峰及开发团队所有人员。