首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >拿好了!Linux 运维必备的 13 款实用工具!

拿好了!Linux 运维必备的 13 款实用工具!

作者头像
小小科
修改于 2020-08-14 09:57:13
修改于 2020-08-14 09:57:13
1.3K00
代码可运行
举报
文章被收录于专栏:北京马哥教育北京马哥教育
运行总次数:0
代码可运行

本文介绍几款 Linux 运维比较实用的工具,希望对 Linux 运维人员有所帮助。

1. 查看进程占用带宽情况 – Nethogs

Nethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。

下载:http://sourceforge.net/projects/nethogs/files/nethogs/0.8/nethogs-0.8.0.tar.gz/download

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]#
yum 
-
y install libpcap
-
devel ncurses
-
devel 
[
root@localhost 
~]#
 tar zxvf nethogs
-
0.8
.
0.tar
.
gz 
[
root@localhost 
~]#
 cd nethogs 
[
root@localhost nethogs
]#
 make 
&&
 make install 
[
root@localhost nethogs
]#
 nethogs eth0

2. 硬盘读取性能测试 – IOZone

IOZone 是一款 Linux 文件系统性能测试工具 可以测试不同的操作系统中文件系统的读写性能。

下载:http://www.iozone.org/src/current/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost current
]#
 tar xvf iozone3_420
.
tar 
[
root@localhost 
~]#
 cd iozone3_420
/
src
/
current
/
 
[
root@localhost current
]#
 make linux 
[
root@localhost current
]#
 
./
iozone 
-
a 
-
n 
512m
 
-
g 
16g
 
-
i 
0
 
-
i 
1
 
-
i 
5
 
-
f 
/
mnt
/
iozone 
-
Rb
 
./
iozone
.
xls
  • -a 使用全自动模式
  • -n 为自动模式设置最小文件大小 (Kbytes)。
  • -g 设置自动模式可使用的最大文件大小 Kbytes。
  • -i 用来指定运行哪个测试。
  • -f 指定测试文件的名字完成后自动删除
  • -R 产生 Excel 到标准输出
  • -b 指定输出到指定文件上

3.实时监控磁盘 IO-IOTop

IOTop 命令是专门显示硬盘 IO 的命令, 界面风格类似 top 命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 yum 
-
y install iotop

4. 网络流量监控 – IPtraf

IPtraf 是一个运行在 Linux 下的简单的网络状况分析工具。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 yum 
-
y install iptraf

5.网络流量监控 – IFTop

iftop 是类似于 linux 下面 top 的实时流量监控工具。比 iptraf 直观些。

下载:http://www.ex-parrot.com/~pdw/iftop/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 tar zxvf iftop
-
0.17
.
tar
.
gz 
[
root@localhost 
~]#
 cd iftop
-
0.17
 
[
root@localhost iftop
-
0.17
]#
 
./
configure 
[
root@localhost iftop
-
0.17
]#
 make 
&&
 make install 
[
root@localhost iftop
-
0.17
]#
 iftop 
[
root@localhost iftop
-
0.17
]#
 iftop 
-
i eth0 
# 指定监控网卡接口
  • TX:发送流量
  • RX:接收流量
  • TOTAL:总流量
  • Cumm:运行 iftop 到目前时间的总流量
  • peak:流量峰值
  • rates:分别表示过去 2s 10s 40s 的平均流量

6. 进程实时监控 – HTop

HTop 是一个 Linux 下的交互式的进程浏览器可以用来替换 Linux 下的 top 命令。

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(安装第三方 YUM 源)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 yum 
-
y install htop

7,系统资源监控 – NMON

NMON 是一种在 AIX 与各种 Linux 操作系统上广泛使用的监控与分析工具

下载:http://sourceforge.jp/projects/sfnet_nmon/releases/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 chmod 
+
x nmon_x86_64_rhel6 
[
root@localhost 
~]#
 mv nmon_x86_64_rhel6 
/
usr
/
sbin
/
nmon 
[
root@localhost 
~]#
 nmon

8. 监控多个日志 – MultiTail

MultiTail 是在控制台打开多个窗口用来实现同时监控多个日志文档、类似 tail 命令的功能的软件。

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm (安装第三方 YUM 源)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 yum 
-
y install multitail 
[
root@localhost 
~]#
 multitail 
-
e 
"fail"
 
/
var
/
log
/
secure 
#筛选关键字进行监控 
[
root@localhost 
~]#
 multitail 
-
l 
"ping baidu.com"
 
#监控后面的命令 - l 将要执行的命令 
[
root@localhost 
~]#
 multitail 
-
i 
/
var
/
log
/
messages 
-
i 
/
var
/
log
/
secure 
#-i 指定一个文件名

9. SSH 暴力破解防护 – Fail2ban

