写点什么

4 个好用的 Linux 监控工具

  • 2020-05-29
  • 本文字数:1588 字

    阅读完需:约 5 分钟

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 的情况下运行。


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



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

4. Monit


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


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


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


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



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

结论

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


原文链接:4 Linux Monitoring Tools You Should Use


2020-05-29 15:5911263
用户头像
wangkx 日拱一卒,功不唐捐。

发布了 76 篇内容, 共 20.8 次阅读, 收获喜欢 127 次。

关注

评论

发布
暂无评论
发现更多内容

Vol.10 Java 25岁了!

pyfn2030

Java jdk 编程语言 Java25周年

贴吧电纸书资深用户,从7个方面详谈BOOX Poke2上手体验!

DT极客

平台化服务的基石:权限模型设计

孤岛旭日

企业架构 用户权限 数据建模

终于找到了一篇文章!通俗地讲解计算机工作原理

图灵社区

cpu 存储器 编译器 计算机工作原理

写给产品经理的信(6):时间管理

punkboy

极客时间,项目管理 职场 产品经理 时间分配 时间管理

SpringBoot之多模块开发

北漂码农有话说

python实现·十大排序算法之桶排序(Bucket Sort)

南风以南

Python 排序算法 桶排序

不忘初心,继续努力

一周思进

ARTS 打卡计划

Cassandra可调一致性的使用及原理

老任物联网杂谈

大数据 分布式 Cassandra 可调一致性

Spring源码

云淡风轻

spring 源码

只需CSS的下拉式导航菜单

寇云

CSS css3

一位测试工程师的自我介绍

姬翔

测试

JUC整理笔记四之梳理VarHandle(上)

JFound

Java

Django ListView DetailView等基于类的视图如何添加装饰器?

BigYoung

Python django LiveView 装饰器

大厂为什么不招30岁以上程序员,看这篇就够了

金刚小书童

程序员 职业规划 技术管理 职业成长

Spring Bean生命周期——初始化和销毁

xiaoxi666

Java spring

广告的发展历程

子悠

广告 计算广告 广告系统 互联网广告 RTB

恭喜你,赢得了爱情长跑的胜利

小天同学

爱情 兄弟 祝福

谈谈控制感(11):这样提升控制感,谁都能做到

史方远

心理 成长

毫无意义的人生唯有编织图案

xyz

关于字符编码那些你应该知道的事情

꯭🇫꯭

Java MySQL emoji utf-8 ASCII

【CSS】为什么a标签的伪类选择器要注意书写顺序?

德育处主任

CSS html css3 大前端 Web

面试都在问的微服务、服务治理、RPC、下一代微服务框架... 一文带你彻底搞懂!

程序员柠檬

微服务 后台开发 架构设计

如何存储1个二进制位&锁存器的核心和本质

姜海天

计算机 数字逻辑

vue-router 容易被忽视的几个地方

꯭🇫꯭

Vue vuejs vue-router router

ARTS-week-1

youngitachi

ARTS 打卡计划 arts

图片与标题的Ken Burns动效

寇云

CSS css3

Vite for Vue 是什么?

꯭🇫꯭

Vue vuejs vite Vue3

2020年5月30日 泛型程序设计

瑞克与莫迪

产业区块链:产业是本质,区块链是工具

CECBC

新基建 CECBC 区块链技术 中国电子

设计模式:建造者设计模式

毛佳伟🐳

4个好用的Linux监控工具_文化 & 方法_Tate Galbraith_InfoQ精选文章