码迷,mamicode.com
首页 > 其他好文 > 详细

应用监控系统

时间:2018-05-15 17:46:16      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:监控   运维监控   

做这个系统其实当时的想法是开放给开发,然后开发自己做一些自己需要的监控,以便最早发现问题,但是做完发现跟nagios\zabbix重复的相当严重,其实应该在nagios\zabbix上继续开发一下应该会更好,先贴出来吧!
技术分享图片

一、开发语言和功能实现
1、nodejs+express+bootstrap+jquery(centos系统)
2、每个应用或者IP+port的监控被添加后,都会在后台生成一个json文件,存放起来,并将被监控host写入到每五分钟监控一次的列表中;
3、每五分钟一次定时任务取五分钟监控列表,并将执行结果写入redis,redis只存最近三次的探测结果(也可以扩展到很多次),如果正常就绿色的正常,如果出现错误或者返回结果不正确,就会将此应用监控移到20s一次的监控列表中;
4、每20s一次的监控,超过三次以上的故障就会对此应用接受者发第一次的告警通知,并在后续每一小时发送一次告警通知,直至恢复;
5、一旦恢复后,就会发送恢复告警通知,并将此监控移至5分钟一次的监控。

其实有很多需要考虑的地方:1、新加入的监控,其实应该第一时间对此进行第一次的探测,如果出现异常会第一时间知道,否则,如果刚好在五分钟时,会出现五分钟的断档期;
2、其实所有的五分钟监控的策略都需要进行更改一下,因为五分钟会使一些关键业务出现致命的问题,需要进行自定义和出现问题的频率或者权重来定义监控的间隔时长......

二、安装过程+贴源码
1、安装nodejs
这个步骤很简单,只需要从nodejs的官网下载一个64位的压缩包,解压完毕后,将包放到自己想放的地方,然后加上环境变量即可,下载地址:
https://npm.taobao.org/mirrors/node/v8.11.1/node-v8.11.1-linux-x64.tar.xz

[root@m_node ~]# tar xvf node-v8.11.1-linux-x64.tar.xz 
node-v8.11.1-linux-x64/include/node/v8-platform.h
node-v8.11.1-linux-x64/include/node/v8-util.h
node-v8.11.1-linux-x64/include/node/android-ifaddrs.h
node-v8.11.1-linux-x64/include/node/uv-errno.h
node-v8.11.1-linux-x64/include/node/uv-darwin.h
node-v8.11.1-linux-x64/include/node/uv-linux.h
node-v8.11.1-linux-x64/include/node/uv-bsd.h
node-v8.11.1-linux-x64/include/node/v8-version-string.h
node-v8.11.1-linux-x64/include/node/v8-profiler.h
node-v8.11.1-linux-x64/include/node/node_api.h
node-v8.11.1-linux-x64/include/node/uv-win.h
node-v8.11.1-linux-x64/include/node/uv-aix.h
node-v8.11.1-linux-x64/include/node/stdint-msvc2008.h
node-v8.11.1-linux-x64/include/node/node_version.h
node-v8.11.1-linux-x64/include/node/zlib.h
node-v8.11.1-linux-x64/include/node/uv-unix.h
node-v8.11.1-linux-x64/include/node/zconf.h
......

[root@m_node ~]# mv node-v8.11.1-linux-x64 /usr/local/

[root@m_node ~]# vi /etc/profile
export PATH=/usr/local/node-v8.11.1-linux-x64/bin/:$PATH

2、express框架 + 增加监控项目
大家可以去详细了解一下和查阅官方文档
http://www.expressjs.com.cn/

安装express:

npm install express --save

增加express框架的监控项目

[root@m_node ~]# cd /data/jsproject/

[root@m_node jsproject]# express -e monitor

[root@m_node jsproject]# cd monitor/

[root@m_node monitor]# npm i 

本想一次性写完...

应用监控系统

标签:监控   运维监控   

原文地址:http://blog.51cto.com/314258/2116410

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!