Linux系统监视和调试困难?别慌

对于每个系统或网络管理员来说,每天监视和调试Linux系统的性能问题确实是一项非常困难的工作。在接触Linux之后,我了解到监控和保持系统运行是多么困难。出于这个原因,我们列出了最常用的20种命令行监视工具,它们可能对每个Linux/Unix系统管理员都很有用。这些命令可以在所有版本的Linux下使用,对于监视和发现性能问题的实际原因非常有用。

1. Linux进程监控

Linux Top命令是一种性能监控程序,许多系统管理员经常使用它来监控 Linux 性能,在许多Linux/Unix(如操作系统)下可用。最高命令用于在订单列表中进入所有运行和活动实时进程并定期更新。它显示CPU使用,内存使用,交换内存,缓存大小,缓冲区大小,过程PID,用户,命令和更多。它还显示了运行过程的高内存和cpu利用率。最高命令对于系统管理员来说是非常有用的,可在需要时进行监控并采取正确的操作。让我们看看最高命令:

# top


2.VmStat—虚拟内存统计

Linux VmStat命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O块、中断、CPU活动等的统计信息。默认情况下,vmstat命令在Linux系统下不可用,您需要安装一个名为sysstat的包,其中包含vmstat程序。命令格式的常用格式是:



3.列出打开的文件

Lsof命令在许多Linux/Unix(如system)中使用,用于显示所有打开的文件和进程列表。打开的文件包括磁盘文件,网络套接字,管道,设备和进程。使用此命令的主要原因之一是当磁盘无法卸载时,显示正在使用或打开文件的错误。使用这个命令,您可以很容易地识别正在使用的文件。该命令最常见的格式是:


4. Tcpdump -网络数据包分析器

Tcpdump最广泛使用的命令行网络数据包分析器或数据包嗅探程序之一,用于捕获或过滤在网络上特定接口上接收或传输的TCP/IP数据包。它还提供了一个选项,可以将捕获的包保存到文件中,以便以后进行分析。tcpdump几乎在所有主要的Linux发行版中都可用。

# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648
22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648
22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

5. 网络统计

Netstat是一个命令行工具,用于监视传入和传出的网络数据包统计以及接口统计。对于每个系统管理员来说,它都是一个非常有用的工具,可以用来监视网络性能和排除与网络相关的问题。

# netstat -a | more

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:mysql                     *:*                         LISTEN
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:realm-rusd                *:*                         LISTEN
tcp        0      0 *:ftp                       *:*                         LISTEN
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAIT
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAIT
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 *:https                     *:*                         LISTEN

6. Linux进程监控

Htop是一个非常先进的交互式和实时的Linux进程监控工具。这是非常类似于Linux的top命令,但它有一些丰富的功能,如用户友好的界面来管理进程,快捷键,进程的垂直和水平视图等等。Htop是第三方工具,不包含在Linux系统中,您需要使用YUM package manager工具安装它。

# htop


7. Iotop -监控Linux磁盘I/O

Iotop也非常类似于top命令和Htop程序,但是它有计费功能,可以实时监控和显示磁盘I/O和进程。这个工具对于查找进程的确切进程和频繁使用的磁盘读写进程非常有用。

# iotop

8. 输入/输出统计

IoStat是一个简单的工具,它将收集和显示系统输入和输出存储设备统计信息。此工具经常用于跟踪存储设备的性能问题,包括设备、本地磁盘、远程磁盘(如NFS)。

# iostat

Linux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.60    3.65    1.04    4.29    0.00   88.42

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0       17.79       545.80       256.52  855159769  401914750
cciss/c0d0p1      0.00         0.00         0.00       5459       3518
cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384
cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544
cciss/c0d0p4      0.00         0.00         0.00          8          0
cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528
cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776

9. IPTraf -实时的IP局域网监控

IPTraf是一个开放源码的基于控制台的Linux实时网络(IP LAN)监控工具。它收集通过网络的各种信息,如IP流量监控,包括TCP标志信息、ICMP详细信息、TCP/UDP流量崩溃信息、TCP连接报文和byne计数。它还收集了TCP、UDP、IP、ICMP、非IP、IP校验和错误、接口活动等一般和详细的接口统计信息。



