在我之前的文章中分享过“实时”查看Linux某些网卡流量的小脚本,今天再分享一个查看本机到具体某个ip间的流量的思路。我有这个需求是因为:我们的存储是Dell存储设备通过nfs协议供多台业务机挂载使用,而我有必要了解每台机器和Dell存储之间的流量。

其实,如果仅仅是要看这个流量,iftop这个软件就很好,通过其自身的选项就能满足了,不需要再做什么额外的工作。

我的情况是:由于nfs客户机众多,而且虽是挂载一台存储设备但挂载点ip却不一样,并且我想把这个作为一个监控项放到zabbix里,所以我就需要用shell对iftop做进一步的“封装”,以便能够“通用”些且更好的和zabbix结合。

注意:iftop需要root权限,而zabbix-agent一般是以zabbix用户运行且通过zabbix-server调用agent端的自定义脚本时是没有终端(tty)的,这里就需要修改sudo的配置文件了,允许zabbix用户远程执行命令的过程中执行sudo操作。

脚本内容如下

#!/bin/sh
#在zabbix上监控各机器与nfs server之间的流量
#by ljk 20160803net='192.168.1.*'    #内网网段
nfs_subnet='192.168.1.2[0-9]{2}'    #nfs所在ip的正则
#获取nfs server的真实ip,前提是每台server无论几个挂载点,都只从一个ip挂载
nfs_ip=$(df -h|egrep "$nfs_subnet:"|awk -F : '{print $1}'|sort|uniq)cd /etc/sysconfig/network-scripts
for dev in $(ls ifcfg-*|awk -F - '{print $2}');doip addr show $dev|grep '192.168.1.*' >/dev/null    #判断哪个网卡有内网网段ipif [ $? -eq 0 ];thenusing_dev=$dev    #拥有内网ip的网卡名赋予变量using_devbreakfi
doneif [ "$1" == "request" ];thenresult=$(sudo iftop -i $using_dev -n -t -s 10 2>/dev/null | egrep -B 1 $nfs_ip|awk '$(NF-4)=="=>" {print $(NF-1)}')elif [ "$1" == "response" ];thenresult=$(sudo iftop -i $using_dev -n -t -s 10 2>/dev/null | egrep -B 1 $nfs_ip|awk '$(NF-4)=="<=" {print $(NF-1)}')
fi#下面部分是为了适用于zabbix而做的一些额外的工作
#iftop出来的结果为(6.60Mb 208Kb 320b等),将其结果整合进zabbix时要去掉这些单位并对数值做转换(zabbix里我统一用b做单位,只给zabbix传数值)
if [ -z "$result" ];thenecho 0
elsenum=$(echo $result|tr -d "a-zA-Z")unit=`echo ${result: -2:1}`case $unit in[kK]) echo "$num*1024"|bc;;[mM]) echo "$num*1024*1024"|bc;;[gG]) echo "$num*1024*1024*1024"|bc;;*) echo "$num"esac
fi

linux查看某个ip流量--思路一例相关推荐

  1. 【网络】流量监控 - iftop|ifstat|查看某个ip流量|tcpdump|iptraf|Linux

    目录 流量监控18个常用工具 tcpdump查看某个端口数据 ifstat iftop 四.运行iftop 五.相关参数及说明 1.iftop界面相关说明 2.iftop相关参数 常用的参数 按端口显 ...

  2. linux查看出口IP

    linux查看出口IP 1,614 views, Linux, by 木木. 因为某种原因,需要知道本地服务器出口IP,可以用以下方法检测: wget http://members.3322.org/ ...

  3. Linux查看实时网卡流量的几种方式

    Linux查看实时网卡流量的几种方式 来源  https://www.jianshu.com/p/b9e942f3682c 在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查 ...

  4. linux 查看网络流量来源_详解Linux查看实时网卡流量的几种方式

    在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查看Linux服务器的实时网卡流量. 1. sar -n DEV 1 2 sar命令包含在sysstat工具包中,提供系统的众 ...

  5. 【linux查看出口IP(curl cip.cc)】

    linux查看出口IP(curl cip.cc) 通过curl cip.cc命令查看服务器外网ip

  6. linux 怎么看内网,linux 查看内网流量

    可以使用iftop进行Linux机器的网络流量监控 安装方法 centos系统下 第一步:安装EPEL源 yum install epel-release 第二部:安装iftop yum instal ...

  7. ubuntu 网卡流量_详解Linux查看实时网卡流量的几种方式

    在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查看Linux服务器的实时网卡流量. 1. sar -n DEV 1 2 sar命令包含在sysstat工具包中,提供系统的众 ...

  8. linux查看虚拟机ip的方法

    步骤: 1,输入ip addr 2,对网址进行配置 vi/etc/sysconfig/network-scripts/ifcfg-[网卡的名字] 例:vi/etc/sysconfig/network- ...

  9. linux tc 限制ip流量,linux tc实现ip流量限制

    tc是个配置Linux内核流量控制的工具 名字 tc - 显示/维护流量控制配置 摘要 tc qdisc [ add | change | replace | link ] dev DEV [ par ...

最新文章

  1. 苹果内购和 Apple Pay
  2. python rtf转txt_将DOC、RTF格式文件批量转为TXT格式文件
  3. CSS3选择器的研究
  4. 我国高性能计算机发展,中国高性能计算机发展水平与趋势
  5. mysql志新计划,在使用Perl DBI迭代结果集时更新MySQL表是否安全?
  6. keystore是个嘛东西
  7. 框架源码深入需要准备的知识之解析XML
  8. 2020 年百度之星#183;程序设计大赛 - 初赛三
  9. mybatis 3.2.3 maven dependency pom.xml 配置
  10. 总结一下自己脑海里的JavaScript吧(一)--DOM模型
  11. PSP 版本6.60 破解 PRO-B10自制系统升级图文教程
  12. SpringCloud之服务网关(总体第五篇)
  13. Go 爬虫软件 Pholcus
  14. 解决视频资源音乐资源在Android模拟器中不能播放的问题
  15. mysql 5.7 在线ddl
  16. 推荐书籍---豆瓣9.2分---《编码:隐匿在计算机软硬件背后的语言》
  17. 测验6: 组合数据类型 (第6周) + 练习6: 组合数据类型 (第6周)
  18. java webservice用户名密码_WebService 用户名密码验证
  19. 数字IC后端流程——(三)布局Placement
  20. Sloan中性群落模型(NCM)推断群落构建原理及其R实现

热门文章

  1. C++ Qt 高分屏处理心得
  2. 西红柿炒鸡蛋怎么做(大厨教程 教你炒出饭店的味道)
  3. cad把图形切成两部分_转载一位CAD大神的学习笔记, 初学CAD的人可以看看
  4. C语言中.c文件与.h文件 的使用
  5. 哪些人工智能企业有内部人才培养项目?
  6. FCN(全卷积神经网络)
  7. STM32单片机(三).STM32单片机的开发方法
  8. Java Long类型对比
  9. 计算机常见硬盘名称,我的硬盘我做主:自己给电脑硬盘改个名!
  10. 9. Data Manipulation with dplyr in R