search
数据采集 采集源配置 网卡流量指标采集

网卡流量指标采集

简介

采集网卡相关指标上报到 DataFlux 中

前置条件

  • 已安装 DataKit(DataKit 安装文档
  • 该数据源也可以采集网络协议使用量相关指标,但只在 Linux 操作系统中才可用

配置

打开 DataKit 采集源配置文件夹(默认路径为 DataKit 安装目录的 conf.d 文件夹),找到 network 文件夹,复制里面的 net.conf.sample,并命名为net.conf,然后编辑。

[[inputs.net]]
  ## 默认情况会采集所有网卡的指标(除了 loopback),也可以指定网卡采集,支持使用 Glob 风格的正则表达式
  # interfaces = ["eth*", "enp0s[0-1]", "lo"]
  
  ## 在 Linux 操作系统中也会采集网络协议相关指标,可以配置 true 不采集这些指标
  # ignore_protocol_stats = false
  ##

配置好后,重启 DataKit 即可生效

采集指标

指标集 net

所有操作系统都会采集这些共同的指标:

指标 描述 类型 单位 Tag
bytes_sent 网络接口发送的总字节数 integer bytes host、interface
bytes_recv 网络接口收到的总字节数 integer bytes host、interface
packets_sent 网络接口发送的数据包总数 integer - host、interface
packets_recv 网络接口收到的数据包总数 integer - host、interface
err_in 网络接口检测到的接收错误总数 integer - host、interface
err_out 网络接口检测到的传输错误总数 integer - host、interface
drop_in 网络接口丢弃的接收数据包总数 integer - host、interface
drop_out 网络接口丢弃的传输数据包总数 integer - host、interface

不同的操作系统下,DataKit 会通过不同的机制采集这些指标,在 Linux 操作系统中读取 /proc/net/dev 文件. 在 freebsd/openbsd 和 darwin 操作系统中使用 netstat 来收集这些指标。

另外在 Linux 操作系统中 DataKit 还会读取 /proc/net/snmp (tcp, udp, icmp, etc.) 来采集网络协议相关指标。具体指标可以查看 Linux 内核相关文件(这里)。如果无法读取某个协议文件,DataKit 会自动忽略。

所有操作系统都会采集这些共同的指标:

指标 描述 类型 单位 Tag
bytes_sent 网络接口发送的总字节数 integer bytes interface
bytes_recv 网络接口收到的总字节数 integer bytes interface
packets_sent 网络接口发送的数据包总数 integer - interface
packets_recv 网络接口收到的数据包总数 integer - interface
err_in 网络接口检测到的接收错误总数 integer - interface
err_out 网络接口检测到的传输错误总数 integer - interface
drop_in 网络接口丢弃的接收数据包总数 integer - interface
drop_out 网络接口丢弃的传输数据包总数 integer - interface

不同的操作系统下,DataKit 会通过不同的机制采集这些指标,在 Linux 操作系统中读取 /proc/net/dev 文件. 在 freebsd/openbsd 和 darwin 操作系统中使用 netstat 来收集这些指标。

另外在 Linux 操作系统中 DataKit 还会读取 /proc/net/snmp (tcp, udp, icmp, etc.) 来采集网络协议相关指标。具体指标可以查看 Linux 内核相关文件(这里)。如果无法读取某个协议文件,DataKit 会自动忽略。