基于node.js搭建的监控系统
发布于 7 年前 作者 zhuyali 5945 次浏览 来自 分享

监控指标

  • 访问特定域名的PV和UV量
  • 机器的硬件情况(CPU,内存,磁盘等)
  • 特定域名下,各个URL的请求次数,响应时间信息
  • MySQL数据库的增删改查次数
  • Tomcat上的垃圾回收、会话信息等

核心内容

  • 收集信息,有专门用于采集信息的程序用来采集信息
  • 存储信息,把采集到的信息存储到mongo数据库中
  • 展示信息,使用echarts将信息图表化
  • 清理信息,无需进行长期存储的信息定时清除

服务端搭建

服务端主要基于koa进行框架搭建,与正常的服务端程序无异

前端搭建

前端主要基于webpack+antd+react进行页面搭建

信息获取模块

  • Nginx信息获取使用了开源项目OpenResty
  • Tomcat信息获取使用了Oracle开放的JMX
  • 硬件信息主要根据公司里运维的工作习惯定制

成果展示

  • PV/UV页面
  • Nginx页面

Github源码地址

open-catlog 各个模块简介如下: moniter-server:项目服务端 moniter-view:项目前端 TomcatMonitor:Tomcat监控模块 nginxMonitor:Nginx监控demo模块,具体可在自己公司内部的nginx.conf文件中进行相应配置 mysql_tools:MySQL监控模块 os_tools:硬件监控模块

Github工程运行步骤

首先,要保证本地有node环境

克隆工程到本地:git clone git@github.com:open-catlog/monitor-server.git
安装依赖:npm i
本地运行项目:npm run start

然后在浏览器输入 localhost:6789 就可以看到最终的页面展示了

由于这是个人的小作品,很多地方考虑不周到,也是学习node和前端的阶段性产出,希望大家能多给一些意见和建议!

8 回复

不错,支持一下

最好写个 README,能有直接访问观看的 Demo 网站更好~

不错,赞

@hyj1991 好的,会尽快补充README

@jizhuofeng 偶遇同事啊…太吓人了

怎么跑起来啊。。。好像没看到页面的代码啊···

@ipengyo 页面的代码在 https://github.com/open-catlog/monitor-view 里面,但是已经打包好放到服务端程序目录下了,所以可以直接运行服务端的程序就能看到效果。

回到顶部