欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 詳解Linux使用ss命令結合zabbix對socket做監控

詳解Linux使用ss命令結合zabbix對socket做監控

熱門標簽:怎么找到沒有地圖標注的店 10086外包用的什么外呼系統 福州企業電銷機器人排名 宿城區電話機器人找哪家 打400電話怎么辦理收費 上海申請高400開頭的電話 河南防封號電銷機器人是什么 麗江真人語音電話外呼系統 400電話辦理介紹信

前言

這里我們使用zabbix對其進行監控,使用的是ss命令,不使用netstat命令,因為ss的速度快很多,不信的話可以去測一下哈,一臺機器的socket越多,對比越明顯。而且ss命令能顯示更多的內容,其實我對這兩個命令不是特別的熟悉,通過man ss可以看到:

一、ss命令

ss命令用于顯示socket狀態. 他可以顯示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等統計. 它比其他工具展示等多tcp和state信息. 它是一個非常實用、快速、有效的跟蹤IP連接和sockets的新工具.SS命令可以提供如下信息:

  • 所有的TCP sockets
  • 所有的UDP sockets
  • 所有ssh/ftp/ttp/https持久連接
  • 所有連接到Xserver的本地進程
  • 使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口過濾
  • 所有的state FIN-WAIT-1 tcpsocket連接以及更多

很多流行的Linux發行版都支持ss以及很多監控工具使用ss命令.熟悉這個工具有助于您更好的發現與解決系統性能問題.本人強烈建議使用ss命令替代netstat部分命令,例如netsat -ant/lnt等

直接ss命令

對上面解釋一波:

Netid #socket類型,在上面的例子中,有 TCP、u_str(unix流)等套接字
State #套接字處于什么狀態,下面是TCP套接字的所有狀態及說明, 實際上就是TCP的三次握手和四次揮手的所有狀態
Recv-Q #在 ESTAB 狀態下,表示內核中還有多少字節的數據沒有被上層應用讀取,如果這里數值很大,應用程序可能發生了阻塞
Send-Q #在 ESTAB 狀態下,表示內核發送隊列中還有多少字節的數據沒有收到確認的ACK,如果這個數值很大,表明接收端的接收以及處理需要加強
Local Address:Port #本地地址和端口
Peer Address:Port #遠程地址和端口

然后我們接著看上面的state有哪些呢,如果特別熟悉網絡的人應該很懂,至少我現在是不是特別熟悉,三次握手和四次揮手的狀態:

LISTEN #服務端偵聽套接字等待客戶端的連接
SYN-SENT #客戶端已發送套接字連接請求報文,等待連接被服務器接收
SYN-RECEIVED #服務器端接收連接請求報文后,等待客戶端的確認連接的回復報文
ESTABLISHED #服務端和客戶端之間成功建立了一條有效的連接,可以互相傳輸數據
FIN-WAIT-1 #服務器或客戶端調用close函數主動向對方發出終止連接的請求報文,同時等待對方確認終止連接的回復報文
FIN-WAIT-2 #主動關閉連接端收到對方確認終止連接的回復報文,同時等待對方連接終止的請求報文,這時的狀態是TCP連接的半關閉狀態,可以接受數據,但是不能發送數據
CLOSE-WAIT #被動關閉端收到主動關閉端終止連接的請求報文后,向主動關閉端發送確認終止連接的回復報文,同時被動關閉端等待本地用戶終止連接,這時被動關閉端的狀態是TCP連接的半關閉狀態,可以發送數據,但是不能接收數據
CLOSING #服務器和客戶端同時向對方發送終止連接(調用close函數)請求報文,并且雙方都是在收到對方發送的終止連接回復報文之前收到了對方的發送的終止連接請求報文,這個時候雙方都進入了CLOSING狀態,進入CLOSING狀態之后,只要收到了對方對自己終止連接的回復報文,就會進入TIME-WAIT狀態,所以CLOSING狀態的持續時間會特別短,一般很難捕獲到
LAST-ACK #被動關閉端發送完全部數據之后,向主動關閉端發送終止連接的請求報文,等待主動關閉端發送終止連接的回復報文
TIME-WAIT #主動關閉端收到被動關閉端終止連接的請求報文后,給被動關閉端發送終止連接的回復報文,等待足夠時間以確保被動關閉端收到了主動關閉段發送的終止連接的回復報文
CLOSED #完全沒有連接,套接字連接已經終止了

