这30个Linux系统监控工具,每个系统管理员都应该知道

Posted 博学网CN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这30个Linux系统监控工具,每个系统管理员都应该知道相关的知识,希望对你有一定的参考价值。

戳上方蓝字↑ “博学网CN”↑点击关注获得更多资讯!


是否需要监控Linux服务器的性能?试试这些内置的命令和附加工具。大多数发行版都附带了大量的Linux监控工具,这些工具提供了可以用来获取系统活动信息的指标。你可以使用这些工具来查找性能问题的可能原因。下面讨论的命令是关于系统分析和调试Linux服务器问题的一些最基本的命令,例如:

1、找出系统的瓶颈

2、磁盘(存储)瓶颈

3、CPU和内存瓶颈

4、网络瓶颈。



01

top—进程活动监视命令

top命令显示Linux进程。它提供了一个运行系统的动态实时视图,即实际的流程活动。默认情况下,它显示在服务器上运行的cpu密集型任务,并每5秒钟更新一次列表。

图01:Linux top命令

常用热键和 top Linux监视工具

下面是一些有用的热键:

热键

使用

t

显示摘要信息

m

显示内存信息

A

对不同系统资源的顶级用户进行排序。能快速识别系统里的性能需求。

f

进入一个交互式配置屏幕。有助于为特定的任务置顶。

o

优先进行交互式地选择

r

发布renice命令。

k

问题终止命令。

z

打开或关闭color/mono

02


vmstat—虚拟内存统计

vmstat命令报告有关进程、内存、分页、阻塞IO、陷阱和cpu活动的信息。

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道

显示内存使用的slab信息

这30个Linux系统监控工具,每个系统管理员都应该知道

获取关于活动/非活动内存页的信息。

这30个Linux系统监控工具,每个系统管理员都应该知道


03

w—找出谁在登录,他们在做什么

w命令显示当前机器上的用户及其进程的信息。

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道


04

uptime—Linux系统运行了多长时间

可以使用uptime命令查看服务器运行了多长时间。当前时间,系统运行的时间,当前登录的用户数量,以及过去1、5和15分钟的系统负载平均值。

这30个Linux系统监控工具,每个系统管理员都应该知道

输出:

这30个Linux系统监控工具,每个系统管理员都应该知道

1可视为最优荷载值。负载可以从系统切换到系统。对于单个CPU系统,1 - 3和SMP系统6-10的负载值是可以接受的。


05

ps—显示Linux进程

ps命令将报告当前进程的快照。要选择所有进程,请使用A或E选项:

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道

ps和top一样,但是提供了更多的信息。

显示长格式输出

这30个Linux系统监控工具,每个系统管理员都应该知道

打开额外的全模式(它将显示传递到过程的命令行参数):

这30个Linux系统监控工具,每个系统管理员都应该知道

显示线程(LWP和NLWP)

这30个Linux系统监控工具,每个系统管理员都应该知道

观察进程后的线程

这30个Linux系统监控工具,每个系统管理员都应该知道

在服务器上打印所有进程。

这30个Linux系统监控工具,每个系统管理员都应该知道

想要打印一个进程树?

这30个Linux系统监控工具,每个系统管理员都应该知道
这30个Linux系统监控工具,每个系统管理员都应该知道

pstree 

获取Linux进程的安全信息。

这30个Linux系统监控工具,每个系统管理员都应该知道

打印每一个作为用户Vivek运行的进程。

这30个Linux系统监控工具,每个系统管理员都应该知道

将ps命令以用户定义的格式配置输出。

这30个Linux系统监控工具,每个系统管理员都应该知道

尝试只显示Lighttpd的进程id。

这30个Linux系统监控工具,每个系统管理员都应该知道

或者

这30个Linux系统监控工具,每个系统管理员都应该知道

或者

这30个Linux系统监控工具,每个系统管理员都应该知道

打印PID 55977的名称。

这30个Linux系统监控工具,每个系统管理员都应该知道

10大内存消耗过程。

这30个Linux系统监控工具,每个系统管理员都应该知道

显示10个CPU消耗过程。

这30个Linux系统监控工具,每个系统管理员都应该知道


06

free—Linux服务器内存使用情况

free命令显示系统中空闲和使用的物理和交换内存的总量,以及内核使用的缓冲区。

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道


07

iostat—Montor Linux

平均CPU负载和磁盘活动

iostat命令报告中央处理单元(CPU)统计数据和设备、分区和网络文件系统(NFS)的输入/输出统计数据。

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道


08

 sar – Monitor,

收集和报告Linux系统活动

sar命令用于收集、报告和保存系统活动信息。要查看网络计数器,请输入:

这30个Linux系统监控工具,每个系统管理员都应该知道

网络计数器的第24个

这30个Linux系统监控工具,每个系统管理员都应该知道

