使用 golang gopacket 实现进程级流量监控
如何分析某服务器上哪个进程的流量多 ? 猜不少人都有类似的需求, 社区里已经有 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 实现进程级流量监控相关推荐
- linux 查看进程的流量监控,Linux如何监控每个进程所消耗流量
查看整个系统的网卡流量使用情况 监控具体的某个进程所消耗的流程 首先,Linux没有自带这样的工具,通过这款第三方开源工具,也是比较好用,如果有其他的办法欢迎留言 # yum -y install n ...
- 网络流量监控及流量异常检测
当今的企业面临着许多挑战,尤其是在监控其网络基础设施方面,需要确保随着网络规模和复杂性的增长,能够全面了解网络的运行状况和安全性.为了消除对网络性能的任何压力,组织应该采取的一项重要行动是使用随组织一 ...
- golang进程启动及监控
1 golang进程启动及监控 文章目录 1 golang进程启动及监控 1.1 以集成到业务代码的方式实现 1.2 以单独代码的方式实现 以前用c++写过进程守护程序,可启动任意进程并监控进程,如果 ...
- 高德亿级流量接入层服务的演化之路
来自:高德技术 阿里巴巴资深技术专家孙蔚在高德技术专场做了题为<高德亿级流量接入层服务的演化之路>的演讲,主要分享了接入层服务在高德业务飞速发展过程中,为应对系统和业务的各方面挑战所做的相 ...
- 性能调优之Java系统级性能监控及优化
性能调优之Java系统级性能监控及优化 对于性能调优而言,通常我们需要经过以下三个步骤:1,性能监控:2,性能剖析:3,性能调优 性能调优:通过分析影响Application性能问题根源,进行优化Ap ...
- 解秘亿级网站的一本书——亿级流量网站架构核心技术
网站是直接面对广大客户的,是公司的门户,必须快速响应,必须持续可用,必须抗得住洪峰.任何一个网站的发展过程中都出现过问题,影响客户体验和商业利益,公司业务规模越大,网站出现问题的损失越大.此时此刻,有 ...
- linux下的流量监控之应用程序防火墙
linux下的流量监控之应用程序防火墙 date: 2022-10-03 lastmod: 2022-10-03 今天我发现使用 wps 打开 pdf 文件的时候,硬盘扩展坞会被激活并且硬盘发出的声音 ...
- 亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统
亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统 1.高并发原则 1.1 无状态 1.2 拆分 1.3 服务化 1.4 消息队列 1.5 数据异构 1.6 缓存银弹 1.7 并发化 2 高可用原 ...
- 亿级流量网站架构核心技术
网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...
最新文章
- Oracle 10g 之自动收集统计信息
- html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
- python几乎无所不能 只有你不知道的,如何通过Python玩转小视频
- 算法工程师和python_算法工程师只掌握Python行吗?如果在java和cpp中选一门语言学习哪个更有用?...
- mysql查当前用户的的命令_mysql命令大全用户管理相关命令
- Java:从 Map 到 HashMap 的一步步实现!
- 彼聆智能语音机器人_南昌智能语音机器人作用
- log4j.properties文件示例
- qt实现类似everything搜索功能,速度没有everything那么快
- Web表单设计:点石成金的艺术(美)罗博乌斯基pdf
- 我理解的myisam引擎之六 MYI、MYD文件的解析
- git ------git stash(储藏到缓存中) 暂时保存未被提交的数据至堆栈中
- JavaScript《一》
- html页面一个屏幕大小不一样,关于web页自动适配屏幕大小
- Windows远程桌面连接后被连接的桌面锁屏
- 0~9生成随机数4位数
- pip查看安装包的可安装版本
- windows函数(system)
- python取数字前n位
- [小说]魔王冢(52)赵四爷