那么這些狀態ss命令又怎么對應呢?(后面的是ss命令顯示的狀態信息)

[TCP_ESTABLISHED] = "ESTAB",
[TCP_SYN_SENT] = "SYN-SENT",
[TCP_SYN_RECV] = "SYN-RECV",
[TCP_FIN_WAIT1] = "FIN-WAIT-1",
[TCP_FIN_WAIT2] = "FIN-WAIT-2",
[TCP_TIME_WAIT] = "TIME-WAIT",
[TCP_CLOSE] = "UNCONN",
[TCP_CLOSE_WAIT] = "CLOSE-WAIT",
[TCP_LAST_ACK] = "LAST-ACK",
[TCP_LISTEN] =  "LISTEN",
[TCP_CLOSING] = "CLOSING",

江到這里其實就可以去做下面的監控了,繼續往下看ss命令的使用。

Usage: ss [ OPTIONS ]

       ss [ OPTIONS ] [ FILTER ]

-h, --help 幫助信息
-V, --version 程序版本信息
-n, --numeric 不解析服務名稱
-r, --resolve 解析主機名
-a, --all 顯示所有套接字(sockets)
-l, --listening 顯示監聽狀態的套接字(sockets)
-o, --options 顯示計時器信息
-e, --extended 顯示詳細的套接字(sockets)信息
-m, --memory 顯示套接字(socket)的內存使用情況
-p, --processes 顯示使用套接字(socket)的進程
-i, --info 顯示 TCP內部信息
-s, --summary 顯示套接字(socket)使用概況
-4, --ipv4 僅顯示IPv4的套接字(sockets)
-6, --ipv6 僅顯示IPv6的套接字(sockets)
-0, --packet 顯示 PACKET 套接字(socket)
-t, --tcp 僅顯示 TCP套接字(sockets)
-u, --udp 僅顯示 UCP套接字(sockets)
-d, --dccp 僅顯示 DCCP套接字(sockets)
-w, --raw 僅顯示 RAW套接字(sockets)
-x, --unix 僅顯示 Unix套接字(sockets)
-f, --family=FAMILY 顯示 FAMILY類型的套接字(sockets),FAMILY可選,支持 unix, inet, inet6, link, netlink
-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D, --diag=FILE 將原始TCP套接字(sockets)信息轉儲到文件
-F, --filter=FILE 從文件中都去過濾器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]

重點在下面的監控

二、zabbix監控機器總體的socket情況

做這個監控前可以熟悉下awk命令

這是使用的監控系統為zabbix,我們這里會結合zabbix的模板(這里選擇模板是為了后期拓展),和自定義腳本的方式進行監控。

2.1、寫腳本

二話不多說上腳本先:

vim tcp_status.sh
#################腳本內容#################
#!/bin/bash
if [ $# -ne 1 ];then
    echo "Follow the script name with an argument "
fi

case $1 in

    LISTEN)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/LISTEN/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    ESTAB)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/ESTAB/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;


    CLOSE-WAIT)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/CLOSE-WAIT/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    TIME-WAIT)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/TIME-WAIT/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    SYN-SENT)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/SYN-SENT/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    SYN-RECV)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/SYN-RECV/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    FIN-WAIT-1)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/FIN-WAIT-1/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    FIN-WAIT-2)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/FIN-WAIT-2/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    UNCONN)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/UNCONN/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    LAST-ACK)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/LAST-ACK/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;

    CLOSING)
        result=`ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}' | awk '/CLOSING/{print $2}'`
        if [ "$result" == "" ];then
               echo 0
        else
           echo $result
        fi
        ;;
 esac

2.2、配置zabbix agent的配置文件