还可以使用sar显示实时使用情况:

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道


09

mpstat —监控Linux上的多处

处理器使用情况

mpstat命令显示每个可用处理器的活动,处理器0是第一个。mpstat -P显示每个处理器平均CPU利用率:

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出

这30个Linux系统监控工具,每个系统管理员都应该知道


10

pmap—Montor在Linux上

处理内存使用

pmap命令报告内存映射的一个过程。使用此命令找出内存瓶颈的原因。

这30个Linux系统监控工具,每个系统管理员都应该知道

要显示pid # 47394的进程内存信息,请输入:

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道

最后一行非常重要:

mapped:933712K总内存映射到文件。


11

netstat—Linux网络和统计监控工具

netstat命令显示网络连接、路由表、接口统计信息、化装连接和多播成员。

这30个Linux系统监控工具,每个系统管理员都应该知道


12

ss—网络统计

ss命令用于转储套接字统计信息。它允许显示类似于netstat的信息。请注意,netstat几乎是过时的。因此,您需要使用ss命令。对Linux上的所有TCP和UDP套接字:

这30个Linux系统监控工具,每个系统管理员都应该知道

或者

这30个Linux系统监控工具,每个系统管理员都应该知道

显示所有的TCP套接字与SELinux的安全上下文的过程:

这30个Linux系统监控工具,每个系统管理员都应该知道


13

iptraf—获取Linux上的

实时网络统计信息

iptraf命令是交互式彩色IP网络监视器。它是一个基于ncurses的IP LAN监视器,它生成各种网络统计信息,包括TCP info、UDP计数、ICMP和OSPF信息、以太网负载信息、节点统计信息、IP校验和错误等。它可以提供以下易于读取格式信息:

1、通过TCP连接进行网络流量统计。

2、IP流量统计的网络接口。

3、按协议进行网络流量统计。

4、通过TCP/UDP端口和数据包大小的网络流量统计。

这30个Linux系统监控工具,每个系统管理员都应该知道

图02:通用接口统计:网络接口的IP流量统计


这30个Linux系统监控工具,每个系统管理员都应该知道

图03:TCP连接的网络流量统计


14

tcpdump—详细的网络流量分析

tcpdump命令是简单的命令,可以在网络上转储流量。但是,你需要很好的理解TCP/IP协议来使用这个工具。For.e。g显示DNS的交通信息,输入:

这30个Linux系统监控工具,每个系统管理员都应该知道

从端口80查看所有IPv4 HTTP包,即只打印包含数据的数据包,例如,SYN和FIN包和ackonly包,输入:

这30个Linux系统监控工具,每个系统管理员都应该知道

显示所有FTP会话到202.54.1.5,输入:

这30个Linux系统监控工具,每个系统管理员都应该知道

将所有HTTP会话打印到192.168.1.5:

这30个Linux系统监控工具,每个系统管理员都应该知道

使用wireshark查看有关文件的详细信息,输入:

这30个Linux系统监控工具,每个系统管理员都应该知道


15

iotop—Linux I/O监视器

iotop命令监视器,I/O使用信息,使用Linux内核。它显示了在服务器上按进程或线程排序的当前I/O使用的表。

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道


16

htop—交互式过程查看器

htop是一个免费的、开放源码的Linux进程查看器。它比top命令好得多。非常容易使用。您可以选择不使用它们的pid或离开htop接口的进程来杀死或重新使用它们。

这30个Linux系统监控工具,每个系统管理员都应该知道

示例输出:

这30个Linux系统监控工具,每个系统管理员都应该知道


17

atop—高级Linux系统和进程监视器

atop是一个非常强大的交互式监视器,可以查看Linux系统上的负载。它从性能的角度显示最关键的硬件资源。您可以快速地看到CPU、内存、磁盘和网络性能。它显示了哪些进程负责处理进程级别上的CPU和内存负载。

这30个Linux系统监控工具,每个系统管理员都应该知道
这30个Linux系统监控工具,每个系统管理员都应该知道


18

ac and lastcomm 

你必须监视Linux服务器上的进程和登录活动。psacct或acct包包含几个用于监视过程活动的实用程序,包括:

ac命令:显示用户连接时间的统计信息。

lastcomm命令:显示有关先前执行的命令的信息。

accton命令:将进程计算开或关闭

sa命令:汇总会计信息。


19

monit—流程监督

Monit是一种免费和开源的软件,它可以作为过程监督。它提供了重启失败的服务的能力。您可以使用Systemd、daemontools或任何其他此类工具来实现相同的目的。


20

nethogs——找出在Linux上

使用大多数带宽的pid

NetHogs是一款小巧但方便的网络顶级工具。它通过进程名称(如Firefox、wget等)对带宽进行分组。如果网络流量突然激增,那就启动NetHogs。

