Linux工程师必备的88个监控工具

https://learn-linux.readthedocs.io/zh_CN/latest/maintenance/monitor/tools/80-linux-monitoring-tools.html

注解

本文是一篇译文,原文是: 80 Linux Monitoring Tools 。

Linux性能监控及调试并不是个容易事,在 合适的时机 使用 正确的工具 却可事半功倍!

以下是史上整理最全的 Linux 监控工具集:

命令行工具

1. top

top

这是一个预装在很多 Unix 系统的小工具。 当你想要查看在系统中运行的进程或者线程时, top 就是一个不错的工具。 你可以用不同的方式对这些进程进行排序,默认是以 CPU 使用率进行排序的。

2. htop

htop

htop 实质上是一个增强版的 top 。 用它对进程进行排序更为容易。 界面看上去也更容易理解,并且已经内置了很多通用操作。 另外,它也是完全交互式的。

3. atop

与 top 和 htop 类似, atop 也可以用来监控系统进程。 不同的是, atop 可以按天记录进程日志,以便长期分析。

4. apachetop

apachetop 用于监视 apache 网络服务器的整体性能。 它主要是基于 mytop 。 apachetop 展示服务器当前读写数以及总处理请求数,非常有用。

5. ftptop

ftptop 用于监控 FTP 服务器,提供的信息非常丰富: 当前 FTP 连接总数 、 会话总数 ( session )、 上传下载总数 以及 登录用户 等等。

6. mytop

mytop

mytop 是一个用于监控 MySQL 线程以及性能的小工具。 它可以让你实时查看数据库正在处理哪些请求。

7. powertop

powertop

powertop 可以帮你诊断与 电源消耗 以及 电源管理 相关的问题。 powertop 也可以帮你 试验电源管理设置 ,以达到最优。 按制表键( Tab )可以切换标签页。

8. iotop

iotop

iotop 检查 I/O 使用情况并以一种类似 top 的界面展示。 它按列展示读和写的速率,每行代表一个进程。 它也展示了进程花在内存页换入( swapping in )以及等待 I/O 时间的百分比。

桌面监控

9. ntopng

ntopng

ntopng 是 ntop 的升级版,通过浏览器提供了一个用于网络监控的图形用户界面。 它可以胜任的工作包括但不局限于:主机地理定位;采集网络流量;显示 IP 流量分布并分析。

10. iftop

iftop

iftop 命令与 top 类似,但与 top 主要用于检查 CPU 使用率不同, iftop 监听 选定网卡网络流量 并以表格的形式展示当前使用量。 因此,它可以轻松回答像“为什么我的网络这么慢呢?”这样的问题。

11. jnettop

jnettop

jnettop 也用于监测网络流量,但比 iftop 更形象。 另外,它还支持自定义文本输出,以及可用于更深入分析的机器友好模式。

12. bandwidthd

bandwidthd

bandwidthd 追踪 TCP/IP 网络子网的使用情况,并通过 png 图片构建一个形象化 HTML 页面在浏览器中展示。 它由数据库系统驱动,支持搜索、过滤、多传感器以及定制化报告。

14. ethtool

ethtool

ethtool 命令用于展示和修改 网卡 参数。 它也可以用来诊断 以太网 设备,以获取更多统计数据。

15. NetHogs

NetHogs

NetHogs 对网络流量安装协议或者子网进行分解,然后按进程进行分组。 因此,当网络流量猛增时,你可以使用 NetHogs 揪出肇事进程。

16. iptraf

iptraf

iptraf 收集不少指标: TCP 连 接数据包以及字节计数 、 接口统计 、 活动指标 、 TCP/IP 通信故障 以及 站内数据包及字节计数 等等。

17. ngrep

ngrep

ngrep 是为网络层设计的 grep 。 它依赖 pcap ,支持通过 正则表达式 或 十六进制表达式 来匹配数据包。

18. MRTG

MRTG

