日常運維 (0413任務)
1. 使用w查看系統負載
linux 日常運維管理技巧
<1>? 監控系統狀態
w/uptime?? 查看系統負載:第一行從左到右顯示的信息依次為:時間、系統運行時間、登錄用戶數、平均負載。
第二行依次是:當前登錄的用戶名及其登錄的地址。
系統負載: 三個數字。分別表示,1分鐘系統的平均負載值,5分鐘系統的平均負載值,15分鐘系統的平均負載值。
重點是看第一個值,表示單位時間內使用CPU的活動進程數(在這裏其實就是1分鐘內),值越大就說明服務器壓力越大。這個值只要不超過服務器的CPU數量就沒有關系。
cat/proc/cpuinfo? 查看CPU核數。查看的是邏輯CPU,不是物理CPU。
如果是0,代表1顆CPU;如果是1,代表2顆CPU.
2 vmstat 監控系統的狀態
使用方法:vmstat 1?? 表示每一秒鐘,顯示一次。
分為6個部分:procs、memory、swap、io、system和cpu
procs 顯示進程的相關信息:
r(run)? 表示運行或等待CPU時間片的進程數。
b(block) 表示等待資源的進程數,這個資源指的是I/O,內存等。
memory? 顯示內存的相關信息:
swpd: 表示切換到交換分區中的內存數量,單位為KB.
free: 表示當前空閑的內存數量,單位為KB。
buff: 表示(即將寫入磁盤的)緩沖大小,單位為KB.
cache: 表示(從磁盤中讀取的)緩沖大小,單位KB.
swap 顯示內存的交換情況
si: 表示由交換區寫入內存的數據量,單位為KB.
so:表示由內存寫入交換區的數據量,單位為KB.
io 顯示磁盤的使用情況
bi: 表示從塊設備讀取數據的量(讀磁盤), 單位為kb.
bo: 表示從塊設備寫入數據的量(寫磁盤), 單位為kb.
system: 顯示采集間隔內發生的中斷次數
in: 表示在某一時間間隔內觀測到的每秒設備的中斷次數。
cs:表示每秒產生的上下文切換次數。
cpu : 顯示CPU的使用狀態。
us: 顯示用戶下所花費CPU的時間百分比
sy:顯示系統花費CPU的時間百分比
id: 表示CPU處於空閑狀態的時間百分比.
wa: 表示I/O等待所占用CPU的時間百分比
st:表示被偷走的CPU所占百分比(一般為0,不用關註)
重點關註:r, b和wa這3列。
3. TOP 命令顯示進程所占的系統資源
top命令用於動態監控進程所占的系統資源,每隔3秒一次。它的特點是把占用系統資源(cpu、內存、磁盤I/O)最高的進程放到最前面。
RES : 這一項為進程所占物理內存的大小。
%MEM% 為使用內存的百分比。
top? -c ??? 可以查看到具體的命令。
4. 用sar 命令監控系統狀態
sar 命令很強大,它可以監控系統幾乎所有資源的狀態,比如平均負載、網卡流量、磁盤狀態、內存使用等。
與其他系統狀態監控工具不同,它可以打印歷史信息,可以顯示當天從零點開始到當前時刻的系統狀態信息。
使用前,需要安裝 yum install? -y sysstat
首次安裝會提示報錯:那是因為如果SAR 後面不跟命令,它會調用保留的一個數據庫文件,在/var/log/sa/目錄下。這個目錄就是放這個工具生成的信息的歷史文件目錄。因為SAR 有一個特性,會每隔10分鐘把記錄信息刷一遍,保存在這個目錄裏。
1. 查看網卡流量? sar -n? DEV
打印網卡信息,每隔1秒鐘顯示一次,顯示10次。
IFACE 表示設備名稱。
這一列表示每秒進入收取的包的數量。
這一列表示每秒發送出去的包的數量。
這一列表示每秒收取的數據量。
? 這一列表示每秒發送的數據量。
加上-f 選項查看某一天的網卡流量歷史,後面跟文件名。
查看系統的負載情況。
查看磁盤的讀寫流量情況。
5. 用nload 命令產看網卡流量
系統沒有默認安裝,需要進行安裝,安裝方法:
# yum install? -y epel-release ;? yum? install? -y? nload
SAR17 可以直接看到的文件。
6.監控IO性能
安裝sysstat 時,就會安裝IOSTAT,它和sar 是同一個包。
這個代表磁盤有多少時間占用CPU。如果這個數值非常大,說明磁盤太差了。
io有問題,可能是服務讀寫太快,也可能是磁盤有問題。?
遇到這種問題,肯定是要先分析原因,看看是磁盤問題,還是服務問題。如果是磁盤問題,肯定是要換磁盤。服務問題,就要看是異常還是正常,異常的話,就需要近一步分析異常的原因,正常的話,那就說明需要擴容了。
iotop? 也需要安裝。
動態顯示IO作業情況
7. 用free 命令查看內存使用狀況
free 命令可以查看當前系統的總內存大小以及使用內存的情況。
free 有三行,其中第一行是說明,第二行是內存情況,第三行是交換分區情況。
第一行說明:
total :? 內存總大小
used: 真正使用的實際內存大小
free:? 剩余物理內存大小(沒有被分配,純剩余)
shared:? 共享內存大小,不用關註它。
buff/cache:? 分配給buffer 和 cache 的內存總共有多大。
註意點:? buffer和cache 都是一部分內存,內存的作用就是緩解cpu和IO(如:磁盤)的速度差距的。數據經過CPU計算,即將要寫入磁盤,這是用的內存為buffer;CPU 要計算時,需要把數據從磁盤中讀出來,臨時先放到內存中,這部分內存就是cache.
available :系統可使用內存有多大,它包含了free. available 是由free這部分內存和buffer/cache 還未被占用的那部分內存組成。
used 那部分內存和buffer/cache 被占用的內存是沒有關系的。
available = buffer+cache+free
total =? used + free+buffer/cache
free 命令 可以加-m 和 -g (分別以MB和GB為單位)
8. PS命令查看系統進程。
終止(殺死)進程。可以采用KILL? PID 進程號。每一個進程都有一個目錄。
直接影響系統的負載。
ps aux | grep -c? sshd? 查看某個進程或者它的數量。
9.查看網絡的狀態
查看UDP和TCP狀態情況
netstat -an? 查看所有的狀態。
10. 抓包工具: tcpdump
-nn 選項的作用"是讓第3列和第4列顯示成“IP+端口號”的形式,如果不加-nn選項,則顯示"主機名+服務名稱".
DDos? 攻擊命令。 接入專業的防攻擊的設備。
可以指定抓包某個網卡的端口。
某臺IP設備的22號端口的包。
指定包的數量和存放的文件地址。
安裝wireshark 工具,使用tshark 命令。
這個命令類似於web 訪問日誌。
11. linux 網絡相關
當網卡down 輸入ifconfig 不顯示。ifconfig? -a? 輸入就可以查看到
if down 即停用網卡,if? up 啟動網卡。
如果在遠程登錄服務器,當使用ifdown ens33 的話,會導致無法再連接服務器。
這個時候應該使用ifdown ens33 && ifup ens33.停用之後馬上啟動。
但盡量使用這個命令: systemctl? restart? network 來重啟網卡。
配置網絡信息,需要修改配置文件: /etc/sysconfig/network-scripts/ifcfg-xxx
設置多種IP
設置虛擬網卡
查看網卡是否連接,網卡的連接狀態。
更改主機名:完了之後重新登錄,打一個bash 命令就可以了。
設置DNS。 只要把DNS地址寫到配置文件/etc/resolv.conf 文件中。
如果只是臨時修改DNS IP地址,直接修改/etc/resolv.conf ; 如果是永久修改,需要修改網卡的配置文件/etc/sysconfig/network-scripts/ifcfg-xxx.
臨時解析某個域名。
只在本機生效。
註意點:一個IP後面可以跟多個域名,可以是幾十個甚至上百個。
每一行只能有一個IP,也就是說一個域名不能對應多個IP。
如果有多行中出現相同的域名(對應的IP不一樣),會按最前面出現的記錄來解析
?
本次課題筆記資料:
??https://docs.qq.com/doc/DR3dISkdERGtac2VD
日常運維 (0413任務)