服务器运行状况全面监测上_第1页
服务器运行状况全面监测上_第2页
服务器运行状况全面监测上_第3页
服务器运行状况全面监测上_第4页
服务器运行状况全面监测上_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux服务器运行状况全面监测(上)随着Linux应用的日益广泛,有大量的网络服务器使用Linux操作系统。为了全面衡量网络运行状况,就需要对网络状态做更细致、更精确的测量。SNMP协议的制订为互联网测量提供了有力支持。计算机系统是 由软件系统硬件系统组成的,检测硬件状态对于保障整个系统的稳定是非常重要的。不论操作系统是使用Linux、还是Windows,一旦硬件出现故障,那么整个系统的安全就严重了。这里我们主要监测Linux服务器的CPU、硬盘、内存、网络接口、主板等硬件的工作状态。一、/proc文件系统特点Linux 系统向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需

2、要重新引导内核系统。这是通过 /proc 虚拟文件系统实现的。/proc 文件虚拟系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on the fly) 改变设置 (通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。不用重新启动而去看 CMOS ,就可以知道系统信息。这就是 /proc 的妙处之一。/proc 目录里主要文件内容,见表1:文件或目录名称描述apm 高级电源管理信息cmdline   内核命令

3、行cpuinfo关于中央处理器信息devices可以用到的设备(块设备/字符设备)dma显示当前使用的DMA通道filesystems 核心配置的文件系统ioports 当前使用的I/O端口interrupts 显示使用的中断kcore 系统物理内存映象kmsg 核心输出的消息,被送到syslog文件 ksyms 核心符号表loadavg系统平均负载均衡meminfo 存储器使用信息,包括物理内存和交换内存modules 当前加载了哪些核心模块。net 网络协议状态信息partitions系统识

4、别的分区表pcipci设备信息scsiscsi设备信息self到查看/proc 的程序的进程目录的符号连接stat全面统计状态表swaps交换分区情况uptime系统启动的时间长度version 核心版本号     每个Linux系统根据软硬件不同/proc 虚拟文件系统的内容也有些差异。/proc 虚拟文件系统有三个很重要的目录:net,scsi和sys。Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi目录不存在。除了以上介绍的这些,还有的是一些以数字

5、命名的目录,它们是进程目录。net目录包括多个 ASCII 格式的网络伪文件, 描述了网络层的部分情况,可以用arp 、netstat、route等命令来查询这些文件。除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。Proc文件系统的名字就是由之而起。 二、proc文件系统主要实现的五大功能: 1. 进程信息:对于系统中的任何一个进程来说,在proc的子目录里都有一个同名的进程ID。你将可以找到以下的信息:

6、cmdline, mem, root, stat, statm, 以及status。某些信息只有超级用户可见,例如进程根目录。到每一个单独的含有现有进程信息的进程有一些可用的专门链接。对于系统里的任何一个进程来说,都有一个单独的自链接指向进程信息。它的用处就是从进程中获取命令行信息。 2. 系统信息:如果你需要了解整个系统信息,你也可以从/proc/stat中获得。它包括:包括CPU占用、磁盘空间、内存页、内存对换、全部中断、接触开关以及上次系统自举时间。 3. CPU信息:利用/proc/cpuinfo文件,你可以获得中央处理器当前的准确信息。 4. 负载信息: /proc/loadavg文

7、件包含了系统负载信息。 5. 系统内存信息:meminfo文件包含了系统内存的详细信息。它显示了物理内存的数量,可用交换空间的数量,空闲内存的数量等等。 1.  监测服务器全面统计状态要监测全面统计状态,使用命令,结果见图1:#cat /proc/stat    图1 系统全面统计状态    以上数字依次代表:上下文切换数量;中断总量;进页面总数;出页面总数;进程总数;换入总数;换出总数;合计CPU空闲时间;合计CPU nice时间;合计CPU系统时间;合计CPU用户时间。同时提供对每个CPU的:单个CPU空闲时间;单个CP

8、U nice时间;单个CPU系统时间;单个CPU用户时间。以及对每个磁盘驱动器的如下数据:单个磁盘块读;单个磁盘块写;单个磁盘I/O总数;单个磁盘I/O读;单个磁盘I/O写。 2.监测网络流量如果要了解网络流量,可以使用命令:结果见图1。#cat /proc/net/dev        图2网络接口数据包流量    以上数字依次代表:接收到的字节;接收到的压缩字节;收到的误码数;收到的漏失误码;收到的FIFO误码;收到的帧误码;收到的多播误码;收到的总包数;已传输的字节;已传输的压缩

9、字节;传输误码总数;传输载波误码;传输冲突误码;传输漏失误码;传输FIFO误码;传输的总包数。3.使用uptime命令使用uptime命令可以查看系统负载,系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数目。如果一个进程满足以下条件则其就会位于运行队列中:没有在等待I/O操作的结果、它没有主动进入等待状态(也就是没有被调用、没有被停止。# uptime9:51pm up 3 days, 4:43, 4 users, load average:6.02, 5.90, 3.94上面命令显示示最近1 分钟内系统的平均负载是6.02,在最近5分钟内系统的平均负载是5.90,在最近的15 分钟

10、内系统的平均负载是3.94。一共四个用户。通常来说只要每个CPU的当前活动进程数不大于3那幺系统的性能就是良好的,如果每个CPU的任务数大于5,那幺就表示这台机器的性能有严重问题。对于上面的例子来说,由于笔者系统使用是双CPU,那幺其每个CPU的当前任务数为:6.02/2=3.01。这表示该服务器的性能是可以接受的。 4.使用xload图形显示系统负载如果安装了KDE环境,可以使用xload 显示系统平均负载的柱状图 ,它会定期地更新。xload是Linux一个系统命令,使用方法:# xload -options .xload 主要选项和说明:Options选项说明-fn font

11、     图形中字体-scale number在屏幕上显示最少数量的线,每一条线代表1 的平均负载。-update seconds  每一次更新的相隔时间多少时间,单位是秒。-bg color 图形背景的颜色。-fg color  图形前景的颜色。-hl color     图形中字体颜色。-remote host  远程主机名称。#xload scale 1 update 1 fg blue h300 tan上面命令表示使用xload查看系统的负载。每秒更新一次,其尺寸大小为300,

12、前景颜色为白色,背景颜色为蓝。见图3。图-3三、使用phpsysinfo由于/proc文件系统非常大,而且系统是动态变化的,所以使用Linux命令比较麻烦,这里我们使用一个工具:phpsysinfo,它是一个支持PHP网页服务器用于侦测主机一些资料的PHP 脚本工具软件,可以提取/proc文件系统中的信息,以图形方式显示出来。另外phpsysinfo支持包括中文在内的20多种语言和许多风格的模板。1.系统要求:    除了要搭建一个基于LAMP(LinuxPHPAPACHEMYSQL)的网络构架,其它系统要求:软件:它要求内核(Kenerl)至少在2.2以上。KD

13、E 2.0,桌面颜色至少16位增强色。硬件:中央处理器:奔腾II 450 以上 ,内存 64 兆 ,硬盘空间 60兆。安装前的准备工作: phpsysinfo 是用PHP语言写成的,并且使用到gdk、gtk及glib。 2.软件下载:#wget #wget  3. 软件安装: 将下载的软件拷贝到/var/www/html/目录下,执行:#mv phpsysinfo-2.3.tar.gz /var/www/html/sysinfo#tar -zxvf phpsysinfo-2.3.tar.gz #cd sysinfo #cp config.php.new config.php4.运行软

14、件:启动apache服务 #/usr/local/apache2/bin/apachectl start 测试http:/localhost/sysinfo (见图4)              图4 phpsysinfo工作界面phpsysinfo检测分成五个部分:(1)主机系统资源:主机名称、IP地址、内核版本、已开机时间、登入人数、系统负载。(2)硬件信息:CPU型号、工作频率、快取大小、逻辑操作数、PCI接口、IDE接口、SCSI接口。(3)网络负载:网络数

15、据包接收、传送、错误/遗失。(4)内存资源情况,包括物理内存、虚拟内存等。(5)已挂载分区:硬盘分区名称,使用比例。        你也可以用它来测试你所租用的虚拟主机的设备及网络状况的品质。另外phpsysinfo还可以在FreeBSD 、OpenBSD、NetBSD 、Darwin/OSX 、Unix等系统下工作。四、服务器硬盘监测服务器硬盘监测主要包括:硬盘磁道监测、磁盘空间监测。1.硬盘磁道检测硬盘物理坏道是硬盘的所有Linux硬件故障中最让人头痛的。它轻则使你的Linux计算机频频死机,重则让你的所有数据化为乌有。

16、现在出厂的硬盘(1993年)基本上都支持SMART(Self Monitoring Analysis and Reporting Technology)自动检测分析及报告技术。SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘内部电路以及盘片表面介质材料等进行监测,当SMART监测并分析出硬盘可能出现问题时会及时向用户报警以避免计算机数据受损失。SMART技术必须在主板支持的前提下才能发生作用,而且SMART技术也不能保证能预报所有可能发生的硬盘故障。SMART(SFF-8035i) 是硬盘生产商们建立的一个工业标准,这个标准就是在硬盘上保存一个跟执行情况,可靠程度,读找错误率等属性的

17、表格。所有属性都有一个1byte(大小范围1-253)的标准化值,还包含另一个1byte的关键阶段值,如果属性表格内某个数据接近小于或达到关键阶段值,表明硬盘工作不正常了。Smartmontools是一个Linux下硬盘检测工具,主页: ,最新版本:5.33-1。软件下载安装: 软件安装后会在/usr/local/ 目录下产生程序:smartctl,先检测硬盘和主板是否支持SMART技术(见图5):smartctl -i /dev/hda7            &

18、#160;      图5 检测硬盘是否支持SMART图5显示笔者的硬盘支持SMART,型号是:ST320414A(希捷的酷鱼III,72000RPM,2兆缓存)全面体检硬盘smartctl -A /dev/hda7                     图6 硬盘物理逻辑状态图6显示的信息根据你的硬盘厂商不同而不同,其中1202行代表硬盘的不同

19、物理性能。纵列代表硬盘的逻辑状态。FLAG是标记,标准数值(VALUE)应当小于或等於关键值(THRESH)。WHEN_FAILED 代表错误信息,图6中的WHEN_FAILED纵行是空行,说明硬盘没有故障。如果WHEN_FAILED显示数字,表明硬盘磁道可能有比较大的坏道。Smartctl有十几个参数,详细情况可以查看:smartctl -help2. 磁盘空间监测Linux系统管理员经常使用的磁盘管理命令:df(disk filesystem)。通过这个命令可以获得文件系统的统计数据:包括可用空间和已经使用的空间。Df命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。格式:df 选项. FIL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论