监控的主要目标是为了将一些指标采样记录下来,一旦这些指标产生较大变更,可以合营报警体系将问题反馈到负责人那。监控的点可以很细致,也可以只选主要的指标。
日志监控
01
业务逻辑型的监控主要体现在日志上,做足了日志记录的工夫以后,怎样将日志使用起来是个问题。通过监控异常日志文件的变动,将新增的异常按异常类型和数目反映出来。某些异常与具体的某个体系相关,监控出现的某个异常多半能反映出子体系的状况。
除了异常日志的监控外,对于走访日志的监控也能体现出现实的业务QPS值。调查QPS的阐扬能够搜检业务在时间上的分布。
别的,从走访日志中也能实现PV和UV的监控。同QPS值同样,通过对PV/UV的监控,可以很好地晓得使用的使用者们的习惯等。
相应时间
02
相应时间也是一个需要监控的点。一旦体系的某个子体系出现异常或者性能不足,将会造成体系的相应时间变长。相应时间可以在Nginx一类的反向代理上监控,也可以通过使用自行产生的走访日志来监控。健康的体系相应时间应该是颠簸较小的、连接均衡的。
进程监控
03
监控日志和相应时间都能较好地监控到体系的状况,但是它们的条件是体系是运转状况的,所以监控进程是比前两者更为紧急的使命。监控进程一般是搜检操纵体系中运转的使用进程数,好比对于接纳多进程架构的Web使用,就需要搜检工作进程的数目,若低于预估值,就发出报警声。
磁盘监控
04
磁盘监控主要是监控磁盘的用量。因为日志频繁写的缘故,磁盘空间逐渐被用光。一旦磁盘不够用,将会激励体系的种种问题。给磁盘的使用量配置一个上限,一旦磁盘用量超过警戒值,服务器的管理者就应该整顿日志或清理磁盘了。
内存监控
05
对于Node而言,一旦出现内存泄漏,不是辣么轻易排查的。监控服务器的内存使用状况,可以搜检使用中是否存在内存泄漏的状况。若内存只升不降,辣么铁定存在内存泄漏问题。健康的内存使用该当是有升有降,在走访量大的时候上涨,在走访量回落的时候,占用量也随之回落。
若进程中存在内存泄漏,又一时没有排查办理,有一种方案可以办理这种状况。这种方案使用于多进程架构的服务器集群,让每个工作进程指定服无几许次要求,到达要求数以后进程就不再服无新的连接,主进程启动新的工作进程来服务客户,旧的进程等所有连接断开后就退出。如许即便存在内存泄漏的危害,也能有用地躲避内存泄漏带来的影响。但这属于躲避问题,只办理了问题的表象,不推荐使用。
总而言之,监控内存并长时间调查是防备体系出现异常的好技巧。若突然出现内存异常,也可以追踪到是近期的哪些代码改动造成的问题。
CPU占用监控
06
服务器的CPU占用监控也是必不可少的项,CPU的使用分为用户态、内核态、IOWait等。若用户态CPU使用率较高,说明服务器上的使用需要大量的CPU开支;若内核态CPU使用率较高,说明服务器花费大量时间进行进程调剂或者体系调用;IOWait使用率则反馈的是CPU守候磁盘I/O操纵。
CPU的使用率中,用户态小于70%、内核态小于35%且整体小于70%时,处于健康状况。监控CPU占用情况,可以赞助剖析使用程序在现实业务中的状况。合理配置监控阈值能够很好地预警。
CPU load监控
07
CPU load又称CPU平衡负载,它用来形貌操纵体系目前的繁忙程度,可以简单地理解为CPU在单位时间内正在使用和守候使用CPU的平衡使命数。它有3个指标,即1分钟的平衡负载、5分钟的平衡负载、15分钟的平衡负载。CPU load过高说明进程数目过量,这在Node中可能体现在用子进程模块反复启动新的进程。监控该值可以防备意外产生。
I/O负载
08
I/O负载指的主要是磁盘I/O。反馈的是磁盘上的读写情况,对于Node编写的使用,主要是面向网络服务,是故不太可能出现I/O负载过高的情况,大多数的I/O压力自于数据库。无论Node进程是否与数据库或其余I/O密集的使用共处相像的服务器,我们都应监控该值以防万一。
网络监控
09
固然网络流量监控的优先级没有上述项目那么高,但或是需要对流量进行监控并配置上限值。即便使用突然受到用户的钟情,流量暴涨时也能通过数值感知到网站的宣传是否有用。一旦流量超过警戒值,开发者就该当找出流量增长的缘故。对于平常增长,该当评估是否该增加硬件装备来为更多用户提供服务。网络流量监控的两个主要指标是流入流量和流出流量。
使用状况监
10
除了这些硬性需要检测的指标外,使用还该当提供一种机制来反馈其本身的状况信息,外部监控将会连接性地调用使用的反馈接口来搜检它的健康状况。
非常简单的状况反馈即是给监控相应一个时间戳,监控方搜检时间戳是否平常即可。
看见一些的状况相应则是将使用的依附项的状况标记出来,如数据库连接是否平常、缓存是否平常等。
客服支持
微信咨询
售后