专栏首页北京马哥教育Linux运维工程师必备的80个监控工具全集(上)

Linux运维工程师必备的80个监控工具全集(上)

随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过80种方式来管理你的机器。

在本文中,我们主要包括以下方面:

  • 命令行工具
  • 网络相关内容
  • 系统相关的监控工具
  • 日志监控工具
  • 基础设施监控工具

监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的。下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试?

八大系统监控工具

1

top

这是一个被预装在许多 UNIX 系统中的小工具。当你想要查看在系统中运行的进程或线程时:top 是一个很好的工具。你可以对这些进程以不同的方式进行排序,默认是以 CPU 进行排序的。

2

htop【1】

htop 实质上是 top 的一个增强版本。它更容易对进程排序。它看起来上更容易理解,并且已经内建了许多通用操作。它也是完全交互式的。

3

atop【2】

atop 和 top,htop 非常相似,它也能监控所有进程,但不同于 top 和 htop 的是,它可以按日记录进程的日志供以后分析。它也能显示所有进程的资源消耗。它还会高亮显示已经达到临界负载的资源。

4

apachetop[3]

apachetop 会监控 apache 网络服务器的整体性能。它主要是基于 mytop。它会显示当前的读取进程、写入进程的数量以及请求进程的总数。

5

ftptop[4]

ftptop 给你提供了当前所有连接到 ftp 服务器的基本信息,如会话总数,正在上传和下载的客户端数量以及客户端是谁。

6

mytop[5]

mytop 是一个很简洁的工具,用于监控 mysql 的线程和性能。它能让你实时查看数据库以及正在处理哪些查询。

7

powertop[6]

powertop 可以帮助你诊断与电量消耗和电源管理相关的问题。它也可以帮你进行电源管理设置,以实现对你服务器最有效的配置。你可以使用 tab 键切换选项卡。

8

iotop[7]

iotop 用于检查 I/O 的使用情况,并为你提供了一个类似 top 的界面来显示。它按列显示读和写的速率,每行代表一个进程。当发生交换或 I/O 等待时,它会显示进程消耗时间的百分比。

与网络相关的监控

9

ntopng[8]

ntopng 是 ntop 的升级版,它提供了一个能通过浏览器进行网络监控的图形用户界面。它还有其他用途,如:地理定位主机,显示网络流量和 ip 流量分布并能进行分析。

10

iftop[9]

iftop 类似于 top,但它主要不是检查 cpu 的使用率而是监听所选择网络接口的流量,并以表格的形式显示当前的使用量。像“为什么我的网速这么慢呢?!”这样的问题它可以直接回答。

11

jnettop[10]

jnettop 以相同的方式来监测网络流量但比 iftop 更形象。它还支持自定义的文本输出,并能以友好的交互方式来深度分析日志。

12

bandwidthd[11]

BandwidthD 可以跟踪 TCP/IP 网络子网的使用情况,并能在浏览器中通过 png 图片形象化地构建一个 HTML 页面。它有一个数据库系统,支持搜索、过滤,多传感器和自定义报表。

13

EtherApe[12]

EtherApe 以图形化显示网络流量,可以支持更多的节点。它可以捕获实时流量信息,也可以从 tcpdump 进行读取。也可以使用 pcap 格式的网络过滤器来显示特定信息。

14

ethtool[13]

ethtool 用于显示和修改网络接口控制器的一些参数。它也可以用来诊断以太网设备,并获得更多的统计数据。

15

NetHogs [14]

NetHogs 打破了网络流量按协议或子网进行统计的惯例,它以进程来分组。所以,当网络流量猛增时,你可以使用 NetHogs 查看是由哪个进程造成的。

16

iptraf[15]

iptraf 收集的各种指标,如 TCP 连接数据包和字节数,端口统计和活动指标,TCP/UDP 通信故障,站内数据包和字节数。

17

ngrep[16]

ngrep 就是网络层的 grep。它使用 pcap ,允许通过指定扩展正则表达式或十六进制表达式来匹配数据包。

18

MRTG[17]

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

19

bmon[18]

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

20

traceroute

traceroute 是一个内置工具,能显示路由和测量数据包在网络中的延迟。

21

IPTState [19]

IPTState 可以让你观察流量是如何通过 iptables,并通过你指定的条件来进行排序。该工具还允许你从 iptables 的表中删除状态信息。

22

darkstat[20]

darkstat 能捕获网络流量并计算使用情况的统计数据。该报告保存在一个简单的 HTTP 服务器中,它为你提供了一个非常棒的图形用户界面。

23

vnStat[21]

vnStat 是一个网络流量监控工具,它的数据统计是由内核进行提供的,其消耗的系统资源非常少。系统重新启动后,它收集的数据仍然存在。有艺术感的系统管理员可以使用它的颜色选项。

24

netstat

