[关闭]
@ProX 2020-05-26T09:57:28.000000Z 字数 1821 阅读 289

4个你应该使用的Linux监控工具

InfoQ


摘要

本文作者介绍了常用的4个Linux监控工具,希望可以帮助到读者,提高生产力。

正文

如果你不知道眼下当前服务器底层操作系统中发生了什么,那就有点合眼摸象了。你可以做出有根据的推测,但是当进行到这一步时,就需要原始数据,并且数据的获取要非常及时。

为了根据操作系统当前的运行状态采取相应的措施,你需要能够根据准确的数据来做出判断。

你是否曾经遇到过一台服务器运行缓慢,但是CPU使用率看起来不是很高的情况?你是否遇到过服务器的网络利用率很高,但是定位不到导致高网络利用率的进程的情况?

下面介绍的这些工具可以给你提供帮助。最重要的是,它们中的大多数都可以在没有GUI的情况下使用,并且可以轻松安装在大多数服务器上。

以下就是我每天用到的一些不错的Linux监控工具,它们可以帮助我快速准确地诊断和定位问题。

1. iotop

如果你想知道到底哪些进程消耗了您宝贵的I/O资源,那么请使用iotop进行救援!我已经无数次地使用它通过IOPS参数来定位那些疯狂占用磁盘IO的耗时的进程。

你只是无法从传统工具(如top)中获取原始数据。当使用iotop时,你会发现正如工具的名字所描述的一样,它会展示进程和系统的I/O资源使用情况。

你可以将其用于多种目的,但最关键的是查看磁盘使用情况并标记潜在的性能瓶颈。将此工具与top或htop等其他工具结合使用,可以帮你更全面地了解服务器当前负载情况。

我不建议将iotop用于基准测试。尽管您可以清楚地了解每个进程使用了多少I/O,但它更适合实时监控而不是重复性能测试。如果你对I/O基准测试感兴趣,我推荐一个名为fio的工具。

2. htop

这是我本人的最爱的监控工具之一。该工具比top工具更具视觉吸引力,并且拥有出色的默认配色方案。使用它,你就可以马上对系统当前运行情况有一个清晰的了解。

你可以在清晰的水平条形图中查看计算机内核数目以及它们的利用率。以相同的方式,你可以获得简单的内存使用情况统计信息,并且在底部也有经典的top进程列表。

我热衷于htop的主要原因是它可以快速地提供我所关注的信息。我就是想看看服务器每核CPU使用率和内存使用率在图形上是怎样的-而不是一个无聊的百分比。

如果你觉得某个进程正在耗尽系统上的所有核心从而打开htop进行查看,那么就会发现大片红色,整个过程快速而简洁。

3. IPTraf

这是一个网络问题诊断非常有用的工具。使用此工具,你可以监控正在网络传输的网络流量。也可以以特定的接口或流量类型(例如特定的TCP端口)进行过滤。它与Wireshark功能非常相似,不同之处在于它更轻巧,并且也可以在没有GUI的情况下运行。

另外,该监控工具还有一些非常棒的功能,比如按数据包大小对流量进行统计细分:

您可以使用tcpdumptshark之类的命令行工具执行类似的操作,但是此工具是菜单驱动的,更易于浏览。如果你更倾向于交互式地过滤和查看网络流量情况,那么IPTraf这款工具会如你所愿。

4. Monit

这是你可以在Linux上使用的最灵活、功能最强大的监视工具之一。Monit已经存在了很多年,它可以通过多种方式进行配置以支持不同类型的阈值监控和性能警报。

Monit允许你指定要在Linux操作系统上监视的进程,端口,文件等。它支持使用复杂的回退计时器back-off timer和消息来设置动态警报模式。

一个监控场景比如你想要监控特定进程以确保其正在运行。如果该进程崩溃一次,只需重新启动它即可。如果它开始多次循环崩溃,那就不要重新启动该进程,而应该发送警报。这样的监控场景可以通过Monit的几行配置轻松实现。

Monit甚至为守护程序提供了一个不错的轻量级Web界面,让你一眼就能看到发生了什么:

无论你是管理单个服务器还是集群,Monit提供了最简单,最高效和最划算的(免费!)方法来帮你监控服务运行状态。

结论

非常感谢你抽出宝贵的时间阅读。我希望在你了解到我提到的这些Linux监控工具,以及为什么它们在分析系统异常时能发挥如此重要的作用后,能使您乐在其中,并有所收获。

作者介绍

Tate Galbraith

Software Engineer @mixhalo & die-hard Rubyist. Amateur Radio operator with a love for old technology.

原文链接

4 Linux Monitoring Tools You Should Use

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注