Linux

1、iotop

如果想知道到底哪些进程消耗了服务器宝贵的 I/O 资源,那么请使用 iotop!无数次地使用它通过 IOPS 参数来定位那些疯狂占用磁盘 IO 的耗时进程。
4个好用的Linux监控工具 - 图1
只是无法从传统工具(如 top)中获取原始数据。当使用 iotop 时,会发现正如工具的名字所描述的一样,它会展示进程和系统的 I/O 资源使用情况。
可以将其用于多种目的,但最关键的是查看磁盘使用情况并标记潜在的性能瓶颈。将此工具与 top 或 htop 等其他工具结合使用,能更全面地了解服务器当前负载情况。
不建议将 iotop 用于基准测试。尽管清楚地了解每个进程占用多少 I/O 资源,但它更适合实时监控而不是重复的性能测试。如果对 I/O 基准测试感兴趣,推荐一个名为 fio 的工具。
https://fio.readthedocs.io/en/latest/fio_doc.html

2、htop

该工具比 top 工具更具视觉吸引力,并且拥有出色的默认配色方案。使用它,就可以马上对系统当前运行情况有一个清晰了解。
4个好用的Linux监控工具 - 图2
能清晰地在水平条形图中查看计算机内核数目以及它们的利用率。同样的,还可以获得内存使用情况的简单统计信息,并且在底部也有经典的 top 进程列表。
如果肯定某个进程正在耗尽系统上的所有核心从而打开 htop 进行查看,那么就会发现大片红色,整个过程快速而简单。

3、IPTraf

这是一个诊断网络问题非常有用的工具。使用此工具,可以监控正在网络传输的网络流量。也能以特定的接口或流量类型(例如特定的 TCP 端口)进行过滤。它与 Wireshark 功能非常相似,不同之处在于它更轻巧,并且也可以在没有 GUI 的情况下运行。
4个好用的Linux监控工具 - 图3
http://iptraf.seul.org/
https://www.wireshark.org/
另外,该监控工具还有一些非常棒的功能,比如按数据包大小对流量进行统计细分:
4个好用的Linux监控工具 - 图4
可以使用 tcpdump 或 tshark 之类的命令行工具执行类似的操作,但是此工具是菜单驱动的,更易于浏览。如果更倾向于交互式地过滤和查看网络流量情况,那么 IPTraf 这款工具会如你所愿。

4、Monit

这是可以在 Linux 上使用的最灵活、功能最强大的监视工具之一。Monit 出现了很多年,它能通过多种方式进行配置以支持不同类型的阈值监控和性能告警。
4个好用的Linux监控工具 - 图5
https://mmonit.com/
Monit 允许指定要在 Linux 操作系统上监视的进程、端口、文件等。它支持使用复杂的回退计时器 back-off timer 和消息来设置动态警报模式。
一个监控场景比如想要监控特定进程以确保其正在运行。如果该进程崩溃一次,只需重新启动它即可。如果它开始多次连续地崩溃,那就不要重新启动该进程,而应该发送警报。这样的监控场景可以通过 Monit 的几行配置轻松实现。
Monit 甚至为守护程序提供了一个不错的轻量级 Web 界面,可以一眼就能看到服务器发生了什么:
4个好用的Linux监控工具 - 图6
无论是管理单个服务器还是集群,Monit 提供了最简单,最高效和最划算的(免费!)方法来监控服务的运行状态。

5、延展阅读

https://medium.com/better-programming/4-linux-monitoring-tools-you-should-use-38a136e68639