本文是 Unix/Linux 系统管理自动化系列中的一篇,主要讲述如何实现自动化监控网络接口带宽状态并及时通知系统管理员采取相应措施。
在 Unix/Linux 系统的日常带宽管理工作中,系统管理员可能会遇到因网络接口带宽耗尽而导致网络服务响应过慢,或者服务中断等问题。这些问题较严重的影响了工作效率。因此,关注系统的网络接口使用情况,建立一个警告系统对网络接口带宽的潜在问题发出警告,确保网络接口带宽没有被塞满是系统管理的一个重要的方面。
在本文中,作者介绍了一些查看网络接口使用情况的工具命令并结合这些工具实现了一个自动化监控网络接口带宽管理的示范脚本。通过介绍,读者将了解如何监视网络接口带宽并以此为依据做出相应的调整。
Unix/Linux 网络接口管理相关命令介绍
获取网络适配器列表信息
在获知网络接口使用状态之前,带宽管理你可能需要知道你当前的系统使用的网络适配器,在 Linux 和 AIX 中查看网络设备器的属性使用不同的命令,下面的例子给出了在不同系统上如何查看网络设备器的属性。
Linux 系统启动加载网卡驱动会输出识别到的所有网络适配器信息。dmesg 显示系统开机信息。所以可以利用该命令取得系统网络适配器列表。清单 1 命令输出显示共有 2 块网卡,eth0 与 eth1,其中仅 eth1 被启用。
清单 1. 在 RHEL5.3 系统上查看网络适配器
AIX 系统查看系统设备状态使用 lsdev – C 命令。清单 2 为命令在 AIX 6.1 上的输出,AIX 5.3 与之相同。
清单 2. 在 AIX 6.1 系统上查看网络适配器
查看网络接口状态
网络接口状态包括接口是否启用,是否设置 IP 地址、MTU 大小、收发的包数等,查询的命令为 ifconfig, 在不同操作系统其输出格式略有不同。
清单 3 为在 RHEL5.3 上的输出,带宽管理其显示两个以太网络接口,eth0 未配置 ip 地址,未被启用;eth1 配置了 IP 地址并被启用。
清单 3. 在 RHEL5.3 系统上查看网络接口状态
清单 4 为命令在 AIX 6.1 上的运行结果,其显示两个以太网络接口,均配置了 IP 地址并启用。AIX 5.3 上的输出格式与之一样。
清单 4. 在 AIX 6.1 系统上查看网络接口状态
查看网络接口连接属性
网络接口连接属性包括连接模式、连接速度、链路状态、协商方式等。
Linux 上用于查询及设置以太网卡参数的一个常用命令是 ethtool,它可以获取网卡的各种详细的诊断信息,包括连接模式(全双工 / 半双工)、连接速度(10M/100M/1000M 等)、是否支持自动协商等、链路状态、驱动版本、总线位置等等。ethtool 的查询以及配置功能需要相应网卡设备驱动的支持,从本质上说,ethtool 的功能是调用驱动提供的 ethtool 接口,来实现用户所要求的操作。基本上,Linux 2.4 以上内核的网卡驱动均支持这个命令。带宽管理但根据具体驱动的不同,显示的信息可能大同小异。
清单 5. 在 RHEL5.3 系统上查看网络适配器连接属性
entstat 命令是 AIX 下自带用于查询以太网设备统计信息的工具。它的工作原理与 ethtool 类似,同样是提供给用户一个显示网络设备连接状态的接口。清单 6 为命令在 AIX 6.1 上的运行结果,AIX 5.3 上的输出格式与之一样。
清单 6. 在 AIX 6.1 系统上查看网络适配器连接属性
主要字段含义:
Link Status 链路状态
Media Speed Selected 选择的连接速度
Media Speed Running 当前的连接速度
显示网络接口流量
主要字段含义:
bytes 发送或接受的总字节数
packets 发送或接受的报文总数
errs 被设备驱动监测到发送或接受的错误报文总数
drop 由于系统资源限制,被设备驱动丢弃的报文总数
fifo FIFO 缓存错误数
frame 帧错误数
compressed 发送或接受的压缩报数
multicast 接受到的多播报数
colls 接口检测到的冲突数
carrier 连接介质出现故障次数 , 如 : 网线接触不良
AIX 上,entstat enX 显示设备基本的统计信息。entstat -d enX 显示所有统计数据,包括设备特定的统计信息,这部分显示对不同网卡驱动可能不一样, 它可能包含驱动特定的信息和一些未包括在一般统计信息中的扩展统计信息。有些驱动可能没有任何设备特定统计信息。entstat -r enX 会将所有统计数据复位,这个标志只能被特权用户使用。清单 8 为命令在 AIX 6.1 上的运行结果,其中显示 ent0 接收了 398578558 字节,发送了 242760179 字节。AIX 5.3 上的输出格式与之类似。
清单 8. 在 AIX 6.1 系统上查看网络流量