背景
纯nodejs 搭建的监控系统。
依赖
client
- shelljs
- node-schedule
- socket.io-client
server
- nuxt
- koa
- element-ui
- mongoose
- echarts
- http://socket.io
client
通过配置定时任务的方式,执行 shell 执行,然后往服务器端发送监控信息(websocket)。
收集的数据
cpu
收集 cpu 使用情况。
使用的是 top
指令。
具体指令:top -b -n 1 | grep Cpu | awk '{print $2}'|cut -f 1
内存
其中包括: 总内存, 已用内存, 空闲内存, 缓冲(buffer), 缓存(cache)
使用的是 free
指令。
具体指令:free -wm | grep "Mem" | awk '{print $2,$3,$4,$6,$7}' OFS=","
日志信息
主要通过监听文件变化,发送日志到服务器。
主要基于 fs
指令。
网络
主要监听网络的下载带宽和上传带宽。
使用的是 iftop
指令。
具体指令:iftop -Pp -Nn -t -L