MRTG 最初被开发来监控路由流量,但现在能够监控网络相关的东西。 它每五分钟采集一次数据,然后生成一个 HTML 页面。 它还具备发送邮件告警的能力。

19. bmon

bmon

bmon 能够监控并帮你调试网络。 它捕获网络相关统计数据,并以友好的方式进行展示。 你还可以通过 curses 或脚本与 bmon 进行交互。

20. traceroute

traceroute

traceroute 是一个内置工具,用于展示路由以及测量数据包经过网络的延迟。

21. IPTState

IPTState 可以让你观察流量通过 iptables 后去往何处,并根据你给定的条件进行排序。 该工具还支持从 iptables 表中删除状态信息。

22. darkstat

traceroute

darkstat 采集网络流量并计算用量统计。 统计报告由图表组成,通过一个简单的 HTTP 服务器对外提供。

23. vnStat

vnStat

vnStat 也是一个 网络流量监控 工具。 它直接使用内核提供的统计数据,占用系统资源更少。 由于统计数据经过 持久化 ,机器重启后依旧可用。 另外,有艺术气质的系统管理员可以使用它提供的 颜色选项 。

24. netstat

netstat

netstat 是一个系统内置工具,可以查询 TCP 网络连接(套接字)、路由表以及网卡信息。 它经常被用于排查网络问题。

25. ss

netstat 是一个古老的工具,现在更推荐使用 ss 命令。 ss 比 netstat 更能干,显示信息更全面,更重要的是速度更快。 举个例子,运行 ss -s 可以输出一个 汇总统计 。

26. nmap

nmap

nmap 是一个 扫描工具 ,用于扫描服务器端口,探测操作系统类型。 你也可以将 nmap 用于 SQL注入漏洞 ( SQL injection vulnerabilities )、 网络发现 ( network discovery )以其他 渗透测试 ( penetration testing )场景。

27. mtr

mtr

mtr 将 traceroute 以及 ping 的功能组合起来,形成一个更强大的网络诊断工具。 使用 mtr 时,它会限制每个数据包的跳数( TTL ),然后根据过期回包判断数据包达到的位置。 它不断重复这个探测过程,每秒一次。

28. tcpdump

tcpdump

tcpdump 是一个 抓包工具 ,根据你提供的 条件表达式 ( expression )抓取匹配的 网络数据包 ( packet )并展示。 你也可以将数据保存下来,做进一步分析。

29. Justniffer

Justniffer

Justniffer 是一个 TCP 包 嗅探器 。 使用该嗅探器,你可以选择嗅探 低层数据 ( low-level data )还是 高层数据 ( high level data )。 你也可以生成日志,格式可以自定义。 例如,你可以模仿 apache 的访问日志( access log )格式。

基础设施监控

30. Server Density

Server Density

31. OpenNMS

OpenNMS

OpenNMS 主要有四个功能: 事件管理和通知 、 发现和配置 、 服务监控 以及 数据采集 。 它支持定制化以适应不同的网络环境。

32. SysUsage

SysUsage

SysUsage 通过 sar 以及其他系统命令持续对系统进行监控。 它允许你设置告警阈值,指标超过设定值时便发送告警信息。 SysUsage 本身可以部署在中央服务器,所有采集到的统计数据也存在那。 它提供一个 Web 界面,可以查看到所有的统计数据。

33. brainypdm

brainypdm

brainypdm 是一个数据管理和监控工具,可以从 nagios 或者其他通用数据源收集数据并制作图表。 它是跨平台的,基于 Web 的图表也支持自定义。

34. PCP

PCP

PCP 是 Performance Co-Pilot 的简写。 它可以非常高效地从多台主机收集指标数据。 它提供一个编写插件的框架,借此你可以写插件采集你认为重要的指标。 你可以通过 Web 界面或者一个 GUI 界面查看数据图表。 监控大型系统, PCP 是一个不错的选择。

35. KSysGuard

kdesystemguard

KSysGuard 这个工具既是 系统监视器 ,又是 任务管理器 。 通过 KSysGuard 你可以在一个工作表里查询多台服务器的系统指标,也可以杀死或者启动一个服务器进程。