Fail2ban 可以监视你的系统日志然后匹配日志的错误信息正则式匹配执行相应的屏蔽动作一般情况下是调用防火墙屏蔽

下载:http://www.fail2ban.org/wiki/index.php/Downloads

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 cd fail2ban
-
0.8
.
11
 
[
root@localhost fail2ban
-
0.8
.
11
]#
 python setup
.
py install 
[
root@localhost fail2ban
-
0.8
.
11
]#
 cd files
/
 
[
root@localhost files
]#
 cp 
./
redhat
-
initd 
/
etc
/
init
.
d
/
fail2ban 
[
root@localhost files
]#
 service fail2ban start 
[
root@localhost files
]#
 chkconfig 
--
add fail2ban 
[
root@localhost files
]#
 chkconfig fail2ban on

注:需要配置 iptables 实用,如果重启 iptables 了也要重启 fail2ban,因为 fail2ban 的原理是调用 iptables 实时阻挡外界的攻击。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 grep 
-
v 
"^#"
 
/
etc
/
fail2ban
/
jail
.
conf 
|
 grep 
-
v 
"^$"
 
[
DEFAULT
]
 
ignoreip 
=
 
127.0
.
0.1
/
8
# 忽略本机 IP 
bantime 
=
 
600
 
#符合规则后封锁时间 
findtime 
=
 
600
 
# 在多长时间内符合规则执行封锁如 600 秒达到 3 次则执行 
maxretry 
=
 
3
 
# 最大尝试次数 
backend 
=
 
auto
 
#日志修改检测日志 gamin、polling 和 auto 这三种 
usedns 
=
 warn 
[
ssh
-
iptables
]
 
enabled 
=
 
true
# 默认是禁用 false 
filter 
=
 sshd 
action 
=
 iptables
[
name
=
SSH
,
 port
=
ssh
,
 protocol
=
tcp
]
 
# sendmail-whois[name=SSH,dest = 收件人邮箱, sender = 发件人邮箱, sendername="Fail2Ban"] 
logpath 
=
 
/var/
log
/
sshd
.
log 
# 响应的错误日志一般在 / var/log/secure 
maxretry 
=
 
5
 
# 尝试错误次数覆盖全局中的 maxretry

注:默认所有的应用防护都是关闭的,需要我们手动开启。fail2ban.conf 文件是日志信息,jail.conf 文件是保护的具体服务和动作配置信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 touch 
/
var
/
log
/
sshd
.
log 
[
root@localhost 
~]#
 service fail2ban restart 
[
root@localhost 
~]#
 fail2ban
-
client status 
# 查看监控已经开启 
Status
 
|-
 
Number
 of jail
:
 
1
 
