通过 /proc/net 分析网络状态
目录
一、/proc/net/dev
$ cat /proc/net/dev
Inter-| Receive | Transmit
face | bytes packets errs drop fifo frame compressed multicast | bytes packets errs drop fifo colls carrier compressed
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth1: 67437819880 552776948 0 0 0 0 0 6 63179118041 486899714 0 0 0 0 0 0
lo: 2338316682 34154992 0 0 0 0 0 0 2338316682 34154992 0 0 0 0 0 0
字段含义:最左边是接口名,Receive 表示收包,Transmit 表示发包;bytes 收发字节数、packets 收发正确的包量、errs 收发错误包量、drop 收发丢弃包量。
二、/proc/net/snmp
$ cat /proc/net/snmp
Ip: Forwarding DefaultTTL InReceives ...
Ip: 2 64 583571152 0 0 0 0 0 583571152 520325247 ...
Tcp: RtoAlgorithm RtoMin RtoMax MaxConn ActiveOpens PassiveOpens AttemptFails EstabResets CurrEstab InSegs OutSegs RetransSegs InErrs OutRsts
Tcp: 1 200 120000 -1 42226398 41112433 0 407271 84 516490860 453242269 140892 0 1056150
Udp: InDatagrams NoPorts InErrors OutDatagrams
Udp: 57220606 116 0 57223663
通过该文件可对 TCP 和 UDP 进行监控:
- 平均每秒新增 TCP 连接数:取最近 240 秒内
PassiveOpens的增量,除以 240。 - 机器的 TCP 连接数:读
CurrEstab。 - 平均每秒 UDP 接收数据报:取最近 240 秒内
InDatagrams的增量,除以 240。 - 平均每秒 UDP 发送数据报:取最近 240 秒内
OutDatagrams的增量,除以 240。