写点什么

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:5911077
用户头像
wangkx 日拱一卒,功不唐捐。

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

关注

评论

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

看山聊Java:开始使用 Java8 中的时间类

看山

Java java8 DATE类型 10月月更

【初恋系列】那年的试卷我们再肝一遍(试卷存储详细设计)

人工智能~~~

存储 详细设计 那年的试卷我们再肝一遍 试题

项目开发过程中,成员提离职,怎么办?

石云升

项目管理 管理 引航计划 内容合集 10月月更

在线base64加密解密工具

入门小站

工具

4. Python 函数式编程之 functools 模块初体验

梦想橡皮擦

10月月更

15个开发者最常犯的错误,你中招了吗?

俞凡

认知 10月月更

007云原生之Service Mesh(中心化Broker)

穿过生命散发芬芳

云原生 10月月更

容器 & 服务:Helm Charts(三)K8s集群信息

程序员架构进阶

架构 Kubernetes 容器 Helm Charts 10月月更

云原生训练营20210915-作业1

笑春风

linux时间格式化命令

入门小站

Linux

【Flutter 专题】38 图解 Android 打包 APK 文件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

Redis 面试那些事(30问与答)

Seven七哥

redis 面试 后端

5分钟搞懂URI、URL和URN

俞凡

网络 10月月更

果然爆发!!!央行数字货币要在这“特殊”的一天正式推出?

CECBC

在线摇骰子/色子工具

入门小站

工具

Ember Data 之记录查询

devpoint

store ember.js 10月月更

golang--进程,线程,协程调度

en

Go 语言

【LeetCode】窥探迭代器Java题解

Albert

算法 LeetCode 10月月更

linux之man命令

入门小站

Linux

SpringMVC源码分析-HandlerAdapter(7)-ServletInvocableHandlerMethod组件分析

Brave

源码 springmvc 10月月更

Ember Data 之模型定义

devpoint

model ember.js 10月月更

一种基于Kotlin DSL的静态代码分析AST规则扩展实现

maijun

Java dsl 静态代码分析 结构化规则 规则扩展

5. 再次接触装饰器,增加一种数据结构代替 if_else 的写法

梦想橡皮擦

10月月更

移动端网络监控实践

轻口味

android 大前端 网络协议 引航计划 10月月更

区块链技术可以在哪些方面颠覆石油和天然气行业?

CECBC

读书笔记:彼得原理

程序员架构进阶

自我提升 管理者 彼得原理 10月月更

Kotlin中逻辑运算符操作分析

maijun

and kotlin逻辑运算符 &&

🍃【SpringBoot技术专题】「开发实战系列」动态化Quartz任务调度机制+实时推送任务数据到前端

码界西柚

springboot quartz DeferredResult 任务调度 10月月更

回忆录:「技术主管」练成记

蔡建斌

管理 引航计划 内容合集

【Vuex 源码学习】第七篇 - Vuex 的模块安装

Brave

源码 vuex 10月月更

怎么给程序员做职业规划?

石云升

团队管理 管理 引航计划 内容合集 10月月更

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