36. Munin

Munin

Munin 是一个 网络监控 和 系统监控 工具,可以为指标设置告警阈值。 它使用 RRDtool 生成图表,并提供一个 Web 界面来展示图表。 它主打插件扩展能力,提供了不少可用插件。

37. Nagios

Nagios

Nagios 也是一个 系统和网络监控 工具,可以支撑监控大量服务器。 它支持在发现异常时发送告警信息,也提供了非常丰富的插件。

38. Zenoss

Zenoss

Zenoss 支持对 系统 和 网络 指标进行监控,而且提供了 Web 界面。 它还支持 网络资源 以及 网络配置变更 自动发现。 它也支持告警功能,而且兼容 Nagios 插件。

39. Cacti

Cacti

Cacti 是一个网络画图工具,使用 RRDtool 做数据存储。 它允许用户定期拉取服务指标,并以图表展示。 用户可以通过 shell 脚本来扩展 Cacti ,实现对指定资源的监控。

40. Zabbix

Zabbix

Zabbix 是一个开源的 基础设施监控 ( infrastructure monitoring )解决方案。 Zabbix 核心部分是用 C 实现的,前端则是 PHP ,数据存储部分则可以对接大部分现有数据库。 此外, agent 不是必要的。 如果你不想安装 agent ,那么 Zabbix 应该一个不错的选择。

41. nmon

nmon

43. Glances

Glances

44. saidar

saidar

45. RRDtool

rrdtool

46. monit

monit

47. Linux进程管理器

Linux进程管理器

Linux进程管理器 与 OSX 活动监视器以及 Windows 进程管理器类似。 它的设计目标是,做比 top 或 ps 更好用的工具。 通过它,你可以查看到每个系统进程,以及它们占用了多少内存和 CPU 资源。

48. df

df

df ( disk free 的缩写),是一个用于 查看文件系统使用量 的内置系统工具( Unix 系统 )。

49. discus

discus

51. Dstat

Dstat

55. vmstat

vmstat

57. mpstat

mpstat

58. pmap

pmap

59. ps

ps

60. sar

sar

61. collectl

collectl

62. iostat

iostat

63. free

free

64. proc伪文件系统

proc伪文件系统

66. Gnome系统监视器

Gnome系统监视器

日志监控

67. GoAccess

GoAccess

69. Swatch

Swatch

70. MultiTail

MultiTail

网络监控

73. strace

strace

74. DTrace

DTrace

75. webmin

webmin

76. stat

stat

77. ifconfig

ifconfig

78. unlimit

unlimit

79. cpulimit

cpulimit

80. lshw

lshw

82. lsof

lsof

下一步

订阅更新,获取更多学习资料,请关注我们的 微信公众号 :

