Linux 操作系統(tǒng)運維必備的實用工具有哪些?
一.顯示進程占用網(wǎng)絡(luò)流量監(jiān)測工具--Nethogs
命令iftop來檢查帶寬使用情況、netstat用來查看接口統(tǒng)計報告、還有其他的一些工具Bandwidthd、Speedometer、Nethogs、Darkstat、jnettop、ifstat、iptraf、nload和ntop等。但是這些工具都是統(tǒng)計網(wǎng)卡的進出數(shù)據(jù),如果你想要找一個像windows上360安全衛(wèi)士那樣,能夠按進程實時統(tǒng)計每個程序網(wǎng)絡(luò)帶寬利用率,那么NetHogs就是你所需要的唯一工具。
1. [root@localhost ~]#yum -y install libpcap-devel ncurses-devel
2. [root@localhost ~]# tar zxvf nethogs-0.8.0.tar.gz
3. [root@localhost ~]# cd nethogs
4. [root@localhost nethogs]# make && make install
5. [root@localhost nethogs]# nethogs eth0
二. 硬盤讀寫性能測試工具- IOZone
IOZone 是一款 Linux 文件系統(tǒng)性能測試工具 可以測試不同的操作系統(tǒng)中文件系統(tǒng)的讀寫性能。
1. [root@localhost current]# tar xvf iozone3_420.tar
2. [root@localhost ~]# cd iozone3_420/src/current/
3. [root@localhost current]# make linux
4. [root@localhost current]# ./iozone -a -n 512m -g 16g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls
- Ÿ -a 使用全自動模式
- Ÿ -n 為自動模式設(shè)置最小文件大小 (Kbytes)。
- Ÿ -g 設(shè)置自動模式可使用的最大文件大小 Kbytes。
- Ÿ -i 用來指定運行哪個測試。
- Ÿ -f 指定測試文件的名字完成后自動刪除
- Ÿ -R 產(chǎn)生 Excel 到標準輸出
- Ÿ -b 指定輸出到指定文件上
三.實時LO監(jiān)控磁盤 -IOTop
IOTop 命令是專門顯示硬盤 IO 的命令, 界面風格類似 top 命令。
1. [root@localhost ~]# yum -y install iotop
四. 網(wǎng)絡(luò)流量監(jiān)控 - IPtraf
IPtraf 是一個運行在 Linux 下的簡單的網(wǎng)絡(luò)狀況分析工具。
1. [root@localhost ~]# yum -y install iptraf
五.網(wǎng)絡(luò)流量監(jiān)控 - IFTop
iftop是類似于top的實時流量監(jiān)控工具。
1. [root@localhost ~]# tar zxvf iftop-0.17.tar.gz
2. [root@localhost ~]# cd iftop-0.17
3. [root@localhost iftop-0.17]# ./configure
4. [root@localhost iftop-0.17]# make && make install
5. [root@localhost iftop-0.17]# iftop
6. [root@localhost iftop-0.17]# iftop -i eth0 # 指定監(jiān)控網(wǎng)卡接口
- Ÿ TX:發(fā)送流量
- Ÿ RX:接收流量
- Ÿ TOTAL:總流量
- Ÿ Cumm:運行 iftop 到目前時間的總流量
- Ÿ peak:流量峰值
- Ÿ rates:分別表示過去 2s 10s 40s 的平均流量
六. 進程實時監(jiān)控 - 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 源)
1. [root@localhost ~]# yum -y install htop
七,系統(tǒng)資源監(jiān)控 - NMON
NMON 是一種在 AIX 與各種 Linux 操作系統(tǒng)上廣泛使用的監(jiān)控與分析工具
1. [root@localhost ~]# chmod +x nmon_x86_64_rhel6
2. [root@localhost ~]# mv nmon_x86_64_rhel6 /usr/sbin/nmon
3. [root@localhost ~]# nmon
八. 監(jiān)控多個日志 - MultiTail
MultiTail 是在控制臺打開多個窗口用來實現(xiàn)同時監(jiān)控多個日志文檔、類似 tail 命令的功能的軟件。
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm (安裝第三方 YUM 源)
1. [root@localhost ~]# yum -y install multitail
2. [root@localhost ~]# multitail -e "fail" /var/log/secure #篩選關(guān)鍵字進行監(jiān)控
3. [root@localhost ~]# multitail -l "ping baidu.com" #監(jiān)控后面的命令 - l 將要執(zhí)行的命令
4. [root@localhost ~]# multitail -i /var/log/messages -i /var/log/secure #-i 指定一個文件名
九. SSH 暴力破解防護 - Fail2ban
Fail2ban 可以監(jiān)視你的系統(tǒng)日志然后匹配日志的錯誤信息正則式匹配執(zhí)行相應(yīng)的屏蔽動作一般情況下是調(diào)用防火墻屏蔽
1. [root@localhost ~]# cd fail2ban-0.8.11
2. [root@localhost fail2ban-0.8.11]# python setup.py install
3. [root@localhost fail2ban-0.8.11]# cd files/
4. [root@localhost files]# cp ./redhat-initd /etc/init.d/fail2ban
5. [root@localhost files]# service fail2ban start
6. [root@localhost files]# chkconfig --add fail2ban
7. [root@localhost files]# chkconfig fail2ban on
注:需要配置 iptables 實用,如果重啟 iptables 了也要重啟 fail2ban,因為 fail2ban 的原理是調(diào)用 iptables 實時阻擋外界的攻擊。
1. [root@localhost ~]# grep -v "^#" /etc/fail2ban/jail.conf | grep -v "^$"
2. [DEFAULT]
3. ignoreip = 127.0.0.1/8# 忽略本機 IP
4. bantime = 600 #符合規(guī)則后封鎖時間
5. findtime = 600 # 在多長時間內(nèi)符合規(guī)則執(zhí)行封鎖如 600 秒達到 3 次則執(zhí)行
6. maxretry = 3 # 最大嘗試次數(shù)
7. backend = auto #日志修改檢測日志 gamin、polling 和 auto 這三種
8. usedns = warn
9. [ssh-iptables]
10. enabled = true# 默認是禁用 false
11. filter = sshd
12. action = iptables[name=SSH, port=ssh, protocol=tcp]
13. # sendmail-whois[name=SSH,dest = 收件人郵箱, sender = 發(fā)件人郵箱, sendername="Fail2Ban"]
14. logpath = /var/log/sshd.log # 響應(yīng)的錯誤日志一般在 / var/log/secure
15. maxretry = 5 # 嘗試錯誤次數(shù)覆蓋全局中的 maxretry
1. [root@localhost ~]# touch /var/log/sshd.log
2. [root@localhost ~]# service fail2ban restart
3. [root@localhost ~]# fail2ban-client status # 查看監(jiān)控已經(jīng)開啟
4. Status
5. |- Number of jail: 1
6. `- Jail list: ssh-iptables
7. [root@localhost ~]# iptables -L #iptables 過濾表有 fail2ban 一條規(guī)則
8. fail2ban-SSH tcp -- anywhere anywhere tcp dpt:ssh
十. 連接會話終端持續(xù)化 - Tmux
Tmux 是一個優(yōu)秀的終端復(fù)用軟件類似 GNU Screen 比 Screen 更加方面、靈活和高效。為了確保連接 SSH 時掉線不影響任務(wù)運行。
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(安裝第三方 YUM 源)
十一. 頁面顯示磁盤空間使用情況 - Agedu
1. [root@localhost ~]# tar zxvf agedu-r9723.tar.gz
2. [root@localhost ~]# cd agedu-r9723
3. [root@localhost ~]# ./configure
4. [root@localhost ~]# make && make install
5. [root@localhost ~]# agedu -s / #-s 掃描
6. [root@localhost ~]# agedu -w --address 192.168.0.10:80 #-w 輸入一個網(wǎng)頁鏈接
7. [root@localhost ~]# agedu -w --address 192.168.0.108080 --auth none #--auth 關(guān)閉認證如果不加端口號會生成一個隨機的用瀏覽器訪問
十二. 安全掃描工具 - NMap
NMap 是 Linux 下的網(wǎng)絡(luò)連接掃描和嗅探工具包用來掃描網(wǎng)上電腦開放的網(wǎng)絡(luò)連接端。
1. [root@localhost ~]# tar jxvf nmap-6.40.tar.bz2
2. [root@localhost nmap-6.40]# ./configure
3. [root@localhost nmap-6.40]# make && make install
4. [root@localhost ~]# nmap 192.168.0.10 #獲取基本信息
5. [root@localhost ~]# nmap -O 192.168.0.10 #獲取系統(tǒng)版本信息
6. [root@localhost ~]# nmap -A 192.168.0.10 #獲取系統(tǒng)綜合信息
7. [root@localhost ~]# nmap 192.168.0.0/24 # 獲取一個網(wǎng)段工作設(shè)備基本信息
· -sSTCP 掃描
· -sV 系統(tǒng)版本檢測
十三.Web 壓力測試 - Httperf
Httperf 比 ab 更強大,能測試出 web 服務(wù)能承載的最大服務(wù)量及發(fā)現(xiàn)潛在問題;比如:內(nèi)存使用、穩(wěn)定性。最大優(yōu)勢:可以指定規(guī)律進行壓力測試,模擬真實環(huán)境。
1. [root@localhost ~]# tar zxvf httperf-0.9.0.tar.gz
2. [root@localhost ~]# cd httperf-0.9.0
3. [root@localhost httperf-0.9.0]# ./configure
4. [root@localhost httperf-0.9.0]# make && make install
5. [root@localhost ~]# httperf --hog --server=192.168.0.202 --uri=/index.html --num-conns=10000 --wsess=10,10,0.1
參數(shù)說明:
--hog:讓 httperf 盡可能多產(chǎn)生連接,httperf 會根據(jù)硬件配置,有規(guī)律的產(chǎn)生訪問連接
--num-conns:連接數(shù)量,總發(fā)起 10000 請求
--wsess: 用戶打開網(wǎng)頁時間規(guī)律模擬,第一個 10 表示產(chǎn)生 10 個會話連接,第二個 10 表示每個會話連接進行 10 次請求,0.1 表示每個會話連接請求之間的間隔時間 / s