这30个Linux系统监控工具,每个系统管理员都应该知道
这30个Linux系统监控工具,每个系统管理员都应该知道


21

iftop—显示主机

接口上的带宽使用情况

iftop命令在给定的接口名称(如eth0)上侦听网络通信。

这30个Linux系统监控工具,每个系统管理员都应该知道
这30个Linux系统监控工具,每个系统管理员都应该知道


22

vnstat—基于consol

的网络流量监视器

vnstat很容易在Linux上使用基于console的网络流量监视器。它为选定的接口保持每小时、每日和每月的网络流量。

这30个Linux系统监控工具,每个系统管理员都应该知道
这30个Linux系统监控工具,每个系统管理员都应该知道


23

nmon—Linux系统管理员,

tuner,基准工具

nmon是一个Linux系统管理员的终极工具。它可以显示CPU、内存、网络、磁盘、文件系统、NFS、顶级进程资源和cli中的分区信息。

这30个Linux系统监控工具,每个系统管理员都应该知道
这30个Linux系统监控工具,每个系统管理员都应该知道

24

glances—注意Linux系统

glances是一个开源的跨平台监控工具。它在小屏幕上提供了大量的信息。它还可以在客户机/服务器模式下工作。

这30个Linux系统监控工具,每个系统管理员都应该知道
这30个Linux系统监控工具,每个系统管理员都应该知道

25

strace—在Linux上调用电控系统

尝试strace命令。这对于调试web服务器和其他服务器问题很有用


26

 /proc/ file system—

各种Linux内核统计数据

proc文件系统提供有关各种硬件设备和其他Linux内核信息的详细信息。常见的/ proc的例子:

这30个Linux系统监控工具,每个系统管理员都应该知道


27

Nagios—Linux服务器/网络监控

Nagios是一个流行的开源计算机系统和网络监控应用软件。您可以轻松地监视所有主机、网络设备和服务。当事情出错时,它可以发出警报,当情况好转时再发出警报。FAN是“完全自动化的Nagios”。FAN目标是提供Nagios安装,包括Nagios社区提供的大部分工具。FAN提供了标准ISO格式的CDRom映像,使它易于安装Nagios服务器。除此之外,还有大量的工具,包括分发,以改善Nagios周围的用户体验。


28

Cacti—基于web的Linux监控工具

Cacti是一个完整的网络图形解决方案,旨在利用RRDTool的数据存储和绘图功能。Cacti提供了一个快速轮询器、高级图形模板、多个数据获取方法和用户管理功能。所有这些都是用一种直观的、易于使用的界面包装起来的,这种界面对于有数百种设备的复杂网络来说是有意义的。它可以提供有关网络、CPU、内存、登录用户、Apache、DNS服务器等的数据。


29

KDE System Guard—

实时Linux系统报告和绘图

KSysguard是一个用于KDE桌面的网络支持任务和系统监视应用程序。该工具可以在ssh会话上运行。它提供了很多功能,比如客户机/服务器架构能够监控本地和远程主机。图形前端使用所谓的传感器来检索它显示的信息。传感器可以返回简单的值或更复杂的信息,如表。对于每种类型的信息,都提供一个或多个显示器。显示是在工作表中组织的,这些工作表可以相互独立地保存和加载。因此,KSysguard不仅是一个简单的任务管理器,而且是控制大型服务器集群的强大工具。

这30个Linux系统监控工具,每个系统管理员都应该知道

图05:KDE系统保护图:维基百科


30

Gnome Linux系统监控

图06:Gnome系统应用程序


系统监视器应用程序能够显示基本的系统信息和监视系统进程、系统资源的使用和文件系统。您还可以使用系统监视器来修改系统的行为。虽然没有KDE系统保护功能强大,但它提供了一些可能对新用户有用的基本信息:

(1)显示有关计算机硬件和软件的各种基本信息。

(2)Linux内核版本

(3)GNOME版本

(4)硬件

(5)安装的存储器

(6)处理器速度

(7)系统状态

(8)目前可用的磁盘空间

(9)流程

(10)内存和交换空间

(11)网络使用情况

(12)文件系统

(13)列出所有挂载的文件系统以及关于每个文件的基本信息。


原文链接:https://www.tuicool.com/articles/NzUJVnI

以上是关于这30个Linux系统监控工具,每个系统管理员都应该知道的主要内容,如果未能解决你的问题,请参考以下文章

每个系统管理员都要知道的 30 个 Linux 系统监控工具 | Linux 中国

监控 Linux 性能的 18 个命令行工具[转]

系统之眼!Linux系统性能监控工具Glances

20个常用Linux性能监控工具/命令

30 个 必知的 Linux 系统监控工具|附演示截图

88个 Linux 系统管理员必备的监控工具