10. Psacct或Acct -监控用户活动

psacct或acct工具对于监视系统上的每个用户活动非常有用。这两个守护进程都在后台运行,并密切监视系统中每个用户的总体活动,以及它们正在消耗哪些资源。
这些工具对于系统管理员跟踪每个用户的活动非常有用,比如他们在做什么、他们发出了什么命令、他们使用了多少资源、他们在系统中活动了多长时间等等。


11. Monit—Linux进程和服务监控

Monit是一个免费的开源和基于web的进程监督工具,可以自动监控和管理系统进程、程序、文件、目录、权限、校验和和文件系统。
它可以监控Apache、MySQL、Mail、FTP、ProFTP、Nginx、SSH等服务。系统状态可以从命令行或使用它自己的web界面查看。

12. NetHogs——监视每个进程的网络带宽

NetHogs是一个开放源码的漂亮的小程序(类似于Linux top command),它在您的系统上的每个进程网络活动上都保留一个标签。它还跟踪每个程序或应用程序使用的实时网络流量带宽。


13. iftop -网络带宽监控

iftop是另一个基于终端的免费开源系统监控工具,它显示通过系统上的网络接口的网络带宽利用率(源主机和目标主机)的频繁更新列表。iftop考虑的是网络使用情况,而“top”考虑的是CPU使用情况。iftop是一个“top”家庭工具,它监视一个选定的接口,并显示两台主机之间的当前带宽使用情况。

14. Monitorix -系统和网络监控

Monitorix是一个免费的轻量级实用程序,旨在在Linux/Unix服务器中尽可能多地运行和监视系统和网络资源。它有一个内置的HTTP web服务器,定期收集系统和网络信息,并以图形的形式显示它们。它监控系统平均负载和使用量、内存分配、磁盘驱动健康状况、系统服务、网络端口、邮件统计(Sendmail、Postfix、Dovecot等)、MySQL统计数据等等。它被设计用来监视整个系统的性能,并帮助检测故障、瓶颈、异常活动等。


15. 以太网活动监视器

Arpwatch是一种用于监视Linux网络上以太网网络流量的地址解析(MAC和IP地址变化)的程序。它持续监视以太网通信,并生成IP和MAC地址对变化的日志以及网络上的时间戳。它还有一个功能,当配对添加或更改时,可以向管理员发送电子邮件提醒。它在检测网络上的ARP欺骗时非常有用。

16. 网络安全监控

Suricata是一个高性能的开源网络安全和入侵检测和预防监控系统,适用于Linux, FreeBSD和Windows。它是由一个非营利性的基金会OISF(开放信息安全基金会)设计和拥有的。

17. 监视网络带宽

一个基于web的前端应用程序,为最流行的网络工具称为“VnStat”。VnStat PHP以图形化的方式监视网络流量使用情况。它以小时、日、月和全汇总报告的方式显示总的进出网络流量使用情况。

18. Nagios——网络/服务器监视

Nagios是一个领先的开源功能强大的监控系统,它使网络/系统管理员能够在服务器相关问题影响主要业务流程之前识别和解决这些问题。使用Nagios系统,管理员可以在单个窗口上监视远程Linux、Windows、交换机、路由器和打印机。它会显示严重警告,并指出网络/服务器中是否出现了错误,这将间接帮助您在错误发生之前开始补救过程。

19. Nmon:监控Linux性能

Nmon (Nigel’s performance Monitor)工具,用于监视所有Linux资源,如CPU、内存、磁盘使用情况、网络、顶级进程、NFS、内核等等。该工具有两种模式:在线模式和捕获模式。
在线模式,用于实时监控和捕获模式,用于以CSV格式存储输出,供后续处理。

20.Collectl:一体化性能监控工具

Collectl是另一个功能强大、功能丰富的基于命令行的实用工具,可以用来收集有关Linux系统资源的信息,如CPU使用情况、内存、网络、节点、进程、nfs、tcp、套接字等。

我想知道您使用哪种监视程序来监视您的Linux服务器的性能?如果我遗漏了任何您希望我在此列表中包含的重要工具,请通过私信或者评论告知我,并请不要忘记点击关注。

举报
评论 0