如何分析某服务器上哪个进程的流量多 ? 猜不少人都有类似的需求, 社区里已经有 c 写的 nethogs 工具, 该工具很方便的获取流量较高的 TOP N 进程列表。

既然有 nethogs 工具,为什么还需要用 goalng 来实现一遍 ?主要是 nethogs 不够灵活,没有开放接口供其他程序调用。对的,我们现在就需要这类接口。当然,不是每个公司都有这类需求,大家通常都是当流量异常时,登上去分析下异常流量。

代码

项目名为 go-netflow, 代码已经提交到 github。

地址为 https://github.com/rfyiamcool/go-netflow,有兴趣的可以看看,记得点 star 哈。

从设计到流量测试完毕,用了差不多 两天半 的时间。go-netflow 的接口方面还算完善,最少满足了我们容器云团队及 sre 的需求。但他的 cli 终端部分很是简陋,有兴趣的同学可以帮忙提交 pr。

实现

像 promethues, openfalcon 这类开源监控软件,通过 /proc/net/snmp/proc/net/netstat 获取连接和流量信息。

  • /proc/net/snmp 文件只是提供了主机各层的IP、ICMP、ICMPMsg、TCP、UDP详细数据

  • /proc/net/netstat 文件提供了主机的收发包数、收包字节数据。

这两个文件只能看到主机级别的信息,没法实现进程级别的流量采集。

但是我们可以从其他路子来实现细粒度的进程级别的流量监控。

使用 golang gopacket 实现进程级流量监控相关推荐

  1. linux 查看进程的流量监控,Linux如何监控每个进程所消耗流量

    查看整个系统的网卡流量使用情况 监控具体的某个进程所消耗的流程 首先,Linux没有自带这样的工具,通过这款第三方开源工具,也是比较好用,如果有其他的办法欢迎留言 # yum -y install n ...

  2. 网络流量监控及流量异常检测

    当今的企业面临着许多挑战,尤其是在监控其网络基础设施方面,需要确保随着网络规模和复杂性的增长,能够全面了解网络的运行状况和安全性.为了消除对网络性能的任何压力,组织应该采取的一项重要行动是使用随组织一 ...

  3. golang进程启动及监控

    1 golang进程启动及监控 文章目录 1 golang进程启动及监控 1.1 以集成到业务代码的方式实现 1.2 以单独代码的方式实现 以前用c++写过进程守护程序,可启动任意进程并监控进程,如果 ...

  4. 高德亿级流量接入层服务的演化之路

    来自:高德技术 阿里巴巴资深技术专家孙蔚在高德技术专场做了题为<高德亿级流量接入层服务的演化之路>的演讲,主要分享了接入层服务在高德业务飞速发展过程中,为应对系统和业务的各方面挑战所做的相 ...

  5. 性能调优之Java系统级性能监控及优化

    性能调优之Java系统级性能监控及优化 对于性能调优而言,通常我们需要经过以下三个步骤:1,性能监控:2,性能剖析:3,性能调优 性能调优:通过分析影响Application性能问题根源,进行优化Ap ...

  6. 解秘亿级网站的一本书——亿级流量网站架构核心技术

    网站是直接面对广大客户的,是公司的门户,必须快速响应,必须持续可用,必须抗得住洪峰.任何一个网站的发展过程中都出现过问题,影响客户体验和商业利益,公司业务规模越大,网站出现问题的损失越大.此时此刻,有 ...

  7. linux下的流量监控之应用程序防火墙

    linux下的流量监控之应用程序防火墙 date: 2022-10-03 lastmod: 2022-10-03 今天我发现使用 wps 打开 pdf 文件的时候,硬盘扩展坞会被激活并且硬盘发出的声音 ...

  8. 亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统

    亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统 1.高并发原则 1.1 无状态 1.2 拆分 1.3 服务化 1.4 消息队列 1.5 数据异构 1.6 缓存银弹 1.7 并发化 2 高可用原 ...

  9. 亿级流量网站架构核心技术

    网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...

最新文章

  1. Oracle 10g 之自动收集统计信息
  2. html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
  3. python几乎无所不能 只有你不知道的,如何通过Python玩转小视频
  4. 算法工程师和python_算法工程师只掌握Python行吗?如果在java和cpp中选一门语言学习哪个更有用?...
  5. mysql查当前用户的的命令_mysql命令大全用户管理相关命令
  6. Java:从 Map 到 HashMap 的一步步实现!
  7. 彼聆智能语音机器人_南昌智能语音机器人作用
  8. log4j.properties文件示例
  9. qt实现类似everything搜索功能,速度没有everything那么快
  10. Web表单设计:点石成金的艺术(美)罗博乌斯基pdf
  11. 我理解的myisam引擎之六 MYI、MYD文件的解析
  12. git ------git stash(储藏到缓存中) 暂时保存未被提交的数据至堆栈中
  13. JavaScript《一》
  14. html页面一个屏幕大小不一样,关于web页自动适配屏幕大小
  15. Windows远程桌面连接后被连接的桌面锁屏
  16. 0~9生成随机数4位数
  17. pip查看安装包的可安装版本
  18. windows函数(system)
  19. python取数字前n位
  20. [小说]魔王冢(52)赵四爷

热门文章

  1. 【人月神话】第一章:焦油坑
  2. 学习的目的:建立世界观、学以致用、知行合一
  3. 长沙互联网公司和生活成本
  4. 【论文学习】《Who is Real Bob? Adversarial Attacks on Speaker Recognition Systems》
  5. 最新xampp安装教程与配置
  6. RVV线与RV线有什么区别
  7. java加载tensorflow训练的PB模型记录
  8. iQQ 学习笔记2 :借助新浪微博输入验证码、远程控制退出
  9. 802.11与802.3数据帧转换(即有线和无线数据帧转换)
  10. hdu6060 RXD and dividing