- Linux工程师必备的88个监控工具
- 命令行工具
- 桌面监控
- 基础设施监控
- 30. Server Density
- 31. OpenNMS
- 32. SysUsage
- 33. brainypdm
- 34. PCP
- 35. KSysGuard
- 36. Munin
- 37. Nagios
- 38. Zenoss
- 39. Cacti
- 40. Zabbix
- 41. nmon
- 43. Glances
- 44. saidar
- 45. RRDtool
- 46. monit
- 47. Linux进程管理器
- 48. df
- 49. discus
- 51. Dstat
- 55. vmstat
- 57. mpstat
- 58. pmap
- 59. ps
- 60. sar
- 61. collectl
- 62. iostat
- 63. free
- 64. proc伪文件系统
- 66. Gnome系统监视器
- 日志监控
- 网络监控
- 下一步
- 参考文献
Linux工程师必备的88个监控工具
注解
本文是一篇译文,原文是: 80 Linux Monitoring Tools 。
Linux性能监控及调试并不是个容易事,在 合适的时机 使用 正确的工具 却可事半功倍!
以下是史上整理最全的 Linux 监控工具集:
命令行工具
1. top
这是一个预装在很多 Unix 系统的小工具。当你想要查看在系统中运行的进程或者线程时, top 就是一个不错的工具。你可以用不同的方式对这些进程进行排序,默认是以 CPU 使用率进行排序的。
2. htop
htop 实质上是一个增强版的 top 。用它对进程进行排序更为容易。界面看上去也更容易理解,并且已经内置了很多通用操作。另外,它也是完全交互式的。
3. atop
与 top 和 htop 类似, atop 也可以用来监控系统进程。不同的是, atop 可以按天记录进程日志,以便长期分析。
4. apachetop
apachetop 用于监视 apache 网络服务器的整体性能。它主要是基于 mytop 。apachetop 展示服务器当前读写数以及总处理请求数,非常有用。
5. ftptop
ftptop 用于监控 FTP 服务器,提供的信息非常丰富:当前 FTP连接总数 、 会话总数 ( session )、 上传下载总数 以及 登录用户 等等。
6. mytop
mytop 是一个用于监控 MySQL 线程以及性能的小工具。它可以让你实时查看数据库正在处理哪些请求。
7. powertop
powertop 可以帮你诊断与 电源消耗 以及 电源管理 相关的问题。powertop 也可以帮你 试验电源管理设置 ,以达到最优。按制表键( Tab )可以切换标签页。
8. iotop
iotop 检查 I/O 使用情况并以一种类似 top 的界面展示。它按列展示读和写的速率,每行代表一个进程。它也展示了进程花在内存页换入( swapping in )以及等待 I/O 时间的百分比。
桌面监控
9. ntopng
ntopng 是 ntop 的升级版,通过浏览器提供了一个用于网络监控的图形用户界面。它可以胜任的工作包括但不局限于:主机地理定位;采集网络流量;显示 IP 流量分布并分析。
10. iftop
iftop 命令与 top 类似,但与 top 主要用于检查 CPU 使用率不同,iftop 监听 选定网卡网络流量 并以表格的形式展示当前使用量。因此,它可以轻松回答像“为什么我的网络这么慢呢?”这样的问题。
11. jnettop
jnettop 也用于监测网络流量,但比 iftop 更形象。另外,它还支持自定义文本输出,以及可用于更深入分析的机器友好模式。
12. bandwidthd
bandwidthd 追踪 TCP/IP 网络子网的使用情况,并通过 png 图片构建一个形象化 HTML 页面在浏览器中展示。它由数据库系统驱动,支持搜索、过滤、多传感器以及定制化报告。
14. ethtool
ethtool 命令用于展示和修改 网卡 参数。它也可以用来诊断 以太网 设备,以获取更多统计数据。
15. NetHogs
NetHogs 对网络流量安装协议或者子网进行分解,然后按进程进行分组。因此,当网络流量猛增时,你可以使用 NetHogs 揪出肇事进程。
16. iptraf
iptraf 收集不少指标: TCP 连 接数据包以及字节计数 、 接口统计 、 活动指标 、 TCP/IP通信故障 以及 站内数据包及字节计数 等等。
17. ngrep
ngrep 是为网络层设计的 grep 。它依赖 pcap ,支持通过 正则表达式 或 十六进制表达式 来匹配数据包。
18. MRTG
MRTG 最初被开发来监控路由流量,但现在能够监控网络相关的东西。它每五分钟采集一次数据,然后生成一个 HTML 页面。它还具备发送邮件告警的能力。
19. bmon
bmon 能够监控并帮你调试网络。它捕获网络相关统计数据,并以友好的方式进行展示。你还可以通过 curses 或脚本与 bmon 进行交互。
20. traceroute
traceroute 是一个内置工具,用于展示路由以及测量数据包经过网络的延迟。
21. IPTState
IPTState 可以让你观察流量通过 iptables 后去往何处,并根据你给定的条件进行排序。该工具还支持从 iptables 表中删除状态信息。
22. darkstat
darkstat 采集网络流量并计算用量统计。统计报告由图表组成,通过一个简单的 HTTP 服务器对外提供。
23. vnStat
vnStat 也是一个 网络流量监控 工具。它直接使用内核提供的统计数据,占用系统资源更少。由于统计数据经过 持久化 ,机器重启后依旧可用。另外,有艺术气质的系统管理员可以使用它提供的 颜色选项 。
24. netstat
netstat 是一个系统内置工具,可以查询 TCP 网络连接(套接字)、路由表以及网卡信息。它经常被用于排查网络问题。
25. ss
netstat 是一个古老的工具,现在更推荐使用 ss 命令。ss 比 netstat 更能干,显示信息更全面,更重要的是速度更快。举个例子,运行 ss -s
可以输出一个 汇总统计 。
26. nmap
nmap 是一个 扫描工具 ,用于扫描服务器端口,探测操作系统类型。你也可以将 nmap 用于 SQL注入漏洞 ( SQL injection vulnerabilities )、 网络发现 ( network discovery )以其他 渗透测试 ( penetration testing )场景。
27. mtr
mtr 将 traceroute 以及 ping 的功能组合起来,形成一个更强大的网络诊断工具。使用 mtr 时,它会限制每个数据包的跳数( TTL ),然后根据过期回包判断数据包达到的位置。它不断重复这个探测过程,每秒一次。
28. tcpdump
tcpdump 是一个 抓包工具 ,根据你提供的 条件表达式 ( expression )抓取匹配的 网络数据包 ( packet )并展示。你也可以将数据保存下来,做进一步分析。
29. Justniffer
Justniffer 是一个 TCP 包 嗅探器 。使用该嗅探器,你可以选择嗅探 低层数据 ( low-level data )还是 高层数据 ( high level data )。你也可以生成日志,格式可以自定义。例如,你可以模仿 apache 的访问日志( access log )格式。
基础设施监控
30. Server Density
31. OpenNMS
OpenNMS 主要有四个功能: 事件管理和通知 、 发现和配置 、 服务监控 以及 数据采集 。它支持定制化以适应不同的网络环境。
32. SysUsage
SysUsage 通过 sar 以及其他系统命令持续对系统进行监控。它允许你设置告警阈值,指标超过设定值时便发送告警信息。SysUsage 本身可以部署在中央服务器,所有采集到的统计数据也存在那。它提供一个 Web 界面,可以查看到所有的统计数据。
33. brainypdm
brainypdm 是一个数据管理和监控工具,可以从 nagios 或者其他通用数据源收集数据并制作图表。它是跨平台的,基于 Web 的图表也支持自定义。
34. PCP
PCP 是 Performance Co-Pilot 的简写。它可以非常高效地从多台主机收集指标数据。它提供一个编写插件的框架,借此你可以写插件采集你认为重要的指标。你可以通过 Web 界面或者一个 GUI 界面查看数据图表。监控大型系统, PCP 是一个不错的选择。
35. KSysGuard
KSysGuard 这个工具既是 系统监视器 ,又是 任务管理器 。通过 KSysGuard 你可以在一个工作表里查询多台服务器的系统指标,也可以杀死或者启动一个服务器进程。
36. Munin
Munin 是一个 网络监控 和 系统监控 工具,可以为指标设置告警阈值。它使用 RRDtool 生成图表,并提供一个 Web 界面来展示图表。它主打插件扩展能力,提供了不少可用插件。
37. Nagios
Nagios 也是一个 系统和网络监控 工具,可以支撑监控大量服务器。它支持在发现异常时发送告警信息,也提供了非常丰富的插件。
38. Zenoss
Zenoss 支持对 系统 和 网络 指标进行监控,而且提供了 Web 界面。它还支持 网络资源 以及 网络配置变更 自动发现。它也支持告警功能,而且兼容 Nagios 插件。
39. Cacti
Cacti 是一个网络画图工具,使用 RRDtool 做数据存储。它允许用户定期拉取服务指标,并以图表展示。用户可以通过 shell 脚本来扩展 Cacti ,实现对指定资源的监控。
40. Zabbix
Zabbix 是一个开源的 基础设施监控 ( infrastructure monitoring )解决方案。Zabbix 核心部分是用 C 实现的,前端则是 PHP ,数据存储部分则可以对接大部分现有数据库。此外, agent 不是必要的。如果你不想安装 agent ,那么 Zabbix 应该一个不错的选择。
41. nmon
43. Glances
44. saidar
45. RRDtool
46. monit
47. Linux进程管理器
Linux进程管理器 与 OSX 活动监视器以及 Windows 进程管理器类似。它的设计目标是,做比 top 或 ps 更好用的工具。通过它,你可以查看到每个系统进程,以及它们占用了多少内存和 CPU 资源。
48. df
df ( disk free 的缩写),是一个用于 查看文件系统使用量 的内置系统工具( Unix 系统 )。
49. discus
51. Dstat
55. vmstat
57. mpstat
58. pmap
59. ps
60. sar
61. collectl
62. iostat
63. free
64. proc伪文件系统
66. Gnome系统监视器
日志监控
67. GoAccess
69. Swatch
70. MultiTail
网络监控
73. strace
74. DTrace
75. webmin
76. stat
77. ifconfig
78. unlimit
79. cpulimit
80. lshw
82. lsof
下一步
订阅更新,获取更多学习资料,请关注我们的 微信公众号 :