每个系统管理员都有一套自己的常用工具帮助管理linux系统。青睐的应用程序、青睐的命令行脚本和青睐的工具都是系统管理员生活中的一部分。我们谁都没时间去学习上百个不同的选项和调整以获得想要的效果。我们需要不受复杂性和高成本约束的高效工具。
这5种工具满足基本系统管理工具的所有要求。它们是我的最爱。大多数伴我超过15年。你应了解它们,并添加到工具箱中。
1.sar
多年来,System Activity Reporter(sar)一直是我的最爱,它是现已默认安装的sysstat软件包的一部分。这里就不解释sar提供的所有选项了。如果你想了解原因,请在提示符下输入man sar,自行查看。将近60页的手册解释了众多选项。
sar命令提供了许多系统性能统计信息,涵盖每个子系统性能的方方面面。比如说,查看sar -C以显示CPU性能:
$ sar -C
Linux 4.18.0-80.el8.x86_64 (rhel8) 12/09/2019 _x86_64_ (1 CPU)
15:43:09 LINUX RESTART (1 CPU)
03:50:32 PM CPU %user %nice %system %iowait %steal %idle
04:00:16 PM all 0.01 0.09 0.22 0.10 0.00 99.58
04:10:32 PM all 0.01 0.00 0.18 0.01 0.00 99.80
04:20:32 PM all 0.01 0.00 0.17 0.01 0.00 99.82
04:30:16 PM all 0.00 0.00 0.18 0.01 0.00 99.81
04:40:32 PM all 0.00 0.00 0.17 0.01 0.00 99.82
04:50:32 PM all 0.00 0.00 0.18 0.01 0.00 99.81
05:00:16 PM all 0.01 0.05 0.18 0.01 0.00 99.75
05:10:32 PM all 0.00 0.00 0.18 0.00 0.00 99.81
05:20:32 PM all 0.04 0.00 0.19 0.02 0.00 99.76
Average: all 0.01 0.02 0.18 0.02 0.00 99.77
如果你没有sar,可以通过安装sysstat软件包来轻松获得。由于sysstat软件包已经存在了很久,有大量的说明文档及种种命令。
2.Wireshark
Wireshark是我青睐的系统管理工具之一。它对于高级的故障排查很有用很重要,所有中高级系统管理员岗位都应该要求使用它。Wireshark官方称是一种网络协议分析器,但实际上是一种数据包嗅探器。
要使用Wireshark,选择一块本地网卡以“监听”网络数据包。一旦开始捕获,网卡会捕获所有通过的网络数据包。注意有大量数据包。捕获1分钟可能捕获数百个网络数据包。你会看到广播数据包、DNS“who has”数据包和邮件检查等等。如果你从未做过这事,应该下载Wireshark,看看自己的网络到底有多“絮叨”。
先花几分钟学习如何开始和停止捕获。然后,上网搜索弄明白每种消息的含义。使用Wireshark可以帮助你排查一系列与网络和应用程序有关的问题,从DDoS攻击、网络探测到其他恶意活动,并解读每个网络上都会出现的无数标准消息。
3.Nmap
我向来喜欢用Nmap安全扫描器侦查网络。简而言之,Nmap可扫描你的网络,以确定哪些主机处于联机状态,它们提供哪些服务(Web服务器、邮件服务器和数据库等),它们运行的操作系统等等。Nmap是一款我几乎每周都使用的必要的系统管理员工具。
我开始新工作或为新客户公司工作时,做的头件事是进行彻底的Nmap扫描。是的,我知道该工具因密集的端口扫描会引发警报,但是它能收集宝贵的信息。我需要能像突破我们防线的黑客查看我们的网络那样查看网络。但愿安全小组也定期进行侦查。无论如何,这是我定期执行的操作,确保网络上没有恶意服务或系统在运行。
4.Webmin
Webmin对我来说不可或缺。自使用Linux以来,它一直是我的得力助手。Webmin是一种面向Linux的基于Web的系统管理界面。它拥有一批默认的配置和操作小程序,几乎支持一切功能。如果是它不支持的功能,你也可能在其网站上找到第三方模块。
Webmin本质上是一套支持Web的Perl脚本,可帮助你管理Linux系统。它受用户名/密码对的保护,可以通过HTTPS来加强安全,这可以在Webmin内完成。从较高层面来看,Webmin是一种基于Web的管理界面,它使系统管理员能够管理面向Linux系统的全部硬件、软件和服务。
5.VirtualBox
Oracle的VirtualBox是所谓的Type 2虚拟机管理程序,这意味着你可以将标准的操作系统(比如Linux、mac或windows)作为主机系统来运行,并将VirtualBox作为应用程序来安装,进而对其他操作系统“进行容器处理”。VirtualBox是我青睐的系统管理工具之一。它允许系统管理员安装多个操作系统,用于测试、安全管理以及兼容性使用。
我觉得VirtualBox很有用且很必要,它是我在所使用的每个系统上最先安装的应用程序之一。如果我用Mac,会安装它,以便可以使用Linux和Windows系统。如果我有Windows系统,做同样的事。VirtualBox在Linux上也可以运行。我在Linux服务器和工作站上使用它,以便可以更有效地利用硬件,为其他用户和我自己提供容器化服务。
VirtualBox满足我的所有要求:免费、易于使用、不干扰计算机的正常运行,而且让我能够使用各种操作系统,不管我目前使用的是哪个主机。