netstat 是一个内置的工具,它能显示 TCP 网络连接,路由表和网络接口数量,被用来在网络中查找问题。

25

ss

比起 netstat,使用 ss 更好。ss 命令能够显示的信息比 netstat 更多,也更快。如果你想查看统计结果的总信息,你可以使用命令 ss -s

26

nmap[22]

Nmap 可以扫描你服务器开放的端口并且可以检测正在使用哪个操作系统。但你也可以将其用于 SQL 注入漏洞、网络发现和渗透测试相关的其他用途。

27

MTR[23]

MTR 将 traceroute 和 ping 的功能结合到了一个网络诊断工具上。当使用该工具时,它会限制单个数据包的跳数,然后监视它们的到期时到达的位置。然后每秒进行重复。

28

‍‍‍‍T‍cpdu‍mp‍‍[24]‍‍‍‍‍‍

‍Tcpdump 将按照你在命令行中指定的表达式输出匹配捕获到的数据包的信息。你还可以将此数据保存并进一步分析。‍‍‍

‍29‍

Just‍niffer[25]‍‍

Justniffer 是 tcp 数据包嗅探器。使用此嗅探器你可以选择收集低级别的数据还是高级别的数据。它也可以让你以自定义方式生成日志。比如模仿 Apache 的访问日志。

via: https://blog.serverdensity.com/80-linux-monitoring-tools-know/

作者:Jonathan Sundqvist[72] 译者:strugglingyouth[73] 校对:wxy[74]

本文由 LCTT[75] 原创编译

[1]: http://hisham.hm/htop/ [2]: http://www.atoptool.nl/ [3]: https://github.com/JeremyJones/Apachetop [4]: http://www.proftpd.org/docs/howto/Scoreboard.html [5]: http://jeremy.zawodny.com/mysql/mytop/ [6]: https://01.org/powertop [7]: http://guichaz.free.fr/iotop/ [8]: http://www.ntop.org/products/ntop/ [9]: http://www.ex-parrot.com/pdw/iftop/ [10]: http://jnettop.kubs.info/wiki/ [11]: http://bandwidthd.sourceforge.net/ [12]: http://etherape.sourceforge.net/ [13]: https://www.kernel.org/pub/software/network/ethtool/ [14]: http://nethogs.sourceforge.net/ [15]: http://iptraf.seul.org/ [16]: http://ngrep.sourceforge.net/ [17]: http://oss.oetiker.ch/mrtg/ [18]: https://github.com/tgraf/bmon/ [19]: http://www.phildev.net/iptstate/index.shtml [20]: https://unix4lyfe.org/darkstat/ [21]: http://humdi.net/vnstat/ [22]: http://nmap.org/ [23]: http://www.bitwizard.nl/mtr/ [24]: http://www.tcpdump.org/ [25]: http://justniffer.sourceforge.net/

[72]: https://www.serverdensity.com/

[73]: https://github.com/strugglingyouth [74]: https://github.com/wxy


本文分享自微信公众号 - 马哥Linux运维(magedu-Linux),作者:strugglingyouth

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python机器学习工具包

    ? 作者 | 空木 来源 | CSDN社区 Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy。其中Numpy是一个用pytho...

    小小科
  • 只需十四步:从零开始掌握 Python 机器学习(附资源)

    分享一篇来自机器之心的文章。关于机器学习的起步,讲的还是很清楚的。原文链接在:只需十四步:从零开始掌握Python机器学习(附资源) Python 可以说是现...

    小小科
  • Python新手应该如何练手?知乎5600赞答案告诉你!

    作者:小小搬运工 链接:https://www.zhihu.com/question/29372574/answer/88624507 一直在学习python,...

    小小科
  • Linux运维工程师必备的80个监控工具全集(上)

    随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过80种方式来管理你的机器。

    马哥linux运维
  • 程序员修炼The Pragmatic Starter Kit

    项目自动化之道Pragmatic Project Automation How To Build, Deploy, and Monitor Java Appli...

    阿敏总司令
  • 第十一章 http标准库和其他标准库

    四. 第四个讲的是pprof, 我之前在测试的时候已经详细研究过pprof用来监控web服务的性能, 这里就不在描述了,

    用户7798898
  • Golang 下载文件

    这里使用net/http下载文件,可以设置Content-Type(具体参考)告诉客户端返回的内容类型实际上是什么,实现不同方式的文件的下载。

    孤烟
  • 真正“搞”懂http协议01—背景故事

    zaking
  • 深度学习(Deep Learning) 学习资料

    用户1756920
  • nodejs学习笔记(1)-安装配置和helloworld

    关于nodejs的概念,查了查官网和博客,说他不是一门语言也不是库也不是框架,是一个js的运行环境。 这个概念有些模糊,运行环境这个词让我有些不明所以,又往后查...

    雪地二货

扫码关注云+社区

领取腾讯云代金券