您好,欢迎来到上海快网![请登录] [免费注册]
在线支付 | 客户建议/投诉 | 帮助中心 | 诚招代理
上海快网-联系电话

如何对Linux服务器运行状况全面监测?Linux服务器监测技巧有哪些?

2010/1/11 11:21:59 来源:上海快网

 

 

 

       今天上海快网讲解主要监测Linux服务器的CPU、硬盘、内存、网络接口、主板等硬件的工作状态。随着Linux应用的日益广泛,有大量的网络服务器使用Linux操作系统。为了全面衡量网络运行状况,Linux服务器监测技巧就还是很需要的,就需要对网络状态做更细致、更精确的测量。SNMP协议的制订为互联网测量提供了有力支持。计算机系统是由软件系统硬件系统组成的,Linux服务器监测技巧检测硬件状态对于保障整个系统的稳定是非常重要的。不论操作系统是使用Linux、还是Windows,一旦硬件出现故障,那么整个系统的安全就严重了。

一、/proc文件系统特点

  Linux 系统向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需要重新引导内核系统。这是通过 /proc 虚拟文件系统实现的。/proc 文件虚拟系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on the fly) 改变设置 (通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。不用重新启动而去看 CMOS ,就可以知道系统信息。这就是 /proc 的妙处之一。/proc 目录里主要文件内容,

  每个Linux系统根据软硬件不同/proc 虚拟文件系统的内容也有些差异。/proc 虚拟文件系统有三个很重要的目录:net,scsi和sys。Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi目录不存在。除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。net目录包括多个 ASCII 格式的网络伪文件, 描述了网络层的部分情况,可以用arp 、netstat、route等命令来查询这些文件。除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。Proc文件系统的名字就是由之而起。

二、proc文件系统主要实现的五大功能:

  1. 进程信息:对于系统中的任何一个进程来说,在proc的子目录里都有一个同名的进程ID。你将可以找到以下的信息:cmdline, mem, root, stat, statm, 以及status。某些信息只有超级用户可见,例如进程根目录。到每一个单独的含有现有进程信息的进程有一些可用的专门链接。对于系统里的任何一个进程来说,都有一个单独的自链接指向进程信息。它的用处就是从进程中获取命令行信息。

  2. 系统信息:如果你需要了解整个系统信息,你也可以从/proc/stat中获得。它包括:包括CPU占用、磁盘空间、内存页、内存对换、全部中断、接触开关以及上次系统自举时间。

  3. CPU信息:利用/proc/cpuinfo文件,你可以获得中央处理器当前的准确信息。

  4. 负载信息: /proc/loadavg文件包含了系统负载信息。

  5. 系统内存信息:meminfo文件包含了系统内存的详细信息。它显示了物理内存的数量,可用交换空间的数量,空闲内存的数量等等。

  1.  监测服务器全面统计状态

  每个磁盘驱动器的如下数据:

  单个磁盘块读;单个磁盘块写;单个磁盘I/O总数;单个磁盘I/O读;单个磁盘I/O写。

  2.监测网络流量

  如果要了解网络流量,可以使用命令: #cat /proc/net/dev

 

  以上数字依次代表:接收到的字节;接收到的压缩字节;收到的误码数;收到的漏失误码;收到的FIFO误码;收到的帧误码;收到的多播误码;收到的总包数;已传输的字节;已传输的压缩字节;传输误码总数;传输载波误码;传输冲突误码;传输漏失误码;传输FIFO误码;传输的总包数。

  3.使用uptime命令

  使用uptime命令可以查看系统负载,系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数目。如果一个进程满足以下条件则其就会位于运行队列中:没有在等待I/O操作的结果、它没有主动进入等待状态(也就是没有被调用、没有被停止。

  # uptime

  9:51pm up 3 days, 4:43, 4 users, load average:6.02, 5.90, 3.94

  上面命令显示示最近1 分钟内系统的平均负载是6.02,在最近5分钟内系统的平均负载是5.90,在最近的15 分钟内系统的平均负载是3.94。一共四个用户。通常来说只要每个CPU的当前活动进程数不大于3那幺系统的性能就是良好的,如果每个CPU的任务数大于5,那幺就表示这台机器的性能有严重问题。对于上面的例子来说,由于笔者系统使用是双CPU,那幺其每个CPU的当前任务数为:6.02/2=3.01。这表示该服务器的性能是可以接受的。

四、服务器主板工作状况监测:

  服务器主板以及CPU工作温度是否正常是服务器稳定的核心。迄今为止还没有一种CPU散热系统能保证永不失效。失去了散热系统保护伞的“芯”,往往会在几秒钟内永远停止“跳动”。值得庆幸的是,聪明的工程师们早已开发出有效的处理器温度监控、保护技术。以特殊而敏锐的“嗅觉”随时监测CPU的温度变化,并提供必要的保护措施,使CPU免受高温下的灭顶之灾。lm_sensors可以有效监控主板和CPU的工作电压、风扇转速、温度等核心数据。软件安装:

  #mv lm_sensors-2.8.8.tar.gz /usr/local/src/

  #cd /usr/local/src/

  #tar zxvf lm_sensors-2.8.8.tar.gz

  #cd /usr/local/src/lm_sensors-2.8.8

  #tar xzf i2c-2.8.8.tar.gz

  #make clean ;make dep ;make all ;make install

  #/sbin/depmod -a

  修改配置文件:“/etc/ld.so.conf”加入一行:/usr/local/lib 

  #ldconfig

  #sensors-detect  #扫描主板所有芯片,选择缺省选项即可(按会车)#

  加载模块,注意主板不一定相同。

  #modprobe i2c-isa

  #modprobe lm78

  #modprobe sis5595

  开始检测

  #sensors

  高级应用:定时检测主板运行情况:

  这里可以使用Linux组合命令:

  #watch --interval=450 “sensors ”

  这样每隔450秒运行因此sensors 令,就可以得知主板运行情况。

五、P2P通信监测

  P2P(Peer-to-Peer)是一种用于文件交换的新技术,通过Internet允许建立分散的、动态的、匿名的逻辑网络。P2P为对等连接或对等网络,点对点网络技术, 可应用于文件共享交换,深度搜索、分布计算等领域。它允许个体的PC通过Internet共享文件。随着P2P文件交换应用的普及,ISP在维持和增加宽带网的收益上也面临着新的挑战和机遇。据有关资料统计,现有的网络中有超过70%的带宽被P2P通信占据着。P2P通信会导致异常的流量峰值,对网络资源造成意外的变形;所带来的网络拥塞、性能下降等问题,已影响到正常的网络应用,如WWW、Email等,缓慢的网页浏览和收发邮件速度更引起普通用户的不满。

  识别P2P通信

  若想控制P2P通信,就必须对P2P通信进行有效地识别,然而,许多P2P通信使用了不同的通信技术和协议,使用传统的技术来识别它们非常困难。 比如,许多P2P协议不使用固定的端口,而是动态地使用端口,包括使用一些知名服务的端口。KaZaA就是可以使用端口80(通常是http/web来使用)来通信的,从而穿透传统的基于IP和端口的防火墙和包过滤器。所以,通过简单的基于IP和端口的分类技术(分析IP包头、IP地址、端口号等)很难识别、跟踪或控制这类通信。过去有一段时间,有人使用监测6881~6889端口来识别BT(BitTorrent),但这种做法现在早已失效——BT已不再使用固定的6881~6889端口来通信,而是动态地使用端口。随着P2P应用的不断增长,更多的通信协议被使用;识别和分类P2P的技术必须快速、简单,以适应这种技术的变化。现在,识别P2P通信的方法是在应用层分析数据包,看是否有某个应用协议的特征码,然后确定通信的种类。应用层分析数据包的基本方法是,如果应用层数据包的头部有“220 ftp server ready”的特征串,可以确定是在使用ftp程序;如果有“HTTP/1.1 200 ok”的特征串,可以确定是在使用http传送数据。谈到网络流量监控,相信大家都熟悉MRTG这个工具。但是MRTG存在许多缺点:

  1.     使用文本式的数据库,数据不能重复使用; 。

  2.      只能按日、周、月、年来查看数据;

  3.      只能画两个DS(一条线、一个块);

  4.     无管理功能;

  5.     没有日志系统;

  6.     无法详细了解一一流量具体构成;

  这里介绍一个工具:ntop能够更加直观的将网络使用量的情况和每个节点计算机的网络带宽使用详细情况显示出来。ntop是一种网络嗅探器,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。可以通过分析网络流量来确定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有黑客正在攻击网络系统。如果怀疑网络正在遭受攻击,通过嗅探器截获的数据包可以确定正在攻击系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网络进行相应的调整,以保证网络运行的效率和安全。通过ntop网管员还可以很方便地确定出哪些通信量属于某个特定的网络协议、占主要通信量的是那个主机、各次通讯的目标是哪个主机、数据包发送时间、各主机间数据包传递的间隔时间等。这些信息为网管员判断网络问题及优化网络性能,提供了十分宝贵的信息。
   
  ntop提供以下一些功能:

  1. 自动从网络中识别有用的信息;

  2. 将截获的数据包转换成易于识别的格式;

  3. 对网络环境中的通讯失败进行分析;

  4. 探测网络环境下的通讯瓶颈;

  5. 记录网络通信时间和过程。

  ntop和MRTG相比相比它的安装配置比较简单,可以不使用Apache服务器。同时也可以和MRTG配合使用。目前市场上可网管型的交换机、路由器都支持SNMP协议,Ntop支持简单网络管理协议所以可以进行网络流量监控。ntop几乎可以监测网络上的所有协议: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、Netbios、TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X11、SSH和基于P2P技术的协议eDonkey, Overnet, Bittorrent, Gnutella (Bearshare, Limewire,etc), (Kazaa, Imesh, Grobster)。在http://www.ntop.org 可以下载最新的源代码安装使用。

  软件下载:

  官方网站: http://www.ntop.org/ntop.html, 最新的版本源代码(2005nian八月)和相关函数库:

  wget http://www.mirrors.wiretapped.ne ... g/ntop/ntop-3.2.tgz

  wgrt ftp://ftp.rediris.es/sites/ftp.r ... p-0.6.2-12.i386.rpm
   
  软件安装:(注意安装顺序)

  #rpm –ivh libpcap-0.6.2-12 RPM for i386

  #tar zxvf ntop-3.2.tgz

  #cd ntop/gdchart0.94c

  #./configure

  ……

  do not forget to build:    #系统提示你先编译gd、zlib模块 #

  1. gd-1.8.3/libpng-1.2.1

  2. zlib-1.1.4/

  #cd gd-1.8.3/libpng-1.2.1/

  #cp scripts/makefile.linux Makefile

  #make

  #cd ../../zlib-1.1.4

  # ./configure

  # make

  cd ..

  # make

  下面回到Ntop目录下编译:

  #tar zxvf ntop-2.2.tgz

  #cd ../ntop/

  # ./configure

  #make;make install

  然后建立log目录

  #mkdir /var/log/ntop/

  启动ntop

  #ntop -P /var/log/ntop/ -u nobody &

  第一次运行系统它会要你输入管理员的密码,预设密码是:admin,第二次执行就不用再输入.这时你可以打开浏览器输入:http://IP:3000即可打开管理界面。查看网络整体流量用鼠标点击“Stats”按钮后下载“Triffic”选项。网络流量会以柱面图和明细表格的形式显示出,如果你想查看某个用户的计算机流量,用鼠标点击“IP Traffic”-“Host”按钮即可。如果想了解该计算机传输了那些数据,可以双击“CAO”即可分析出用户各种网络传输的协议类型和占用带宽的比例。

  Ntop可以监测的数据包括:网络流量、使用协议、系统负载、端口情况、数据包发送时间、数据生存时间TTL等。透过它﹐基本上所有进出数据都无所遁形,不管拿来做例行的网络监测工作﹐还是拿来做报告﹐都是非常优秀的工具,让您的网络流量透明化。它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况。不过﹐由于ntop本质上是嗅探器,它是一把双刃剑﹐如何保护这些信息只能给授权的人士获得﹐将变得额外重要。

总结:
   
  Linux服务器监测是很重要的工作,服务器运行应该提供最有效的系统性能。网络服务器的资料总流量(网卡的资料传送总数),以及CPU使用率和特殊服务等的封包传送率(或者说是流量),都是网络管理人员所必须要注意的事项,因为当主机的CPU使用率过高的时候,系统可能呈现不稳定的状态,而当流量发生异常变化的时候,就需要注意可能有黑客在尝试窃取我们的信息。当建立一个系统性能的可靠底线后,可以利用Linux操作系统的灵活性对其进行设置。使其更加高效。

        另外在网络管理方面,有必要了解我们Linux服务器的网络流量状态,并视流量来加以限制或者是加大带宽。 本文介绍从Linux命令到一些简单的但是有用的工具来监测系统性能。依靠这些工具得到的数据,可以建立对系统性能的切身感受。

上海快网-注册|登陆上海快网-快网学堂
上海快网-快网问答上海快网-快网备案中心
 
  • 空间域名:
  • 托管租用:
  • 企业邮局:
  • 代理加盟:
  • 网站建设:
  • 财务入账:
  • 备案专员:

产品管理/续费

支付方式

快速链接

常见问题

服务与支持

《中华人民共和国增值电信业务经营许可证》ISP电信业务经营许可证:沪B2-20040546 ISO 9001:2000国际标准质量体系认证    
上海快网网络信息技术有限公司 | 中华人民共和国增值电信业务经营许可证 ISP证编号:沪B2-20040546
工商电子营业执照 公司地址:上海市普陀区中江路879号天地软件园9号楼B 座1楼西侧 邮编:200333 全国免费咨询电话:40060-91365
咨询邮箱:service@kwww.cn Copyright 2002-2009 上海快网网络信息技术有限公司版术所有 www.kwww.cn
未经允许,请勿复制或镜像,违者必究