1. 程式人生 > >對網卡流量監控的一些想法

對網卡流量監控的一些想法

網卡流量監控 sar監控 zabbix監控網卡流量

對網卡流量監控的一些想法

今天來給大家講講一些對於網卡流量的想法,網卡流量代表著客戶的訪問你服務的數據量,但是這裏量是有閾值的,如果你的網卡的流量居高不下,那就有可能你的服務器被攻擊了,所以,監控網卡的流量是事關重要的事情,說到監控,我們便可以想到,寫腳本或者利用監控軟件來做監控,zabbix監控軟件就提供了很好的平臺;zabbix作為一個熱門的監控軟件,不僅比較全面的監控模板,而且使用者還可以自己自定義keys,做監控。

自定義監控處理有監控軟件外,我們還需要獲取到數據才能實現我們監控的目的;對於如何獲取到網卡流量的數據,我這裏提供一個命令Sar,當然還有其它的命令,這裏就不多說了;Sar命令可以為我們提供網卡的流量的信息,所以基於

sar我們可以實現對網卡流量的實時監控。接下來我們先談談sar命令的用法。

一、sar命令的使用

Sar命令主要的作用是用來查看網卡的流量的,linux/centos默認是沒有裝的,所以需要yum安裝才能使用。

#yum install -y  sysstat


通過sar –h我們可以查看得到sar的用法

[root@mysql etc]# sar -h
用法: sar [ 選項 ] [ <時間間隔> [ <次數> ] ]
主選項和報告:
       -b    I/O 和傳輸速率信息狀況
       -B   分頁狀況
       -d    塊設備狀況
       -H   交換空間利用率
       -I { <中斷> | SUM | ALL | XALL }
              中斷信息狀況
       -m { <關鍵詞> [,...] | ALL }
              電源管理統計信息
              關鍵字:
              CPU      CPU 頻率
              FAN      風扇速度
\t\tFREQ\tCPU 平均時鐘頻率
              IN   輸入電壓
              TEMP    設備溫度
\t\tUSB\t連接的USB 設備
       -n { <關鍵詞> [,...] | ALL }
              網絡統計信息
              關鍵詞可以是:
              DEV      網卡
              EDEV   網卡 (錯誤)


接下來我們使用它來獲取網卡的信息,比如查看網卡流量的每秒顯示一次,共顯示1次的網卡流量信息。

[root@mysql etc]# sar  -n DEV  1 1  
Linux 3.10.0-514.el7.x86_64 (mysql)     2018年03月14日   _x86_64_   (4 CPU)
 
15時00分00秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
15時00分01秒      eth0     37.00     36.00      6.54     24.27      0.00      0.00      0.00
15時00分01秒        lo     23.00     23.00     18.17     18.17      0.00      0.00      0.00
 
平均時間:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均時間:      eth0     37.00     36.00      6.54     24.27      0.00      0.00      0.00
平均時間:        lo     23.00     23.00     18.17     18.17      0.00      0.00      0.00


我們可以看到,使用sar命令它已經把結果給統計出來的,

IFACE 表示設備名稱

rxpck/s 每秒接收的包的數量

txpck/s 每秒發出的包的數量

rxKB/s 每秒接收的數據量,單位KByte

txKB/s 每秒發出的數據量,單位KByte

若服務器丟包非常嚴重,需要查看網卡流量是否異常。接收數據部分 rxpck大於4000,或者rxKB大於5000,則有可能被攻擊了,正常服務器網卡流量沒有這麽大。除非自己在拷貝數據。

接下來,我們談談sar命令的一些常用的一些用法。

sar -n DEV #查看當天從零點到當前時間的網卡流量信息

sar -n DEV 1 1 #每秒顯示一次,共顯示1

sar -n DEV -f /var/log/sa/saxx 查看xx日的網卡流量歷史

sar -q #查看歷史負載

sar -b #查看磁盤讀寫