vim  zabbix_agent.conf
##############添加如下內容#################
UnsafeUserParameters=1   #這個參數是自定義腳本需要配置的
UserParameter=tcp.status[*],sh /home/zabbix/tcp_status.sh $1  #這里就是用來指定剛剛寫的腳本,后面傳一個參數

配置好了以后記得重啟zabbix agent

2.3、配置zabbix的模板

往其中添加item,trigger,graph

新增模板,然后往其中添加item,如下圖所示

上圖中key中的tcp.status指的是剛剛在第二步中的配置UserParameter=tcp.status[*],sh /home/zabbix/tcp_status.sh \$1

然后中括號里面的內容就是\$1進行傳參的參數,具體的參數就是[UNCONN]里面的UNCONN,這些值對應第一步監控腳本中的case中的每一種情況,到這里基本上完成了,不,還是畫個圖吧,在模板中添加graph,如下圖所示:

還有最重要的一步就是把配置好監控腳本的(第一步)的主機添加到該模板,到此為止這個監控就做完了,看個結果圖吧

三、zabbix監控機器來源于各個機器的請求數

這個監控的目的就是看看到底是哪些機器訪問目標機器比較頻繁。

這個監控采用自發現的監控,比上面那個會難一點哈,為啥要選擇自發現的監控呢,因為item不是確定的,這里選擇:原地址ip和目的ip地址作為item,我們在目的ip地址進行監控,這個是不變的,所以原地址ip值會發生變化,所以這里采用的是自動生成item的方式進行監控,自動添加和刪除item,其實挺好用的,只要學會了,超級簡單

這里也是分為三步,寫腳本,配置zabbix_agent.conf文件,配置Discovery

3.1、寫腳本

這里需要兩個腳本,一個用來做自發現(需要輸出json格式),一個用來做item的)

vim tcp_monitory.sh
##################tcp_monitor.sh##################
#!/bin/bash
#獲取數據輸出到data.txt文件中,格式為:原地址ip:count:目標地址ip
#并且過濾掉count小于200的數據,這里沒有分socket的狀態,眉毛胡子一把抓了,個人可以根據具體的需求改進
ip_addr=`ip addr | grep -w inet | grep -v  "127.0.0.1" | awk '{print $2}'| awk -F "/" '{print $1}'`
ss -ant | awk '{ print $5}'|grep -Ev '127.0.0.1' | cut -d ':' -f4 | awk -v ip_addr=$ip_addr 'NR>1 {++s[$1]} END {for(k in s)if(s[k]>=200){print k,s[k],ip_addr}}' | grep -E  "^([0-9]{1,3}\.){3}[0-9]" > /home/zabbix/data.txt

#執行Python腳本,這是為了輸出json格式,
python /home/zabbix/get_json.py

#####################################
#如下是get_json.py的內容
##############get_json.py################
#!/usr/bin/env python
#coding=utf-8
import json

def create_json(path):
    json_list = []
    with open(path) as f:
        for line in f.readlines():
            dict = {}
            split = line.split(" ")
            dict["{#DES_IP}"] = split[0]
            //dict["{#LINK_COUNT}"] = split[1] //這個是可以不要的
            dict["{#SOU_IP}"] = split[2][:-1]
            json_list.append(dict)
    sum = {}
    sum["data"] = json_list
    sum = json.dumps(sum)
    print sum


if __name__ == '__main__':
    path = "/home/zabbix/data.txt"
    create_json(path)

##############分割線:上面的是自發現的腳本###############
##############分割線:下面的是item相關腳本###############
vim  tcp_item.sh
##################tcp_item.sh####################
#!/bin/bash
export LANG="en_US.UTF-8"
path=/home/zabbix/data.txt
count=`cat $path | grep $1 | grep $2 | awk '{print $2}'`
[ 1"$count" -eq 1 ] && echo 0 || echo $count

兩個腳本都搞定了,就可以進行zabbix_agent.conf的配置了

3.2、配置zabbix_agent.conf文件

在配置文件中新增如下內容:

UnsafeUserParameters=1 #如果已經配置就不需要配置了

