标签:
?? 在搭建服务器时,除了部署webapp之外,还需要服务的异常信息与服务器性能指标进行监控,一旦有异常则通知管理员。
?? 服务器使用Linux+Nginx-1.9.15+Tomcat7+Java搭建的。
?? 编写脚本检测错误日志和服务器性能指标,一旦新生错误日志或者性能降低到设定的阈值时,则使用云监控将报警上传到云账号。
?? 错误日志包含以下三个方面:
?? 一般都会使用linux系统的机器作为服务器,那么当在上面搭建服务时,需要对一些常用的性能指标进行监控,那么一般包含哪些指标呢?下面对其进行一些总结,欢迎补充…
说明
?? 机器的CPU占有率越高,说明机器处理越忙,运算型任务越多。一个任务可能不仅会有运算部分,还会有I/O(磁盘I/O与网络I/O)部分,当在处理I/O时,时间片未完其CPU也会释放,因此某个时间点的CPU占有率没有太大的意义,因此需要计算一段时间内的平均值,那么平均负载(Load Average)这个指标便能很好得对其进行表征。平均负载:它是根据一段时间内占有CPU的进程数目和等待CPU的进程数目计算出来的,其中等待CPU的进程不包括处于wait状态的进程,比如在等待I/O的进程,即指那些就绪状态的进程,运行只缺CPU这个资源。具体如何计算可以参见Linux内核代码,计算出一个数之后,然后除以CPU核数,结果:
查看命令
vmstat
vmstat n m
vmstat 5
uptime
top
查看命令
vmstat
free
top
cat /proc/meminfo
分析
表示系统Mem正常,主要有以下规则:
df
vmstat
iostat
sar -d 1 1
sar -d
表示查看磁盘报告 1 1 表示间隔1s,运行1次 iostat
说明
?? 如果服务器网络连接过多,那么会造成大量的数据包在缓冲区长时间得不到处理,一旦缓冲区不足,便会造成数据包丢失问题,对于TCP,数据包丢失便会进行重传,这有会导致大量的重传;对于UDP,数据包丢失不会进行重传,那么数据便会丢失。因此,服务器的网络连接不宜过多,需要进行监控。
??服务器一般接收UDP与TCP请求,都是无状态连接,TCP(传输控制协议)是一种提供可靠的数据传输协议,UDP(用户数据报协议)是一种面向无连接的协议,即其传输简单但不可靠。关于它们二者之间的区别,可以查阅相关资料。
查看命令
netstat
netstat -ludp | grep udp
netstat -su
netstat
cat /proc/net/snmp | grep Tcp
netstat -na | sed -n ‘3,$p‘ |awk ‘{print $5}‘ | grep -v 127\.0\.0\.1 | grep -v 0\.0\.0\.0 | wc -l
lsof -n | awk ‘{print $1,$2}‘ | sort | uniq -c | sort -nr
? ? 脚本检测nginx、tomcat与webapp运行异常日志(包括nginx与tomcat是否正在运行)与服务器性能七个指标,一旦发现异常信息和性能超标,那么马上发送邮件给管理员,也可以使用云监控push给管理员的云账号。
[1]http://pmghong.blog.51cto.com/3221425/1230423
[2]http://www.cnblogs.com/peida/tag/linux%E5%91%BD%E4%BB%A4/
标签:
原文地址:http://blog.csdn.net/heyongluoyao8/article/details/51413668