Linux运维工程师必知的29个监控工具
随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过80种方式来管理你的机器。
在本文中,我们主要包括以下方面:
命令行工具
网络相关内容
系统相关的监控工具
日志监控工具
基础设施监控工具
监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的。下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试?
八大系统监控工具
1.top
![1558061765143908.jpeg 760512d8f55e99d5fb4a473326de0264[1].jpeg](https://www.aiturang.com/upload/201905/1558061765143908.jpeg)
这是一个被预装在许多 UNIX 系统中的小工具。当你想要查看在系统中运行的进程或线程时:top是一个很好的工具。你可以对这些进程以不同的方式进行排序,默认是以 CPU 进行排序的。
2.htop
![1558061792379871.jpeg 760512d8f55e99d5fb4a473326de0264[1].jpeg](https://www.aiturang.com/upload/201905/1558061792379871.jpeg)
htop 实质上是 top 的一个增强版本。它更容易对进程排序。它看起来上更容易理解,并且已经内建了许多通用操作。它也是完全交互式的。
3.atop
atop 和 top,htop 非常相似,它也能监控所有进程,但不同于 top 和 htop的是,它可以按日记录进程的日志供以后分析。它也能显示所有进程的资源消耗。它还会高亮显示已经达到临界负载的资源。
4.apachetop
apachetop 会监控 apache 网络服务器的整体性能。它主要是基于mytop。它会显示当前的读取进程、写入进程的数量以及请求进程的总数。
5.ftptop
ftptop 给你提供了当前所有连接到 ftp 服务器的基本信息,如会话总数,正在上传和下载的客户端数量以及客户端是谁。
6.mytop
![1558061817885875.jpeg 760512d8f55e99d5fb4a473326de0264[2].jpeg](https://www.aiturang.com/upload/201905/1558061817885875.jpeg)
mytop 是一个很简洁的工具,用于监控 mysql 的线程和性能。它能让你实时查看数据库以及正在处理哪些查询。
7.powertop
![1558061839319259.jpeg ce7859f8cf46d7023c40af1e9b336f73[1].jpeg](https://www.aiturang.com/upload/201905/1558061839319259.jpeg)
powertop 可以帮助你诊断与电量消耗和电源管理相关的问题。它也可以帮你进行电源管理设置,以实现对你服务器最有效的配置。你可以使用 tab键切换选项卡。
8.iotop
![1558061861650760.jpeg 4eaa32110a3c7de9efca685f733e0cfa[1].jpeg](https://www.aiturang.com/upload/201905/1558061861650760.jpeg)
iotop 用于检查 I/O 的使用情况,并为你提供了一个类似 top 的界面来显示。它按列显示读和写的速率,每行代表一个进程。当发生交换或 I/O等待时,它会显示进程消耗时间的百分比。
与网络相关的监控
9.ntopng

ntopng 是 ntop 的升级版,它提供了一个能通过浏览器进行网络监控的图形用户界面。它还有其他用途,如:地理定位主机,显示网络流量和 ip流量分布并能进行分析。
10.iftop
![1558061925708287.jpeg d43dff001ea72c40eea57b256093f7aa[1].jpeg](https://www.aiturang.com/upload/201905/1558061925708287.jpeg)
iftop 类似于 top,但它主要不是检查 cpu的使用率而是监听所选择网络接口的流量,并以表格的形式显示当前的使用量。像“为什么我的网速这么慢呢?!”这样的问题它可以直接回答。
11.jnettop

jnettop 以相同的方式来监测网络流量但比 iftop 更形象。它还支持自定义的文本输出,并能以友好的交互方式来深度分析日志。
12.bandwidthd

BandwidthD 可以跟踪 TCP/IP 网络子网的使用情况,并能在浏览器中通过 png 图片形象化地构建一个 HTML页面。它有一个数据库系统,支持搜索、过滤,多传感器和自定义报表。
13.EtherApe
EtherApe 以图形化显示网络流量,可以支持更多的节点。它可以捕获实时流量信息,也可以从 tcpdump 进行读取。也可以使用 pcap格式的网络过滤器来显示特定信息。
14.ethtool
![1558062039280192.jpeg bf09770d128b0d5fa5905947646b6a0b[1].jpeg](https://www.aiturang.com/upload/201905/1558062039280192.jpeg)
ethtool 用于显示和修改网络接口控制器的一些参数。它也可以用来诊断以太网设备,并获得更多的统计数据。
15.NetHogs
![1558062059287960.jpeg 4adb44c9d54875199e5dd2d2aa812d42[1].jpeg](https://www.aiturang.com/upload/201905/1558062059287960.jpeg)
NetHogs 打破了网络流量按协议或子网进行统计的惯例,它以进程来分组。所以,当网络流量猛增时,你可以使用 NetHogs查看是由哪个进程造成的。
16.iptraf

iptraf 收集的各种指标,如 TCP 连接数据包和字节数,端口统计和活动指标,TCP/UDP 通信故障,站内数据包和字节数。
17.ngrep

ngrep 就是网络层的 grep。它使用 pcap ,允许通过指定扩展正则表达式或十六进制表达式来匹配数据包。
18.MRTG

MRTG 最初被开发来监控路由器的流量,但现在它也能够监控网络相关的东西。它每五分钟收集一次,然后产生一个 HTML页面。它还具有发送邮件报警的能力。
19.bmon
![1558062135791036.jpeg 416f2588ac85ade7c56e9f5cc3565254[1].jpeg](https://www.aiturang.com/upload/201905/1558062135791036.jpeg)
bmon 能监控并帮助你调试网络。它能捕获网络相关的统计数据,并以友好的方式进行展示。你还可以与 bmon 通过脚本进行交互。
20.traceroute
![1558062156356373.jpeg 2ad1db9ffe674eadb9d59368ed3b5c1f[1].jpeg](https://www.aiturang.com/upload/201905/1558062156356373.jpeg)
traceroute 是一个内置工具,能显示路由和测量数据包在网络中的延迟。
21.IPTState
IPTState 可以让你观察流量是如何通过 iptables,并通过你指定的条件来进行排序。该工具还允许你从 iptables的表中删除状态信息。
22.darkstat

darkstat 能捕获网络流量并计算使用情况的统计数据。该报告保存在一个简单的 HTTP 服务器中,它为你提供了一个非常棒的图形用户界面。
23.vnStat
![1558062195258385.jpeg 7e3fd9f9b1700d353119d545b6d96b49[1].jpeg](https://www.aiturang.com/upload/201905/1558062195258385.jpeg)
vnStat是一个网络流量监控工具,它的数据统计是由内核进行提供的,其消耗的系统资源非常少。系统重新启动后,它收集的数据仍然存在。有艺术感的系统管理员可以使用它的颜色选项。
24.netstat
![1558062237896650.jpeg 21419dc7cf628b2528656d18f4cec8a9[1].jpeg](https://www.aiturang.com/upload/201905/1558062237896650.jpeg)
netstat 是一个内置的工具,它能显示 TCP 网络连接,路由表和网络接口数量,被用来在网络中查找问题。
25.ss
比起 netstat,使用 ss 更好。ss 命令能够显示的信息比 netstat 更多,也更快。如果你想查看统计结果的总信息,你可以使用命令 ss-s。
26.nmap
![1558062267117379.jpeg 77fd6282a612551871337455a8baf39d[1].jpeg](https://www.aiturang.com/upload/201905/1558062267117379.jpeg)
Nmap 可以扫描你服务器开放的端口并且可以检测正在使用哪个操作系统。但你也可以将其用于 SQL 注入漏洞、网络发现和渗透测试相关的其他用途。
27.MTR
![1558062319706789.jpeg 5be31b792445e9ad0a9e26c9b5f1bef3[1].jpeg](https://www.aiturang.com/upload/201905/1558062319706789.jpeg)
MTR 将 traceroute 和 ping的功能结合到了一个网络诊断工具上。当使用该工具时,它会限制单个数据包的跳数,然后监视它们的到期时到达的位置。然后每秒进行重复。
28.Tcpdump
![1558062349479866.jpeg baa68e93c8340f3360ec746e5a2ff09d[1].jpeg](https://www.aiturang.com/upload/201905/1558062349479866.jpeg)
Tcpdump 将按照你在命令行中指定的表达式输出匹配捕获到的数据包的信息。你还可以将此数据保存并进一步分析。
29.Justniffer
![1558062382316277.jpeg f0728250cbbf85507403755da495ac57[1].jpeg](https://www.aiturang.com/upload/201905/1558062382316277.jpeg)
Justniffer 是 tcp 数据包嗅探器。使用此嗅探器你可以选择收集低级别的数据还是高级别的数据。它也可以让你以自定义方式生成日志。比如模仿Apache 的访问日志。