UserParameter=discovery.tcp_monitor[*],sh /home/zabbix/tcp_monitor.sh #自發現
UserParameter=alert.tcp_count[*],sh /home/zabbix/tcp_item.sh $1 $2 #item,其中$1,$2為item中的傳遞參數,用來區別item的不同

3.3、配置Discovery,配置item,trigger,graph

這里還是選擇在zabbix的模板上進行配置,現在新增一個Discovery

然后在Discovery上配置item,trigger,graph

配置item:

上面的DES_IP,SOU_IP來源于自發現腳本中的Python腳本,用于輸出的格式。alter.tcp_count是UserParameter=alert.tcp_count[*],sh /home/zabbix/tcp_item.sh \$1 \$2,后面的\$1,\$2與DES_IP,SOU_IP相對應生成唯一確定的item。

item配置完畢后就可以配置trigger了:

接下來繼續配置graph了

最后把模板添加到機器,然后看結果

以上就是詳解Linux使用ss命令結合zabbix對socket做監控的詳細內容,更多關于Linux ss命令 zabbix socket監控的資料請關注腳本之家其它相關文章!

標簽:朝陽 荊門 雞西 面試通知 遵義 隴南 運城 連云港

巨人網絡通訊聲明:本文標題《詳解Linux使用ss命令結合zabbix對socket做監控》,本文關鍵詞  詳解,Linux,使用,命令,結合,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Linux使用ss命令結合zabbix對socket做監控》相關的同類信息!
  • 本頁收集關于詳解Linux使用ss命令結合zabbix對socket做監控的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产二级一片内射视频播放| 538精品在线观看| 欧美日韩一区二区三区高清| 欧美国产欧美综合| 九九**精品视频免费播放| 国产一级黄色录像| 欧美日韩精品系列| 亚洲嫩草精品久久| 成人网男人的天堂| 很污很黄的网站| 国产亚洲一区二区三区在线观看 | 国产特黄级aaaaa片免| 欧美三日本三级三级在线播放| 欧美国产精品一区二区三区| 国内久久精品视频| 天天干天天操天天拍| 久久先锋资源网| 久久国产日韩欧美精品| 9.1成人看片| 日韩精品一区二区三区在线播放| 天天综合网天天综合色| 91蝌蚪porny九色| 欧美色电影在线| 亚洲一区二区三区精品在线| 欧美日韩一区二区区| 在线亚洲+欧美+日本专区| 亚洲欧美二区三区| av在线不卡免费看| 欧洲生活片亚洲生活在线观看| 成人欧美一区二区三区1314| 不卡av电影在线播放| 国产a免费视频| 亚洲欧美日韩国产综合| 国产黄色一区二区三区| 欧美日韩免费不卡视频一区二区三区| 一区二区三区色| 久久人妻少妇嫩草av无码专区 | 欧美a级理论片| 一本色道久久综合亚洲精品图片| 精品国产乱码久久| 国产乱人伦偷精品视频免下载 | 91丨porny丨首页| 欧美午夜精品一区二区三区| 一级特黄大欧美久久久| 欧美一级片黄色| 26uuu另类欧美| 国产91精品精华液一区二区三区| 色婷婷综合久色| 午夜不卡av在线| 精品无码一区二区三区| 国产欧美日韩亚州综合| 9人人澡人人爽人人精品| 欧美日韩亚洲不卡| 免费人成网站在线观看欧美高清| 黄色a一级视频| 国产亚洲欧洲997久久综合| 成人免费看黄yyy456| 欧美午夜精品久久久久久孕妇| 五月天视频一区| 91社区视频在线观看| 亚洲精选免费视频| 人妻丰满熟妇av无码久久洗澡 | 一区二区成人在线视频| av在线播放网址| 久久久久综合网| 91视频com| 欧美大胆人体bbbb| eeuss鲁片一区二区三区在线看| 欧美日韩大陆一区二区| 韩国成人在线视频| 在线一区二区三区| 久99久精品视频免费观看| 色狠狠综合天天综合综合| 日韩成人dvd| 小泽玛利亚一区| 亚洲成va人在线观看| 丰满少妇在线观看资源站| 国产欧美精品区一区二区三区 | 日韩欧美亚洲国产精品字幕久久久| 极品瑜伽女神91| 欧美视频日韩视频| 激情偷乱视频一区二区三区| 欧美日韩免费一区二区三区视频| 国产成人在线视频网站| 欧美一区二区久久久| 91尤物视频在线观看| 久久久噜噜噜久久人人看 | 亚洲色图一区二区三区| 女女互磨互喷水高潮les呻吟| 一区二区三区在线观看视频 | www.99热| 爽好多水快深点欧美视频| 色偷偷88欧美精品久久久| 国产一区二区三区在线观看免费视频| 欧美人体做爰大胆视频| 成人avav在线| 欧美激情在线一区二区三区| 欧美性xxxx图片| 亚洲国产精品一区二区尤物区| 亚洲国产精品久| 国产乱人伦偷精品视频免下载| 欧美xxxxxxxx| 你懂的在线观看网站| 亚洲综合色噜噜狠狠| 色香蕉久久蜜桃| 成人app网站| 国产精品欧美久久久久无广告| 丁香花五月婷婷| 免费高清在线视频一区·| 在线不卡欧美精品一区二区三区| 99免费精品在线| 亚洲天堂a在线| 男人的天堂久久久| 粉嫩一区二区三区性色av| 国产清纯白嫩初高生在线观看91| 美女被到爽高潮视频| 美女久久久精品| 精品国产电影一区二区| 白白色免费视频| 精品中文字幕一区二区小辣椒| 日韩精品一区二区三区中文精品| 亚洲第一页av| 久久国产人妖系列| 久久亚洲欧美国产精品乐播| 欧美老女人性生活视频| 国产制服丝袜一区| 久久久久久久综合色一本| 亚洲国产日韩精品| 欧美日韩国产乱码电影| 国产情侣久久久久aⅴ免费| 亚洲国产一区二区三区青草影视| 欧美视频第二页| 性欧美18—19sex性高清| 午夜在线成人av| 欧美一区二区在线看| 日本免费福利视频| 麻豆精品久久久| 久久久综合激的五月天| 美女av免费看| 成人国产精品免费观看动漫| 亚洲日本丝袜连裤袜办公室| 欧美无砖专区一中文字| 污污免费在线观看| 免费精品99久久国产综合精品| 欧美精品一区二区三区蜜臀 | 一级黄色录像毛片| 国产精品一级在线| 亚洲欧洲日韩一区二区三区| 欧洲色大大久久| a天堂视频在线观看| 久久福利视频一区二区| 久久久久久久网| 色欧美乱欧美15图片| 亚洲黄色小说在线观看| 免费视频一区二区| 欧美激情中文不卡| 欧美性色综合网| www.色多多| 岛国一区二区在线观看| 一个色综合网站| 精品久久久久久久久久久院品网| 少妇高潮惨叫久久久久| 99国产精品国产精品毛片| 视频在线观看一区二区三区| 久久婷婷色综合| 色综合色综合色综合| 亚洲成人av资源| 2020国产精品久久精品美国| 欧美手机在线观看| 中文字幕99页| 国产麻豆精品在线| 亚洲在线中文字幕| 久久综合色之久久综合| 一本久久精品一区二区| a视频免费观看| 成人精品视频一区二区三区尤物| 亚洲韩国一区二区三区| 26uuu亚洲综合色欧美| 91精品福利在线| 美女久久久久久久久久| 国产69精品一区二区亚洲孕妇| 亚洲午夜久久久| 国产网站一区二区三区| 欧美日韩另类一区| 天天爽天天爽天天爽| 欧美激情 亚洲| 国产精品性做久久久久久| 亚洲bdsm女犯bdsm网站| 欧美国产精品v| 欧美一区二区三区小说| 成熟的女同志hd| 亚洲午夜久久久久久久久红桃| aaa亚洲精品一二三区| 蜜桃精品视频在线| 亚洲最快最全在线视频| 国产性天天综合网| 欧美一区二区三区免费视频| 色综合天天综合狠狠| 国产真人做爰视频免费| 国产精品无码自拍|