当前位置:七道奇文章资讯系统安全Linux安全
日期:2011-01-23 03:26:00  来源:本站整理

善用脚本 让你的Nagios记录系统监控日记(附vmstat详解)[Linux安全]

赞助商链接



  本文“善用脚本 让你的Nagios记录系统监控日记(附vmstat详解)[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
我是一名linux/unix系统工程师,平常用Nagios自动监测公司的内网开辟环境及外网利用环境.Nagios报警功效很强盛,但有时我们的系统组有这个需求,分外是系统繁忙时但愿能留下日记,以供解析:毕竟是遭到了攻击,还是开辟人员设置不当,亦或是运维人员窜改了系统配置等.机械少时大概问题不大,但公司的CDN服务器集群是一百多台,目前看形势还在增长,所以我想计划一个shell脚本来作Nagios的增补,在系统繁忙时别离出日记,供系统组同事们一同解析问题,得出问题的症结所在.

这里介绍下以vmstat为底子的系统监控脚本/root/monitor.sh

此脚本计划思惟与功效实现:

①此脚本计划为Nagios监控补遗,Nagios是当即监控服务器状况并当即报警,但美中不足的不能记录其状况及日记,所以计划此脚本;

②此脚本已在FreeBSD上成功调试运行,亦实用于RHEL/Centos系统;

③这里以常用生产服务器HPDL380G6(英特尔至强E5540@2.53GHz双四核)为根据,r的阀值为4;

脚本内容以下

  1. #!/bin/bash  
  2. while :   
  3. do  
  4. vmr=`vmstat | tail -1 | awk '{print $1}'`  
  5. if [ ${vmr} -gt 4 ]  
  6. then  
  7. date   >> /root/monitor.txt  
  8. vmstat >> /root/monitor.txt  
  9. netstat -anp >> /root/monitor.txt  
  10. ps -aux>> /root/monitor.txt  
  11. last   >> /root/monitor.txt  
  12. tail -10 /var/log/messages >> /root/monitor.txt  
  13. fi  
  14. sleep 60 
  15. done  
  16.  

此脚本可放至后台运行 sh /root/monitor.sh & ,如遇CPU繁忙的情形,它会自动记录系统日记等以供解析.

这里增补下vmstat的具体信息.这部份资料参考南非蜘蛛,若有问题可咨询本文作者抚琴煮酒:yuhongchun027@163.com.

用vmstat监督内存利用情形

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动举行监督.它是对系统的整体情形举行统计,不足之处是无法对某个进程举行深化解析.

vmstat的语法以下:

vmstat [-V] [-n] [delay [count]]

此中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的耽误时间;count是指按照这个时间隔断统计的次数.关于vmstat输出各字段的含义,可运行man vmstat查看.

vmstat号令有四个可选标志可供利用.假如机械有虚拟地址缓存-c标志就改变输出报告缓存革新统计数据.报告包含自从系统启动后每种缓存革新全部总量.六个缓存范例是用户,上下文,区域,段,页,部份页.

-i标志 使输出变成报告中止的数目.假如给出设备名,如d1,d2等,监控将在设备级*履行,(*注,参阅第十二章有关翻开设备级监控的信息.)并报告每个给定设备的统计信息.

改正"普通"报告来显示交换而非页面调度活动的信息.这选项改变显示的两个字段:si(换入)和so(换出)替换了re和mf字段.

值得注意是,interval 和count选项对-i或-s选项是不法的.

vmstat 参数详解

procs:
r-->在运行行列中等候的进程数 
b-->在等候io的进程数 
w-->可以进入运行行列但被替换的进程

memoy
swap-->现时可用的交换内存(k表示) 
free-->闲暇的内存(k表示)

pages
re--》回收的页面 
mf--》非严重错误的页面 
pi--》进入页面数(k表示) 
po--》出页面数(k表示) 
fr--》空余的页面数(k表示) 
de--》提早读入的页面中的未命中数 
sr--》通过期钟算法扫描的页面

disk 显示每秒的磁盘操作. s表示scsi盘,0表示盘号

fault 显示每秒的中止数 
in--》设备中止 
sy--》系统中止 
cy--》cpu交换

cpu 表示cpu的利用状况
cs--》用户进程利用的时间 
sy--》系统进程利用的时间 
id--》cpu闲暇的时间

假如 r常常大于 4 ,且id常常少于40,表示cpu的负荷很重.

假如pi,po 长期不等于0,表示内存不足.

假如disk 常常不等于0, 且在 b中的行列 大于3, 表示 io性能不好.

由vmstat看服务器

普通VMSTAT工具的利用是通过两个数字参数来完成的,第一个参数是采样的时间隔断数,单位是秒,第二个参数是采样的次数.如:

[oracle@brucelau oracle]$ vmstat 1 2 
   procs                      memory    swap       io  system         CPU
r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
1  0  0      0 271844 186052 255852   0   0     2     6  102    10   0   0 100
0  0  0      0 271844 186052 255852   0   0     0     0  104    11   0   0 100

(注:目前系统几近闲暇,并且差别操作系统VMSTAT输出内容有所差别)

目前说来,关于服务器监控有效处的器量主要有:

r(运行行列)
pi(页导入)
us(用户CPU)
sy(系统CPU)
id(闲暇)

通过VMSTAT辨认CPU瓶颈

r(运行行列)展示了正在履行和等候CPU资源的任务个数.当这个值超越了CPU数目,就会呈现CPU瓶颈了.

得到CPU个数的号令(LINUX环境):

cat /proc/cpuinfo|grep processor|wc –l

当r值超越了CPU个数,就会呈现CPU瓶颈,办理办法大体几种:

1. 最简单的就是增添CPU个数

2. 通过调整任务履行时间,如大任务放到系统不繁忙的情形下举行履行,进尔均衡系统任务

3. 调整已有任务的优先级 

通过VMSTAT辨认CPU满负荷

首先需求声明一点的是,vmstat中CPU的器量是百分比的.当us+sy的值接近100的时刻,表示CPU正在接近满负荷工作.但要注意的是,CPU满负荷工作并不能阐明什么,UNIX老是试图要CPU尽大概的繁忙,使得任务的吞吐量最大化.唯一可以肯定CPU瓶颈的还是r(运行行列)的值. 

通过VMSTAT辨认RAM瓶颈

数据库服务器都只有有限的RAM,呈现内存争用现象是Oracle的常见问题.

首先察看RAM的数目,号令以下(LINUX环境):

[root@brucelau root]#free
           total       used       free       shared     buffers     cached
Mem:       1027348     873312     154036     185736     187496     293964
-/+ buffers/cache:       391852      635496
Swap:      2096440          0      2096440

当然可以利用top等其他号令来显示RAM.

当内存的需求大于RAM的数目,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特别磁盘段上,这样会呈现虚拟内存的页导出和页导入现象,页导出并不能阐明RAM瓶颈,虚拟内存系统常常会对内存段举行页导出,但页导入操作就表明了服务器需求更多的内存了,页导入需求从SWAP DISK上将内存段复制回RAM,招致服务器速度变慢.

办理的办法有几种:

1. 最简单的,加大RAM

2. 改小SGA,使得对RAM需求削减

3. 削减RAM的需求(如:削减PGA)   以上是“善用脚本 让你的Nagios记录系统监控日记(附vmstat详解)[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 善用脚本 让你的Nagios记录系统监控日记(附vmstat详解)
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .