NETSTAT 命令獲取連接數以及狀態
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LISTEN: 偵聽來自遠方的TCP端口的連接請求
SYN-SENT: 再發送連接請求后等待匹配的連接請求
SYN-RECEIVED:再收到和發送一個連接請求后等待對方對連接請求的確認
ESTABLISHED: 代表一個打開的連接
FIN-WAIT-1: 等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
FIN-WAIT-2: 從遠程TCP等待連接中斷請求
CLOSE-WAIT: 等待從本地用戶發來的連接中斷請求
CLOSING: 等待遠程TCP對連接中斷的確認
LAST-ACK: 等待原來的發向遠程TCP的連接中斷請求的確認
TIME-WAIT: 等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
CLOSED: 沒有任何連接狀態
關閉IPV6
cat >> /etc/modprobe.d/dist.conf <<EOF
alias net-pf-10 off
options ipv6 disable=1
EOF
zabbix server端配置
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=192.168.21.15
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1,192.168.21.15
zabbix client端配置
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.248.6
ServerActive=192.168.248.6
Hostname=192.168.248.5
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d
vmstat 參數詳解
r 等待執行的任務數
展示了正在執行和等待cpu資源的任務個數。當這個值超過了cpu個數,就會出現cpu瓶頸。
b 等待IO的進程數量
swpd 正在使用虛擬的內存大小,單位k (-S M 指定單位)
free 空閑內存大小
buff 已用的buff大小,對塊設備的讀寫進行緩沖
cache 已用的cache大小,文件系統的cache
si 每秒從交換區寫入內存的大小(單位:kb/s)
so 每秒從內存寫到交換區的大小
bi 每秒讀取的塊數(讀磁盤)
bo 每秒寫入的塊數(寫磁盤)
in 每秒中斷數,包括時鐘中斷
這兩個值越大,會看到由內核消耗的cpu時間會越多
cs 每秒上下文切換數
這兩個值越大,會看到由內核消耗的cpu時間會越多
us 用戶進程執行消耗cpu時間(user time)
us的值比較高時,說明用戶進程消耗的cpu時間多,但是如果長期超過50%的使用,那么我們就該考慮優化程序算法或其他措施了
sy 系統進程消耗cpu時間(system time)
sy的值過高時,說明系統內核消耗的cpu資源多,這個不是良性的表現,我們應該檢查原因。
id 空閑時間(包括IO等待時間)
wa 等待IO時間
wa過高時,說明io等待比較嚴重,這可能是由于磁盤大量隨機訪問造成的,也有可能是磁盤的帶寬出現瓶頸。
shell 總結
判斷變量是否為數字
a=21234;[ -n "`echo "$a" | sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is number
從rpm包中提取文件
rpm2cpio foo.rpm | cpio -idmv
rpm2cpio可以將rpm包轉換成cpio格式
cpio命令中的-i是提取文件,-d表示根據rpm包中文件原來的路徑建立目, -m是保持文件的更新時間, -v是顯示處理的文件列表
curl 獲取http狀態碼
curl -I -o /dev/null -s -w %{content_type} www.xiumeiapp.com
可以通過 man curl 查看-w選項,可以獲取到的其他頭信息
收集零碎資料
http://www.imooc.com/wap/article?article_id=2958 25個shell面試題
http://www.imooc.com/wap/article?article_id=2970 20個命令行監控工具
http://blog.51cto.com/zt/692 openstack實踐
http://blog.51cto.com/zt/677 mysql mha架構
http://laoguang.blog.51cto.com/6013350/1103628 制作rpm包