tcp的連線狀態對於我們web伺服器來說是至關重要的,尤其是併發量establish;或者是syn_recv值,假如這個值比較大的話我們可以認為是不是受到了***,或是是time_wait值比較高的話,我們要考慮看我們核心是否需要調優,太高的time_wait值的話會占用太多埠,要是埠少的話後果不堪設想:
一、下面是乙個監控的指令碼:
指令碼放在/usr/local/zabbix/scripts/下面,命名tcp_status。
#!/bin/bash二、填寫key值:#shuidi
#scripts for tcp status
function synrecv end ' | grep 'syn-recv' | awk ''
} function estab end ' | grep 'estab' | awk ''
} function finwait1 end ' | grep 'fin-wait-1' | awk ''
} function finwait2 end ' | grep 'fin-wait-2' | awk ''
} function timewait end ' | grep 'time-wait' | awk ''
} function lastack end ' | grep 'last-ack' | awk ''
} function listen end ' | grep 'listen' | awk ''
} $1
# cat /etc/zabbix/zabbix_agentd.conf三、匯入模板(在我的附件上,然後觸發器根據自己的情況調整:)#monitor tcp
userparameter=tcp[*],/usr/local/zabbix/scripts/tcp_status $1
模版的匯入很簡單,具體我這裡不再介紹。
四、檢視效果:
五、各引數意義
tcp套接字解釋狀態意義
closed 沒有使用這個套接字
listen 套接字正在監聽入境連線
syn_sent 套接字正在試圖主動建立連線
syn_received 正在處於連線的初始同步狀態
established 連線已建立
close_wait 遠端套接字已經關閉:正在等待關閉這個套接字
fin_wait_1 套接字已關閉,正在關閉連線
closing 套接字已關閉,遠端套接字正在關閉,暫時掛起關閉確認
last_ack 遠端套接字已,正在等待本地套接字的關閉確認
fin_wait_2 套接字已關閉,正在等待遠端套接字關閉
time_wait 這個套接字已經關閉,正在等待遠端套接字的關閉傳送
到此tcp監控我們就配置ok了。
Zabbix監控TCP連線狀態
獲取tcp連線數的兩種方法 netstat n awk tcp end ss ant awk nr 1 end netstat是遍歷 proc下面每個pid目錄,ss直接讀 proc net下面的統計資訊。所以ss執行的時候消耗資源以及消耗的時間都比netstat少很多。規範指令碼存放目錄 mkdi...
zabbix 監控Linux 主機TCP連線數
環境 linux 主機 步驟 1,在linux 主機上寫個指令碼執行查詢當前tcp 連線的引數輸出到相應值得文字中 2,建立個任務計畫,每分鐘執行一次 3,linux 主機上的 zabbix 客戶端配置檔案定義好自定義key 1,在 home zabbix sh 建立乙個tcpconnection ...
zabbix監控tcp連線數和nginx狀態
一 前提條件 安裝好zabbix server和zabbix agent 二 在被監控linux主機的 etc zabbix zabbix agentd.d 目錄下建立配置檔案linux status.conf cd etc zabbix zabbix agentd.d vim linux stat...