二、使用sar命令截取rxpck/srxKB/s的值

有了sar命令查看網卡的流量,我們就可以實現監控了,結合zabbix做對網卡的監控rxpck/srxKB/s的值

通過sar,命令並結合awk獲取你網卡的rxpck/s的值,我這裏的網卡是eth0

[root@mysql etc]#  sar  -n DEV  1 1 | awk 'NR==8{print $3}'
37.00


獲取你網卡的rxKB/s的值

[root@mysql etc]#  sar  -n DEV  1 1 | awk 'NR==8{print $5}'
10.63


我們可以發現我們想要的數據已經是截取出來了

三、zabbix自定義keys做監控

1zabbix客戶端zabbix_agentd.conf文件添加自定義keys,並重啟客戶端

# vim /usr/local/zabbix/etc/zabbix_agentd.conf

UnsafeUserParameters=1
UserParameter=receivce_data,sar  -n  DEV  1 1 | awk 'NR==8{print $5}'
UserParameter=receivce_package_number,sar  -n DEV  1 1 | awk 'NR==8{print $3}'


2zabbix測試是否能獲到zabbix客戶端的健值的數據

[root@zabbix ~]# zabbix_get -s 192.168.1.200  -k receivce_data
7.79


[root@zabbix ~]# zabbix_get -s 192.168.1.200 -k receivce_package_number
52.00


從這裏可以發現是已經可以獲取的


3zabbix服務端監控出圖

zabbixweb頁面創建network_receivce_package_number 和network_receivce_data模板,點擊:配置à模板à創建模板,如圖1、圖2所示

技術分享圖片

1 network_receivce_package_number模板的創建

技術分享圖片

2 network_receivce_data模板的創建

4創建監控項,點擊: network_receivce_package_number /network_receivce_dataà監控項à創建監控項,但是要註意的是你的鍵值是你的自定義keys的名字。如圖3、圖4所示:

技術分享圖片

3 network_receivce_package_number模板添加監控項

技術分享圖片

4 network_receivce_data模板添加監控項

5添加圖像,綁定network_receivce_package_number /network_receivce_data各自的監控項。如圖5、圖6所示

技術分享圖片

5 network_receivce_package_numbe模板綁定監控項

技術分享圖片

6 network_rdata模板綁定監控項

6添加network_receivce_package_number /network_receivce_data觸發條件,為做告警使用,如圖7、圖8所示

network_receivce_package_number的閾值我們可以設置為4000,因為正常的服務器的包的數量沒那麽大。(設置最新T值大於4000時,觸發告警)

技術分享圖片

7 network_receivce_package_number模板添加觸發器

network_receivce_datar的閾值我們可以設置為5000(相當於5M),因為正常的服務器的流量沒那麽大。(設置最新T值大於5000時,觸發告警)

技術分享圖片

8 network_receivce_data模板添加觸發器

7綁定主機,出圖,出數據。

到了這一步,我們的自定義keys監控就基本完成了;但是,我們的自定義keys畢竟只是一個模板,並不能夠出圖出數據,所以,這就需要人為的讓主機綁定模板,這樣才能出圖出數據。結果如圖9所示

技術分享圖片

9 主機綁定模板

#查看圖像,查看獲取的數據,是否正確,如圖10、圖11所示

技術分享圖片

10 network_receivce_package_number出圖數據

技術分享圖片

11 network_receivce_data出圖

#可以發現,獲取的數據和出圖都已經達到我們的目的了。自動義對網絡流量的的監控已經成功了。

四、總結

基於zabbixsar監控網卡流量的監控完成了,但是不是覺得沒啥作用,是的,在沒有告警的情況下,是啥用的,說到底是沒人看。所以我們需要告警,基於告警的話,在這裏可以參考文章,這裏有搭建zabbix告警處理的部署zabbix郵件告警,一點小分享,希望對你有用。


對網卡流量監控的一些想法