应用监控系统

做这个系统其实当时的想法是开放给开发,然后开发自己做一些自己需要的监控,以便最早发现问题,但是做完发现跟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 

我突然觉得我在写一步步的写程序,有点啰嗦了,直接把源码贴出来就行了呗!
不过有些说明还是要写清楚的
3、redis使用
安装就不说了,其实启动起来就可以了,需要修改配置文件在(我突然发现我写的代码有多垃圾……):

vi /data/jsproject/monitor/routes/get_mes.jsvar redis_config = {"host": "192.168.0.10", //redis server ip"port": 6379  //redis server port
};vi /data/jsproject/monitor/routes/schedule.js var redis_config = {"host": "192.168.0.10", //redis server ip"port": 6379  //redis server port
};

4、发邮件,需要配置邮件服务器

vi /data/jsproject/monitor/routes/schedule.js var transport = nodemailer.createTransport(smtpTransport({host: "mail.xxx.com", // 主机secure: false, // 使用 SSLsecureConnection: false, // 使用 SSLport: 25, // SMTP 端口auth: {user: "user", // 账号pass: "pass" // 密码}
}));

5、运行是不是没写。。。

cd /data/jsproject/monitor
node bin/www
或者可以用pm2 启动
pm2 start bin/www --name "monitor"

代码质量确实不咋地,凑合着看吧^_^…………
找了半天也没找到上传的地方在哪里。。。。
http://down.51cto.com/data/2448806 <--------在这里

转载于:https://blog.51cto.com/314258/2116410

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1381912.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

大众点评Cat实时应用监控平台服务端部署

关于cat服务端部署的相关文档地址如下&#xff1a; https://github.com/dianping/cat/wiki/readme_server 话不多说&#xff0c;接下来就按照官方文档流程走一遍&#xff0c;我这里是使用的Windows系统进行部署。 第一步确认环境&#xff1a; 我这边使用的是如下环境&#xff…

Skywalking 快速搭建应用监控

今天我们就着重讲一讲如何基于 Skywalking 来快速搭建一套应用性能监控平台 一、Skywaling 介绍 Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的开源项目&#xff0c; 2017年12月SkyWalking成为Apache国内首个个人孵化项目&#xff0c; 2019年4月17日SkyWalking从…

SprngBoot Admin (应用监控)

1 简介 SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标&#xff0c;Spring Boot Admin通过这些指标来监控SpringBoot应用&#xff0c;然后通过图形化界面呈现出来。Spring Boot Admin不仅可以监控单体应用&#xff0c;还可以和Spring Cloud的注册中心相结合来…

行业分析| anyRTC智慧视频监控的应用

智慧视频监控是安全防范系统的重要组成部分&#xff0c;不仅可以达到一般视频监控系统的远程控制监控、视频回看&#xff0c;满足治安管理、城市管理、交通管理、应急指挥等需求&#xff0c;还具备防盗报警系统的预警信息作用&#xff0c;在预防、发现、控制、打击违法犯罪&…

十四、应用监控(2)

本章概要 监控信息可视化邮件报警 14.2 监控信息可视化 Spring Boot 中提供了监管信息管理段&#xff0c;用来实现监控信息的可视化&#xff0c;这样可以方便开发者快速查看系统运行情况&#xff0c;而不用一个一个地调用接口。 创建 Spring Boot Web 工程&#xff0c;添加以…

Prometheus应用监控

1.主流机器与应用Prometheus,skywalking监控体系分享介绍 应用监控介绍 目前市面上开源应用的APM系统主要有CAT、Zipkin、Pinpoint、SkyWalking。目前市面上机器监控软件有zabbix&#xff0c;Prometheus(也能监控应用&#xff0c;及其他中间件产品)。 Zipkin是Twitter开源的…

系统与应用监控的思路和方法

0、前言 在实际的性能分析中&#xff0c;一个很常见的现象是&#xff0c;明明发生了性能瓶颈&#xff0c;但当你登录到服务器中想要排查的时候&#xff0c;却发现瓶颈已经消失了。或者说&#xff0c;性能问题总是时不时地发生&#xff0c;但却很难找出发生规律&#xff0c;也很…

