这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系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/319c1e62854c403c8c573e2c9bde4310.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/b2570607df044853810f37150939a0ac.jpg)
显示内存使用的slab信息
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/f6b9763bfdab43f1b225c7c50cfa6cfd.jpg)
获取关于活动/非活动内存页的信息。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/a8a8384f1a734591ba61f249f540ebb6.jpg)
03
w—找出谁在登录,他们在做什么
w命令显示当前机器上的用户及其进程的信息。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/710163712f1140df9ef3a5873f3d249d.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/e7851c3ce4d7437cb103d0e8f17431ad.jpg)
04
uptime—Linux系统运行了多长时间
可以使用uptime命令查看服务器运行了多长时间。当前时间,系统运行的时间,当前登录的用户数量,以及过去1、5和15分钟的系统负载平均值。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/e1f70281c26b447085728491b29a92e5.jpg)
输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/dd2477d002e549eaa35fe5d154093c69.jpg)
1可视为最优荷载值。负载可以从系统切换到系统。对于单个CPU系统,1 - 3和SMP系统6-10的负载值是可以接受的。
05
ps—显示Linux进程
ps命令将报告当前进程的快照。要选择所有进程,请使用A或E选项:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/27949e0f37d041c7965c370937614cee.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/2ab0db34a3134a5ca0cafd7965c6af7b.jpg)
ps和top一样,但是提供了更多的信息。
显示长格式输出
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/9dcc1eef4dc546bfbae9f982fa2fa8e1.jpg)
打开额外的全模式(它将显示传递到过程的命令行参数):
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/6efc56bf9cbc4f9c92492b8e9b16dd21.jpg)
显示线程(LWP和NLWP)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/a9852794f0754ead9b2a76764d71da72.jpg)
观察进程后的线程
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/c2a1596ba24e46d391179f5454063ff0.jpg)
在服务器上打印所有进程。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/8e41cd43c6c54230ac9884cb42a043c9.jpg)
想要打印一个进程树?
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/0783f16b37c34b1c884a435f085a85fd.jpg)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/cfdfe3675ce14847bb2a4d13322be446.jpg)
# pstree
获取Linux进程的安全信息。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/7117391cca104b24b6290617e4718034.jpg)
打印每一个作为用户Vivek运行的进程。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/b05bee2309ba43829f9b732add4435f2.jpg)
将ps命令以用户定义的格式配置输出。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/0f9d1065e7ad4896af82efab3056340f.jpg)
尝试只显示Lighttpd的进程id。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/564301ee9c6c40309b39f929236dc1cd.jpg)
或者
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/7261beee84114b6084d57642f02c61dd.jpg)
或者
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/47db319c283442d69db689cf9c276e78.jpg)
打印PID 55977的名称。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/2090a020ed6e419e85318a9cfade3b4b.jpg)
10大内存消耗过程。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/8395dff4fd3142cfac0f864654151b3e.jpg)
显示10个CPU消耗过程。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/16d99e2e21b1496482b5304cc42b729a.jpg)
06
free—Linux服务器内存使用情况
free命令显示系统中空闲和使用的物理和交换内存的总量,以及内核使用的缓冲区。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/25b179da12bb4bd88a20889246a18088.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/87d717f4f552474ca0893b87c629619c.jpg)
07
iostat—Montor Linux
平均CPU负载和磁盘活动
iostat命令报告中央处理单元(CPU)统计数据和设备、分区和网络文件系统(NFS)的输入/输出统计数据。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/16352ab756e34b34822b4424d8e9ebaa.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/8256e91d33bc405692be8dc824b145aa.jpg)
08
sar – Monitor,
收集和报告Linux系统活动
sar命令用于收集、报告和保存系统活动信息。要查看网络计数器,请输入:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/3b9bf42f8996467785b826331873a739.jpg)
网络计数器的第24个
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/d4e065dfdd974c5a9b618685da353ea5.jpg)
还可以使用sar显示实时使用情况:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/b42c27cde10d4aa6b28e54491ba9ae07.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/0160f5c1dda74f1b9ad4a2acf0d7b775.jpg)
09
mpstat —监控Linux上的多处
处理器使用情况
mpstat命令显示每个可用处理器的活动,处理器0是第一个。mpstat -P显示每个处理器平均CPU利用率:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/e7f3e2f7356141038890e574a2778427.jpg)
示例输出
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/7528f9a3ca354a35bead7b8ce3cf3e80.jpg)
10
pmap—Montor在Linux上
处理内存使用
pmap命令报告内存映射的一个过程。使用此命令找出内存瓶颈的原因。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/0a27f1aaa7c84686b35f43c87da652dc.jpg)
要显示pid # 47394的进程内存信息,请输入:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/8a8b74bfdfb24951b2668894f52212fe.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/6552e1301d8348f0ac9ae6788c972226.jpg)
最后一行非常重要:
mapped:933712K总内存映射到文件。
11
netstat—Linux网络和统计监控工具
netstat命令显示网络连接、路由表、接口统计信息、化装连接和多播成员。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/8747251f954449eb82b1fd4b32cdd2ac.jpg)
12
ss—网络统计
ss命令用于转储套接字统计信息。它允许显示类似于netstat的信息。请注意,netstat几乎是过时的。因此,您需要使用ss命令。对Linux上的所有TCP和UDP套接字:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/4c0897ec9a054c34955badab6f1452c0.jpg)
或者
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/fb4eec1a81a2406aad044299497500c0.jpg)
显示所有的TCP套接字与SELinux的安全上下文的过程:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/5c156aebda8846d3a28359312557ae60.jpg)
13
iptraf—获取Linux上的
实时网络统计信息
iptraf命令是交互式彩色IP网络监视器。它是一个基于ncurses的IP LAN监视器,它生成各种网络统计信息,包括TCP info、UDP计数、ICMP和OSPF信息、以太网负载信息、节点统计信息、IP校验和错误等。它可以提供以下易于读取格式信息:
1、通过TCP连接进行网络流量统计。
2、IP流量统计的网络接口。
3、按协议进行网络流量统计。
4、通过TCP/UDP端口和数据包大小的网络流量统计。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/1e2f9d4c20784c8babe97f2f373a9a9f.jpg)
图02:通用接口统计:网络接口的IP流量统计
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/7d2226bda3c84acdb0ab18bce1daea31.jpg)
图03:TCP连接的网络流量统计
14
tcpdump—详细的网络流量分析
tcpdump命令是简单的命令,可以在网络上转储流量。但是,你需要很好的理解TCP/IP协议来使用这个工具。For.e。g显示DNS的交通信息,输入:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/968da52747504e69a7d3c3c76b4d5dff.jpg)
从端口80查看所有IPv4 HTTP包,即只打印包含数据的数据包,例如,SYN和FIN包和ackonly包,输入:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/f6fef5cdc370459fb89198799bb2a355.jpg)
显示所有FTP会话到202.54.1.5,输入:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/95f53b44321040b1b1ab7397418d02d1.jpg)
将所有HTTP会话打印到192.168.1.5:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/0703dd5e9ed947bfa727cb0348ddb32a.jpg)
使用wireshark查看有关文件的详细信息,输入:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/f93a66984ac24eef9bb03b02a7c786b9.jpg)
15
iotop—Linux I/O监视器
iotop命令监视器,I/O使用信息,使用Linux内核。它显示了在服务器上按进程或线程排序的当前I/O使用的表。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/822e84449ab54be983f1acc3e99ec256.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/ede331a6bd844e928da557020521cf09.jpg)
16
htop—交互式过程查看器
htop是一个免费的、开放源码的Linux进程查看器。它比top命令好得多。非常容易使用。您可以选择不使用它们的pid或离开htop接口的进程来杀死或重新使用它们。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/131e20145bbb4ee785b27d609fd11117.jpg)
示例输出:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/334a0f4de24d43339324f56934d2a939.jpg)
17
atop—高级Linux系统和进程监视器
atop是一个非常强大的交互式监视器,可以查看Linux系统上的负载。它从性能的角度显示最关键的硬件资源。您可以快速地看到CPU、内存、磁盘和网络性能。它显示了哪些进程负责处理进程级别上的CPU和内存负载。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/0b8947ca1a604895af50f124bec00bc6.jpg)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/894369a220d94db98751ac65c421a775.jpg)
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系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/ab7e96d9b8714d5bbcaf04040bc8ddfb.jpg)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/3c6fb0774e9240e8a33094253d7d487f.jpg)
21
iftop—显示主机
接口上的带宽使用情况
iftop命令在给定的接口名称(如eth0)上侦听网络通信。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/a57c9da209de47e6b331998f13fb6265.jpg)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/966b24d9a7874739a9b58369f7d9ef63.jpg)
22
vnstat—基于consol
的网络流量监视器
vnstat很容易在Linux上使用基于console的网络流量监视器。它为选定的接口保持每小时、每日和每月的网络流量。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/14ad1bdeba1b407d859ac4aed6a57463.jpg)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/efa2b0dbfaf5429da51479e07936160e.jpg)
23
nmon—Linux系统管理员,
tuner,基准工具
nmon是一个Linux系统管理员的终极工具。它可以显示CPU、内存、网络、磁盘、文件系统、NFS、顶级进程资源和cli中的分区信息。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/98866d136f9f4825b17060dd1ea09ab8.jpg)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/961d83b7417b40ebaf0ebb6e6489fe1c.jpg)
24
glances—注意Linux系统
glances是一个开源的跨平台监控工具。它在小屏幕上提供了大量的信息。它还可以在客户机/服务器模式下工作。
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/786174c1bccc48d6af3acd2b15dd2af6.jpg)
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/7946ff0855e24f7a89c9f9fd2de84d03.jpg)
25
strace—在Linux上调用电控系统
尝试strace命令。这对于调试web服务器和其他服务器问题很有用
26
/proc/ file system—
各种Linux内核统计数据
proc文件系统提供有关各种硬件设备和其他Linux内核信息的详细信息。常见的/ proc的例子:
![这30个Linux系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/8e23e6e6a219468ca57db461b2e1989f.jpg)
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系统监控工具,每个系统管理员都应该知道](https://image.cha138.com/20210425/6030a3e22d2b43b5b435a6107b769828.jpg)
图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系统监控工具,每个系统管理员都应该知道的主要内容,如果未能解决你的问题,请参考以下文章