`- Jail list: ssh-iptables 
[root@localhost ~]# iptables -L #iptables 过滤表有 fail2ban 一条规则 
fail2ban-SSH tcp -- anywhere anywhere tcp dpt:ssh

10. 连接会话终端持续化 – Tmux

Tmux 是一个优秀的终端复用软件类似 GNU Screen 比 Screen 更加方面、灵活和高效。为了确保连接 SSH 时掉线不影响任务运行。

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(安装第三方 YUM 源)

11. 页面显示磁盘空间使用情况 – Agedu

下载:http://www.chiark.greenend.org.uk/~sgtatham/agedu/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 tar zxvf agedu
-
r9723
.
tar
.
gz 
[
root@localhost 
~]#
 cd agedu
-
r9723 
[
root@localhost 
~]#
 
./
configure 
[
root@localhost 
~]#
 make 
&&
 make install 
[
root@localhost 
~]#
 agedu 
-
s 
/
 
#-s 扫描 
[
root@localhost 
~]#
 agedu 
-
w 
--
address 
192.168
.
0.10
:
80
 
#-w 输入一个网页链接 
[
root@localhost 
~]#
 agedu 
-
w 
--
address 
192.168
.
0.108080
 
--
auth none 
#--auth 关闭认证如果不加端口号会生成一个随机的用浏览器访问

12. 安全扫描工具 – NMap

NMap 是 Linux 下的网络连接扫描和嗅探工具包用来扫描网上电脑开放的网络连接端。

下载:http://nmap.org/download.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 tar jxvf nmap
-
6.40
.
tar
.
bz2 
[
root@localhost nmap
-
6.40
]#
 
./
configure 
[
root@localhost nmap
-
6.40
]#
 make 
&&
 make install 
[
root@localhost 
~]#
 nmap 
192.168
.
0.10
 
#获取基本信息 
[
root@localhost 
~]#
 nmap 
-
O 
192.168
.
0.10
 
#获取系统版本信息 
[
root@localhost 
~]#
 nmap 
-
A 
192.168
.
0.10
 
#获取系统综合信息 
[
root@localhost 
~]#
 nmap 
192.168
.
0.0
/
24
 
# 获取一个网段工作设备基本信息
  • -sSTCP 扫描
  • -sV 系统版本检测

13.Web 压力测试 – Httperf

Httperf 比 ab 更强大,能测试出 web 服务能承载的最大服务量及发现潜在问题;比如:内存使用、稳定性。最大优势:可以指定规律进行压力测试,模拟真实环境。

下载:http://code.google.com/p/httperf/downloads/list

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
root@localhost 
~]#
 tar zxvf httperf
-
0.9
.
0.tar
.
gz 
[
root@localhost 
~]#
 cd httperf
-
0.9
.
0
 
[
root@localhost httperf
-
0.9
.
0
]#
 
./
configure 
[
root@localhost httperf
-
0.9
.
0
]#
 make 
&&
 make install 
[
root@localhost 
~]#
 httperf 
--
hog 
--
server
=
192.168
.
0.202
 
--
uri
=/
index
.
html 
--
num
-
conns
=
10000
 
--
wsess
=
10
,
10
,
0.1

参数说明:

–hog:让 httperf 尽可能多产生连接,httperf 会根据硬件配置,有规律的产生访问连接

–num-conns:连接数量,总发起 10000 请求

–wsess: 用户打开网页时间规律模拟,第一个 10 表示产生 10 个会话连接,第二个 10 表示每个会话连接进行 10 次请求,0.1 表示每个会话连接请求之间的间隔时间 / s

文章转载于马哥教育官网!

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
二叉树遍历的应用:判断二叉树的类别
昨天的文章讲述了二叉树的先序、中序和后序的遍历方法(递归和非递归),但是这种遍历方法有什么意义么?今天来讲讲这些算法可以用来做什么,只要稍加更改,我们就可以得到另外一个功能,只需要仅仅几行代码的修改! 还记得上篇文章二叉树的分类么?今天我们要来说三种树的分类:完全二叉树、平衡二叉树和搜索二叉树!
算法工程师之路
2019/08/05
5450
树形DP
 假设现在有一棵树,我只要求出每个结点作为头节点对应子树的最大值和最小值,那么最终答案一定在其中,因此每个结点都有两个信息,最大值和最小值,我把这个信息封装为一个结构体,带入递归中,就能求出最终答案,最大值就等于当前结点左子树的最大值和右子树的最大值和当前结点的值三者中最大的那一个,最小值也是三者中最小的那一个。
mathor
2018/08/16
1.6K0
树形DP
LeetCode110.平衡二叉树
 平衡二叉树的定义是一个二叉树每个结点的左右两个子树的高度差绝对值不超过1(可以是1),用一个结构体来保存某个结点的信息(包括是否是平衡树,高度多少),算法流程如下:
mathor
2018/08/17
4940
LeetCode110.平衡二叉树
【算法】论平衡二叉树(AVL)的正确种植方法
参考资料 《算法(java)》                           — — Robert Sedgewick, Kevin Wayne 《数据结构》                                  — — 严蔚敏 2017年度原创IT博客评选:http://www.itbang.me/goVote/203 引子 近日, 为了响应市政府“全市绿化”的号召, 身为共青团员的我决定在家里的后院挖坑种二叉树,以支援政府实现节能减排的伟大目标,并进一步为实现共同富裕和民族复兴打下坚实
啦啦啦321
2018/03/30
1.1K0
【算法】论平衡二叉树(AVL)的正确种植方法
什么是平衡二叉树
上篇文章里面,我们已经学习了二叉搜索树的相关内容,二叉搜索树有一个缺点,在插入数据是有序的序列(包括升序和降序),会导致二叉树退化成链表,从而导致在查找,删除,添加时的性能均从O(logN)降低为O(N),这是不能接受的。如下图:
我是攻城师
2019/04/28
7.4K0
什么是平衡二叉树
【算法】搜索二叉树,完全二叉树,平衡二叉树的判断
它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
MapleYe
2020/03/28
1.1K0
AVL树(平衡二叉树)
为什么叫AVL树?   因为AVL树是由 G.M.Adelson-Velsky 和 E.M.Landis 这两位俄罗斯科学家在1962年的论文中首次提出,是最早的自平衡二分搜索树结构。   由于AVL树是自平衡二分搜索树,所以本质上还是二分搜素树,也就是二分搜索树的性质AVL树都满足,由于二分搜索树在添加有序元素时,会退化成链表,造成时间复杂度为O(n),但AVL树是不会出现这种情况的,因为AVL树通过自平衡来解决了退化成链表的问题,关于二分搜索树,你可以看我之前二分搜索树(Binary Search Tree)这篇文章。 平衡二叉树:对于任意一个节点,左子树和右子树的高度差都不能超过1。
程序员波特
2024/01/19
1920
AVL树(平衡二叉树)
自已动手作图搞清楚AVL树
二叉树是一种常用的数据结构,更是实现众多算法的一把利器。 二分搜索树(Binary Search Tree)做为一种能实现快速定位查找的二叉树也得到了广泛应用
智慧zhuhuix
2020/08/14
6470
自已动手作图搞清楚AVL树
【算法】二叉查找树(BST)实现字典API
该文介绍了在技术社区中如何从技术角度、业务角度、架构角度、工程角度、团队协作角度、社区运营角度、软件工程角度、编程语言角度去分析思考问题,通过实例介绍了这些方法的应用,并总结了一些思考框架。
啦啦啦321
2018/01/03
1.7K0
【算法】二叉查找树(BST)实现字典API
二叉树刷题总结:二叉树的属性
这就需要去判断根节点下左子树与右子树里侧和外侧是否相等。比较的方法是拿左子树的 “左-右-中” 节点和右子树的“右-左-中”为顺序的节点做比较。
HelloWorld杰少
2022/08/04
3760
二叉树刷题总结:二叉树的属性
【算法总结】五道常见的算法-二叉树
前段时间,写了面试必备的一系列文章,反应还不错。有一些读者反馈说,能不能整理一些面试常见的算法。前段时间,我恰好总结了 LeetCode 常见的面试算法题目。
程序员徐公
2022/01/20
1.1K0
【算法总结】五道常见的算法-二叉树
数据结构之AVL树
我们先来回忆一下二分搜索树所存在的一个问题:当我们按顺序往二分搜索树添加元素时,那么二分搜索树可能就会退化成链表。例如,现在有这样一颗二分搜索树:
端碗吹水
2021/02/02
5250
【数据结构】二叉树全攻略,从实现到应用详解
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
2的n次方
2024/10/15
1980
【数据结构】二叉树全攻略,从实现到应用详解
LeetCode 二叉树系统题解
TIPS:前中后序遍历区别在于三字中的中间那个字,前、中、后序分别对应左、根、右。
Yano_nankai
2019/11/10
9940
LeetCode 二叉树系统题解
二叉树的最大深度
使用前序(中左右),也可以使用后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。
用户11097514
2024/05/30
860
美团面试官:你对二叉树后续遍历一无所知
其实二叉树的题目真的不难,无非就是前中后序遍历框架来回倒嘛,但是对于有的题目,不同的遍历顺序时间复杂度不同。
labuladong
2021/09/23
5560
二叉树的操作及常见面试题
本文将附上博主自己手动实现的二叉树常见的各种操作以及归纳总结一下常见的基础面试题。
VIBE
2022/12/02
3890
二叉树——104. 二叉树的最大深度
方法一:深度优先搜索 如果我们知道了左子树和右子树的最大深度Ⅰ和r,那么该二叉树的最大深度即为 max(l, r)+1 而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用「深度优先搜索」的方法来计算二叉树的最大深度。具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在O(1)时间内计算出当前二叉树的最大深度。递归在访问到空节点时退出。 复杂度分析 时间复杂度:O(n),其中n为二叉树节点的个数。每个节点在递归中只被遍历一次。 空间复杂度:O(height),其中height表示二叉树的高度。递归函数需要栈空间,而栈空间取决于递归的深度,因此空间复杂度等价于二叉树的高度。 方法二:广度优先搜索 我们也可以用「广度优先搜索」的方法来解决这道题目,但我们需要对其进行—些修改,此时我们广度优先搜索的队列里存放的是「当前层的所有节点」。每次拓展下一层的时候,不同于广度优先搜索的每次只从队列里拿出一个节点,我们需要将队列里的所有节点都拿出来进行拓展,这样能保证每次拓展完的时候队列里存放的是当前层的所有节点,即我们是一层一层地进行拓展,最后我们用一个变量ans来维护拓展的次数,该二叉树的最大深度即为ans。 复杂度分析 ·时间复杂度:O(n),其中n为二叉树的节点个数。与方法一同样的分析,每个节点只会被访问一次。 ·空间复杂度:此方法空间的消耗取决于队列存储的元素数量,其在最坏情况下会达到O(n)。
向着百万年薪努力的小赵
2022/12/02
2940
二叉树——104. 二叉树的最大深度
计算二叉树的最大高度
参考链接:Iterative Method to find Height of Binary Tree
九州暮云
2019/08/21
5K0
为实习准备的数据结构(4)-- 二叉树
==特别标注:如果二叉树中有相同值元素的存在,那么有极大概率还原失败,下面中、后序遍历也是==
看、未来
2021/03/17
4170
相关推荐
二叉树遍历的应用:判断二叉树的类别
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验