应用程序服务器监控

什么是应用程序服务器监视 为了确保业务应用程序的最佳性能&#xff0c;必须使用应用程序服务器监视工具&#xff0c;以深入了解应用程序的运行状况和正常运行时间。应用程序服务器监视可帮助您识别性能不足的服务器组件以及性能问题的根本原因&#xff0c;修复它们并确保应用…

应用监控

简介 Spring Boot提供了运行时的应用监控和管理的功能。我们可以通过http、JMX、SSH协议来进行操作。审计、健康及指标信息将会自动得到。 Endpoints 列举一些主要的endpoints &#xff1a; 敏感信息访问限制 根据上面表格&#xff0c;鉴权为false的&#xff0c;表示不敏…

应用监控以及告警实现

前言 一个Java应用 可以不优秀&#xff0c;但是一定不能没有监控方案。否则极大影响排查线上问题的效 以及系统故障的及时告警 。试想 核心应用挂了一个 但是没有配置告警 理想情况几个小时 被自己人发现了 但是万一自己人也没看到或者没关注 那难道让服务一直挂下去么 &#…

十四、应用监控(1)

本章概要 监控端点配置&#xff08;开启端点&#xff0c;暴露端点&#xff0c;端点保护&#xff0c;端点响应缓存&#xff0c;路径映射&#xff0c;CORS支持&#xff0c;健康信息&#xff0c;应用信息&#xff09; 当一个Spring Boot 项目运行时&#xff0c;开发者需要对 Spr…

一篇文章讲透线上应用监控

“线上服务停了&#xff0c;要重启一下”&#xff1f;久经职场做研发的程序员&#xff0c;视线会逐渐转移到线上应用的运行状态。设想一下&#xff0c;如果你在半夜两点正在酣眠美梦时&#xff0c;微信群里突然炸开锅&#xff1a;“服务停了&#xff0c;先重启。。。”&#xf…

如何设置时间倒计时

开发工具与关键技术&#xff1a;Visual Studio 2015、SQL Server 2014 作者&#xff1a;黄世豪 撰写时间&#xff1a;2019年01月31号相信很多小伙伴在做项目时会遇到过要用到时间倒计时的效果&#xff0c;下面我们来实现一下如何将自己设置的时间来让其进行时间倒计。 jsp调用…

js倒计时读秒

1.需求及分析 最近,接到一个接收手机验证码的功能&#xff0c;大体就是设置一个定时器&#xff0c;在每次执行的时候将秒数&#xff0c;逐个减去1&#xff0c;小于0的时候&#xff0c;清除定时器&#xff0c;然后完善一下功能&#xff0c;例如&#xff0c;加上一下状态的变化&…

C#实现倒计时的功能

软件界面&#xff1a; 软代码&#xff1a; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;na…

android studio高考倒计时,高考倒计时app排行榜

编辑推荐 时间管理倒计时 v1.3.0 大小&#xff1a;13.7MB 更新时间&#xff1a;21-04-14 下载 时间管理倒计时&#xff0c;一款专为小伙伴打造的手机时间规划工具&#xff0c;为小伙伴提供更强大的规划服务&#xff0c;在这里小伙伴可以自由规划自己的时间&#xff0c;为小伙伴…

VS2015+C#实现倒计时小程序

最近疫情严重&#xff0c;在家呆着也是呆着&#xff0c;于是就想学一下上位机的编写&#xff0c;权衡利弊之后&#xff0c;选择了C#语言&#xff0c;原因是据说它写出来的上位机比较小&#xff0c;不占内存。开发环境就用VS吧&#xff0c;用的人挺多的。好了&#xff0c;进入正…

C#之一个倒计时小应用程序的实现

只能开始计时&#xff0c;不能停止计时 代码&#xff1a; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.W…

易语言编写倒计时小程序

本人为编程爱好者&#xff0c;非专业人员。 最近工作中需要用到编写倒计时软件&#xff0c;故有此篇。 软件功能&#xff1a; 1.时间倒计时 2.倒计时会有一个透明放大的标签显示时间 3.各窗口可隐藏 以下为软件运行界面&#xff1a; 代码&#xff1a; .版本 2 .支持库 she…