下面是 Linux 下 4 个日常使用率非常高的监控工具,可以帮助我们准确快速的诊断系统问题。
1. iotop
如果你想知道某些进程使用了多少你宝贵的 I/O 资源,那么就使用 iotop 吧。
iostat 命令也是查看 I/O 状态的,但他监控的是系统级别的 I/O 情况,而 iotop 监控的是进程级别的,可以监控到哪一个进程使用的 I/O 信息。
2. htop
htop 是传统 top 的增强版,具有更好的视觉效果,更容易理解当前系统的状况。
可以清楚看到 CPU 每个核儿的使用状况,不像 top 那样隐晦。
同样,内存的使用情况也很清晰。
不仅有传统的百分比数据,还使用了条形图来显示CPU和内存的度量指标,可读性比 top 好了很多。
而且操作也更加便利,例如终止进程可以不用输入进程ID,还可以一次终止多个进程。
htop 还有很多便利的操作,推荐用他来替代 top。
3. IPTraf
IPTraf 是诊断网络问题的利器,他可以监控系统的所有网络流量。
可以为指定的端口、传输类型设置过滤器。
IPTraf 就像是一个轻量级的 Wireshark。
通过 IPTraf 可以做很多细致的操作,例如按总体数据包大小对流量进行统计细分:
tcpdump 或者 tshark 都与 IPTraf 有类似的功能,但是 IPTraf 使用更方便,有菜单,很容易操作。
4. Monit
Monit 是一个非常灵活的工具,有很多种配置方式,支持不同类型的阈值和性能告警。
Monit 允许对进程、端口、文件等目标进行监控,并且可以设置动态的告警模式。
例如你想监控一个进程,确保他是运行的,如果进程挂掉了,就重新启动,如果循环挂掉多次,就不重启了,而是发送一个告警。这类需求可以通过 Monit 轻松搞定。
Monit 还有一个轻量级的 web 界面:
不管是管理一台服务器还是多台,Monit 都是一个监控利器,使用极其简单、非常高效。