(一)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 模板即可
具体图形如下:
来源: http://www.bubuko.com/infodetail-2495272.html