来讲讲:Linux运维工程师应当晓得的20个体系监控工具
小知识:CentOS(CommunityEnterpriseOperatingSystem,中文意思是:社区企业操作系统)是Linux发行版之一。必要监控Linux办事器体系功能吗?实验上面这些体系内置或附件的工具吧。年夜多半Linux刊行版本都设备了大批的监控工具。这些工具供应了能用作获得相干信息和体系举动的量度目标。你能利用这些工具发明形成功能成绩大概缘故原由。此次会商到的工具只是剖析和调试办事器上面成绩时最基础工具中的一部分。
1.找出瓶颈
2.硬盘(存储)瓶颈
3.CPU及内存瓶颈
4.收集瓶颈
#1:top-历程举动
top供应一个以后运转体系及时静态的视图,也就是正在运转历程。在默许情形下,显现体系中CPU利用率最高的义务,并每5秒钟革新一次。
图01.Linuxtop下令
经常使用热键
t显现择要信息开关.m显现内存信息开关.A分类显现体系分歧资本的利用年夜户。有助于疾速辨认体系中资本损耗多的义务。f增加删除所要显现栏位.o调剂所要显现栏位的按次.r调剂一个正在运转的历程Nice值.k停止一个正在运转的历程.z黑色/口角显现开关
相干链接:HowdoIFindOutLinuxCPUUtilization?
译者保举链接:Linux体系***必备工具系列之top(原创)
#2:vmstat-体系举动、硬件及体系信息
利用vmstat下令能够失掉关于历程、内存、内存分页、梗塞IO、traps及CPU举动的信息。
#vmstat3
输入样例:
procs-----------memory-------------swap-------io------system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwast
000254098852218851304000023242419600
100254098852218851304000007201199665109900
00025409565221885130400000011511569419500
0002540956522188513050000061117439109900
000254094052218851305120005361189932109800
00025384445221885130588000011871417419600
000249006052218851306400001812531123519400显现内存利用具体信息#vmstat-m显现内存举动/不举动的信息
#vmstat-a
相干链接:HowdoIfindoutLinuxResourceutilizationtodetectsystembottlenecks?
译者保举链接:Linux体系***必备工具系列之vmstat(原创)
#3:w-显现谁已登录,他们正在做甚么?
w下令显现体系以后用户及其运转历程的信息。
#wusername
#wvivek
输入样例:
17:58:47up5days,20:28,2users,loadaverage:0.36,0.26,0.24
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
rootpts/010.1.3.14514:555.00s0.04s0.02svim/etc/resolv.conf
rootpts/110.1.3.14517:430.00s0.03s0.00sw
#4:uptime-告知体系已运转了多久?
uptime下令已往只显现体系运转多久。如今,能够显现体系运转多久、以后有几的用户登录、在已往的1,5,15分钟里均匀负载时几。
#uptime
输出样例:
18:02:41up41days,23:42,1user,loadaverage:0.00,0.00,0.00
1能够被以为是最优的负载值。负载是会跟着体系分歧改动得。单CPU体系1-3和SMP体系6-10都是大概承受的。
#5:ps-显现历程
ps下令显现以后运转历程的快照。利用-A或-e显现一切历程。
#ps-A
输入样例:
PIDTTYTIMECMD
1?00:00:02init
2?00:00:02migration/0
3?00:00:01ksoftirqd/0
4?00:00:00watchdog/0
5?00:00:00migration/1
6?00:00:15ksoftirqd/1
....
.....
4881?00:53:28java
4885tty100:00:00mingetty
4886tty200:00:00mingetty
4887tty300:00:00mingetty
4888tty400:00:00mingetty
4891tty500:00:00mingetty
4892tty600:00:00mingetty
4893ttyS100:00:00agetty
12853?00:00:00cifsoplockd
12854?00:00:00cifsdnotifyd
14231?00:10:34lighttpd
14232?00:00:00php-cgi
54981pts/000:00:00vim
55465?00:00:00php-cgi
55546?00:00:00bind9-snmp-stat
55704pts/100:00:00psps与top十分类似,但ps供应更多的信息。输入长格局#ps-Al输入附加全格局(显现历程在实行时传进的参数)#ps-AlF显现历程布局
#ps-AlFH
在历程后显现线程
#ps-AlLm
打印办事器上一切历程
#psax
#psaxu
打印历程树
#ps-ejH
#psaxjf
#pstree
打印宁静信息
#ps-eoeuser,ruser,suser,fuser,f,comm,label
#psaxZ
#ps-eM
检察利用Vivek用户名运转的历程
#ps-Uvivek-uviveku
设置自界说输入格局
#ps-eopid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
#psaxostat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
#ps-eopid,tt,user,fname,tmout,f,wchan
只显现Lighttpd的历程ID
#ps-Clighttpd-opid=
大概
#pgreplighttpd
大概
#pgrep-uvivekphp-cgi
显现PID为55977的历程称号
#ps-p55977-ocomm=
找出损耗内存最多的前10名历程
#ps-auxf|sort-nr-k4|head-10
找出利用CPU最多的前10名历程
#ps-auxf|sort-nr-k3|head-10
#6:free-内存利用情形
free下令显现体系中余暇的、已用的物理内存及swap内存,及被内核利用的buffer。
#free
输入样例:
totalusedfreesharedbufferscached
Mem:123028969739664256323205231245154740
-/+buffers/cache:40618008241096
Swap:105224801052248相干链接:LinuxFindOutVirtualMemoryPAGESIZELinuxLimitCPUUsagePerProcessHowmuchRAMdoesmyUbuntu/FedoraLinuxdesktopPChave?
#7:iostat-CPU均匀负载,硬盘举动
iostat下令可呈报中心处置器(CPU)的统计信息,各类设备、分区及收集文件体系输出/输入的统计信息。
#iostat
输入样例:
Linux2.6.18-128.1.14.el5(www03.nixcraft.in)06/26/2009
avg-cpu:%user%nice%system%iowait%steal%idle
3.500.090.510.030.0095.86
Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda22.0431.88512.0316193351260102868
sda10.000.000.002166180
sda222.0431.87512.0316189010260102688
sda30.000.000.0016150相干链接:LinuxTrackNFSDirectory/DiskI/OStats#8:sar-汇集和呈报体系举动
sar下令用来汇集、呈报和贮存体系举动信息。检察网路计数器,输出:
#sar-nDEV|more
显现比来24小时收集计数器
#sar-nDEV-f/var/log/sa/sa24|more
你亦能够用sar显现及时情形
#sar45
输入样例:
Linux2.6.18-128.1.14.el5(www03.nixcraft.in)06/26/2009
06:45:12PMCPU%user%nice%system%iowait%steal%idle
06:45:16PMall2.000.000.220.000.0097.78
06:45:20PMall2.070.000.380.030.0097.52
06:45:24PMall0.940.000.280.000.0098.78
06:45:28PMall1.560.000.220.000.0098.22
06:45:32PMall3.530.000.250.030.0096.19
Average:all2.020.000.270.010.0097.70
相干链接:HowtocollectLinuxsystemutilizationdataintoafile
#9:mpstat-多处置器利用率
mpstat下令能够显现一切可用途理器的利用情形,处置器编号从0入手下手。mpstat-PALL显现每一个处置器的均匀利用率。
#mpstat-PALL
输入样例:
Linux2.6.18-128.1.14.el5(www03.nixcraft.in)06/26/2009
06:48:11PMCPU%user%nice%sys%iowait%irq%soft%steal%idleintr/s
06:48:11PMall3.500.090.340.030.010.170.0095.861218.04
06:48:11PM03.440.080.310.020.000.120.0096.041000.31
06:48:11PM13.100.080.320.090.020.110.0096.2834.93
06:48:11PM24.160.110.360.020.000.110.0095.250.00
06:48:11PM33.770.110.380.030.010.240.0095.4644.80
06:48:11PM42.960.070.290.040.020.100.0096.5225.91
06:48:11PM53.260.080.280.030.010.100.0096.2314.98
06:48:11PM64.000.100.340.010.000.130.0095.423.75
06:48:11PM73.300.110.390.030.010.460.0095.6976.89
相干链接:LinuxdisplayeachmultipleSMPCPUprocessorsutilizationindividually.
#10:pmap-历程的内存利用
pmap下令能够显现历程的内存映照,利用这个下令能够找出形成内存瓶颈的缘故原由。
#pmap-dPID
显现PID为47394历程的内存信息。
#pmap-d47394
输入样例:
47394:/usr/bin/php-cgi
AddressKbytesModeOffsetDeviceMapping
00000000004000002584r-x--0000000000000000008:00002php-cgi
0000000000886000140rw---0000000000286000008:00002php-cgi
00000000008a900052rw---00000000008a9000000:00000
0000000000aa800076rw---00000000002a8000008:00002php-cgi
000000000f6780001980rw---000000000f678000000:00000
000000314a600000112r-x--0000000000000000008:00002ld-2.5.so
000000314a81b0004r----000000000001b000008:00002ld-2.5.so
000000314a81c0004rw---000000000001c000008:00002ld-2.5.so
000000314aa000001328r-x--0000000000000000008:00002libc-2.5.so
000000314ab4c0002048-----000000000014c000008:00002libc-2.5.so
.....
......
..
00002af8d48fd0004rw---0000000000006000008:00002xsl.so
00002af8d490c00040r-x--0000000000000000008:00002libnss_files-2.5.so
00002af8d49160002044-----000000000000a000008:00002libnss_files-2.5.so
00002af8d4b150004r----0000000000009000008:00002libnss_files-2.5.so
00002af8d4b160004rw---000000000000a000008:00002libnss_files-2.5.so
00002af8d4b17000768000rw-s-0000000000000000000:00009zero(deleted)
00007fffc95fe00084rw---00007ffffffea000000:00000
ffffffffff6000008192-----0000000000000000000:00000
mapped:933712Kwriteable/private:4304Kshared:768000K
最初一行十分主要:
*mapped:933712K内存映照所占空间巨细
*writeable/private:4304K公有地点空间巨细
*shared:768000K同享地点空间巨细
相干链接:Linuxfindthememoryusedbyaprogram/processusingpmapcommand
#11和#12:netstat和ss-收集相干信息
netstat能够显现收集链接、路由表信息、接口统计信息、假装链接和多播成员(multicastmemberships),ss下令用来显现收集套接字信息,它同意显现相似netstat一样的信息。关于ss和netstat利用,可参考以下资本。
相干链接:
ss:DisplayLinuxTCP/UDPNetworkandSocketInformationGetDetailedInformationAboutParticularIPaddressConnectionsUsingnetstatCommand
#13:iptraf-收集及时信息
iptraf是一个可交互式的IP收集监控工具。它能够天生多种收集统计信息包含:TCP信息、UDP数目、ICMP和OSPF信息、以太网负载信息、节点形态、IP校验毛病等。有上面几种信息格局:
分歧收集TCP链接传输量分歧收集接口IP传输量分歧协定收集传输量分歧TCP/UDP端口和分歧包巨细收集传输量分歧第二层地点收集传输量
图02:一样平常接口信息:分歧收集接口IP传输量
图03:分歧收集TCP链接传输量
#14:tcpdump:具体的收集流量剖析
tcpdump是一个复杂收集流量转储工具,但是要利用好必要对TCP/IP协定十分熟习。比方要显现关于DNS的收集流量,输出:
#tcpdump-ieth1udpport53
显现一切收支80端口IPv4HTTP包,也就是只打印包括数据的包。比方:SYN、FIN包和ACK-only包输出:
#tcpdumptcpport80and(((ip-((ip&0xf)<<2))-((tcp&0xf0)>>2))!=0)
显现一切到的FTP会话,输出:
#tcpdump-ieth1dst202.54.1.5and(port21or20
显现一切到192.168.1.5的HTTP会话
#tcpdump-nieth0dst192.168.1.5andtcpandporthttp
用wireshark扫瞄转储文件中的具体信息,输出:
#tcpdump-n-ieth1-s0-woutput.txtsrcordstport80
#15:strace-体系挪用
追踪体系挪用和型号,这关于调试Web办事器和其他办事器十分有效。懂得如何追踪历程和他功效。
#16:/proc文件体系-各类内核信息
/proc目次下文件供应了良多分歧硬件设备和内核的具体信息。更多概况拜见Linuxkernel/proc。一样平常/proc比方:
#cat/proc/cpuinfo
#cat/proc/meminfo
#cat/proc/zoneinfo
#cat/proc/mounts
#17:Nagios-办事器及收集监控
Nagios是一款十分盛行的体系及收集监控软件。你能够轻松监控一切的主机、收集设备及办事。它能在产生妨碍和从头规复后发送警讯。FAN是"FullyAutomatedNagios"的缩写。FAN的方针就是由Nagios社群供应Nagios的安装。为了使安装Nagios办事器加倍简单,FAN供应一个尺度ISO格局的光盘镜像。此刊行版中还会包括一组加强用户利用体验的工具。
#18:Cacti-基于Web的监控工具
Cacti是一套完成的收集图形化办理计划,基于RRDTool的材料存储和图形化功效。Cacti供应一个疾速的轮询器、进阶的图形化模板、多种数据收罗***和用户办理功效。这些功效都具有十分友爱易用的界面,确保能够部署在一个包括数百台设备的庞大收集中。它供应关于收集、CPU、内存、已登任命户、Apache、DNS等信息。关于如何在CentOS/RHEL安拆卸置Cacti,详见:http://www.cyberciti.biz/faq/fedora-rhel-install-cacti-monitoring-rrd-software/
#19:KDESystemGuard
KSysguard是在KDE桌面下一个收集化的体系监控工具。这个工具能够经由过程SSH会话运转。它供应良多功效,比方能够监控本机和近程主机的客户端/办事器架构,前端图形界面利用所谓传感器失掉信息并展示出来。传感器前往的能够是一个复杂的数值或是一组表格的信息。针对分歧的信息范例,供应一个或多个显现。这些显现被构造多个事情表中,能够事情表能够独体贮存和加载。以是,KSysguard不但是一个复杂的义务办理器,仍是一个能够把持多台办事器的壮大工具。
图05:KDESystemGuard
具体用法拜见:theKSysguardhandbook
#20:GnomeSystemMonitor
SystemMonitor能够显现体系基础信息、监控体系历程、体系资本及文件体系利用率。你也能够利用SystemMonitor监控和修正体系举动。只管没有KDESystemGuard功效壮大,但其供应的基础信息关于进门用户仍是十分有效的。
*显现关于盘算机硬件和软件的各类基础信息。
*Linux内核版本
*GNOME版本
*硬件
*安装的内存
*处置器及其速率
*体系形态
*以后可用的硬盘空间
*历程
*内存及互换空间
*收集利用率
*文件体系
*一切挂载的文件体系及其基础信息
图06:TheGnomeSystemMonitorapplication
小知识:CentOS出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。 Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。 学习Linux应具备的。[书籍+网络资源] 放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。 可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。 可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
页:
[1]