1. 程式人生 > >Zabbix通過mtr進行網絡分析

Zabbix通過mtr進行網絡分析

info blob hub wid csv 5.1 start dns -c

(一)mtr簡述
一般在windows 來判斷網絡連通性用ping 和tracert,ping的話可以來判斷丟包率,tracert可以用來跟蹤路由,在Linux中有一個更好的網絡連通性判斷工具,它可以結合ping nslookup tracert 來判斷網絡的相關特性,這個命令就是mtr,它可以測試丟包率、網絡延遲等情況。由於centos默認是沒有安裝的,如果需要安裝的話,可以通過yum進行直接的安裝,yum install mtr -y
mtr常用的命令是:
mtr -h 提供幫助命令
mtr -v 顯示mtr的版本信息
mtr -r 已報告模式顯示
mtr -c 設置每秒發送數據包的數量
mtr -s 用來指定ping數據包的大小
mtr -n no-dns不對IP地址做域名解析
mtr -a 來設置發送數據包的IP地址 這個對一個主機由多個IP地址是有用的
mtr -i 使用這個參數來設置ICMP返回之間的要求默認是1秒
mtr -4 IPv4
mtr -6 IPv6

[root@server98 ~]# mtr -v
mtr 0.85
[root@server98 ~]# mtr -h
usage: mtr [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report]
[--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]
[--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips]
[--address interface] [--filename=FILE|-F]
[--ipinfo=item_no|-y item_no]
[--aslookup|-z]
[--psize=bytes/-s bytes] [--order fields]
[--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM]
[--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS]
[--interval=SECONDS] HOSTNAME
[root@server98 ~]# mtr -r 
Start: Sun Feb 11 13:53:09 2018
HOST: server98                 Loss%   Snt   Last   Avg  Best  Wrst StDev
1.|-- localhost                          0.0%    10    0.0   0.0   0.0   0.1   0.0

[root@localhost ~]# mtr -r -w -b 172.21.24.99
Start: Sun Feb 11 14:21:21 2018
HOST: localhost.localdomain Loss%   Snt   Last   Avg  Best  Wrst StDev
1.|-- 172.20.66.3            0.0%    10    3.6  20.5   0.5 157.3  49.1
2.|-- 172.20.93.62           0.0%    10    0.6   5.4   0.5  30.5   9.1
3.|-- 192.168.9.9            0.0%    10    3.1  24.8   2.9  91.8  31.7
4.|-- 192.168.5.98           0.0%    10    2.6   8.8   2.6  45.0  13.5
5.|-- 192.168.3.187          0.0%    10    0.4   1.3   0.4   8.4   2.5
6.|-- 192.168.9.90           0.0%    10   13.4  15.2  13.4  25.6   3.8
7.|-- 192.168.128.25         0.0%    10   14.6  15.9  14.1  25.1   3.3
8.|-- 172.21.30.1            0.0%    10   27.9  19.6  15.8  36.5   7.0
9.|-- 172.21.24.99           0.0%    10   16.4  14.9  13.6  18.9   1.6

應用舉例1 基本展示
第一列:顯示的是IP地址和本機域名;
第二列 Loss%:是顯示的每個對應IP的丟包率;
第三列 snt:snt等於1,設置每秒發送數據包的數量,默認值是10 可以通過參數 -c來指定。
第四列 Last:顯示的最近一次的返回時延。
第五列 Avg:平均值,這個應該是發送ping包的平均時延。
第六列 Best:最好或者說時延最短的時間。
第七列 Wrst:最壞或者說時延最長的時間。
第八列 StDev:標準偏差。

(二)通過zabbix進行mtr監控

(1)在zabbix_server端的設置
1.1 首先要在zabbix_server端或代理端安裝mtr。

[root@localhost etc]# yum install mtr  -y

1.2 在zabbix_server端(或代理端)創建腳本並賦給相應的權限

[root@localhost externalscripts]# vim /usr/local/zabbix/externalscripts/mtrtrace.sh 

#!/usr/bin/env bash
IP=$1
mtr -r -c100 -w -b $IP
[root@localhost externalscripts]# chmod +x /usr/local/zabbix/externalscripts/mtrtrace.sh 
[root@localhost externalscripts]# chown zabbix.zabbix /usr/local/zabbix/externalscripts/mtrtrace.sh 
#######以上腳本的含義是通過ping100個包來進行測試

1.3 導入MTR History模板(MTR History)。(https://github.com/jeremyverda/zabbix-public/blob/master/MTR/MTR_History.xml)
1.4 單擊 配置configuration-->模板Templates-->導入Import-->選擇模板文件.xml
技術分享圖片

至此在zabbix服務端或代理端設置完畢。接下來進行agent的設置了

(2)zabbix_agent的設置
選中需要測試的主機,具體如下:配置--->主機--->服務器--->模板--->選中mtr模板即可。

技術分享圖片

具體圖形如下:
技術分享圖片

Zabbix通過mtr進行網絡分析