Linux工程师必备的88个监控工具的更多相关文章

  1. Linux工程师必备的系统监控工具

    WGCLOUD基于java语言开发,是微服务架构构建监控系统,支持高并发高性能高可用,核心模块包括:服务器集群监控,ES集群状态监控,CPU监控,内存监控,数据监控(mysql,postgresql, ...

  2. Linux系统管理员必备的监控工具(88款)

    随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 ...

  3. 高级Linux运维工程师必备技能(扫盲篇)

    高级Linux运维工程师必备技能(扫盲篇) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在了解文件系统之前,我们要学习一下磁盘存储数据的方式,大家都知道文件从内存若要持久化存储的 ...

  4. 【转帖】系统软件工程师必备技能-进程内存的working set size(WSS)测量

    系统软件工程师必备技能-进程内存的working set size(WSS)测量 2018年12月28日 18:43:01 Linuxer_ 阅读数:145 https://blog.csdn.net ...

  5. Java工程师必备

    Java工程师必备 JAVA基础扎实,熟悉JVM,熟悉网络.多线程.分布式编程及性能调优 精通Java EE相关技术 熟练运用Spring/SpringBoot/MyBatis等基础框架 熟悉分布式系 ...

  6. [面试]中高级测试工程师必备,月薪15K+

    1.你的测试职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去.而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求 ...

  7. 我最推荐的一张Java后端学习路线图,Java工程师必备

    前言 学习路线图往往是学习一样技术的入门指南.网上搜到的Java学习路线图也是一抓一大把. 今天我只选一张图,仅此一图,足以包罗Java后端技术的知识点.所谓不求最好,但求最全,学习Java后端的同学 ...

  8. MySQL常用指令,java,php程序员,数据库工程师必备。程序员小冰常用资料整理

    MySQL常用指令,java,php程序员,数据库工程师必备.程序员小冰常用资料整理 MySQL常用指令(备查) 最常用的显示命令: 1.显示数据库列表. show databases; 2.显示库中 ...

  9. 世道变了 – 你愿意成为微软认证Linux工程师吗?

     随笔世道变了 – 你愿意成为微软认证Linux工程师吗? 世道变了 – 你愿意成为微软认证Linux工程师吗?  leixu十二月 14, 2015随笔 2015年12月9日,微软发布了全新的MCS ...

随机推荐

  1. 热更新解决方案--xlua学习笔记

    一.热更新方案简介 在Unity游戏工程中,C#代码(编译型语言)资源和Resources文件夹下的资源打包后都不可以更改,因此这部分内容不能进行热更新,而lua代码(解释型语言)逻辑不需要进行预编译 ...

  2. Webpack的基本配置和打包与介绍(二)

    1. 前言 在上一章中我们学习到了webpack的基本安装配置和打包,我们这一章来学学如何使用loader和plugins 如果没看第一章的这里有传送门 2. Loader 2.1 什么是loader ...

  3. 还在用KPI做管理研发团队?试试黄勇的OKR实战笔记

    OKR是一种融入了人性的科学管理框架,承诺的事情就要努力去做到.深层次来看,OKR便恰恰体现了这样一种"承诺"精神. OKR绝不是一款简单的目标管理工具,用好它,你便能体会到管理的 ...

  4. 死磕Spring之AOP篇 - Spring AOP自动代理(一)入口

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1 ...

  5. 2- MySQL客户端工具Workbench的使用及数据库的操作

    数据库增删改查快速入门 查看数据库: show databases; 选在数据库:use 数据库名: 创建数据库:create  database db_name; 删除数据库:drop databa ...

  6. 病毒木马查杀实战第012篇:QQ盗号木马之逆向分析

    前言 在本系列的文章中,对每一个病毒分析的最后一个部分,若无特殊情况,我都会采用逆向分析的手段来为读者彻底剖析目标病毒.但是之前的"熊猫烧香"病毒,我用了三篇文章的篇幅(每篇250 ...

  7. Python中Selenium模块的使用

    目录 Selenium的介绍.配置和调用 Selenium的配置 Selenium的调用 Selenium的使用 定位 定位元素的使用 定位下拉标签元素 在iframe框架之间切换 上传文件 Webd ...

  8. 易酷CMS2.5本地文件包含漏洞复现

    易酷CMS是一款影片播放CMS.该CMS2.5版本存在本地文件包含漏洞.我们可以利用这个漏洞,让其包含日志文件,然后再利用报错信息将一句话木马写入日志中.然后利用文件包含漏洞包含该日志文件,再用菜刀连 ...

  9. SEO优化技术的简介

    严格来讲,seo技术没有所谓的严格的黑帽与白帽之分.即使是正常的301重定向,在某些情况下也能作用于黑帽seo技术.我们能判定一个人是真正的好人还是坏人么?答案是否定的.之所以解密所谓的黑帽seo,是 ...

  10. Win64 驱动内核编程-22.SHADOW SSDT HOOK(宋孖健)

    SHADOW SSDT HOOK HOOK 和 UNHOOK SHADOW SSDT 跟之前的 HOOK/UNHOOK SSDT 类似,区别是查找SSSDT的特征码,以及根据索引计算函数地址的公式,还 ...