SFlow 输入插件
此服务插件充当 SFlow V5 收集器,从接收到的信息生成指标。目前,该插件可以收集以太网/IPv4、IPv4 TCP 和 UDP 头的流样本。计数器和其他头样本将被忽略。请使用 netflow 插件 以获得更现代、更复杂的实现。
此插件会产生高基数数据,如果不加以控制,将对数据库造成高负载。请务必过滤生成的指标或配置您的数据库以避免基数问题!
引入于: Telegraf v1.14.0 标签: network 操作系统支持: all
服务输入
此插件是服务输入。普通插件收集由 interval 设置确定的指标。服务插件启动一个服务来监听并等待指标或事件发生。服务插件与普通插件的两个主要区别是:
- 全局或插件特定的
interval设置可能不适用 --test、--test-wait和--once的 CLI 选项可能不会为此插件生成输出
全局配置选项
插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md。
配置
# SFlow V5 Protocol Listener
[[inputs.sflow]]
## Address to listen for sFlow packets.
## example: service_address = "udp://:6343"
## service_address = "udp4://:6343"
## service_address = "udp6://:6343"
service_address = "udp://:6343"
## Set the size of the operating system's receive buffer.
## example: read_buffer_size = "64KiB"
# read_buffer_size = ""Metrics
- sflow
- 标签 (tags)
- agent_address - 代理获取 sflow 采样并发送到此收集器的 IP 地址
- source_id_type - flow_sample 或 flow_sample_expanded 结构的类型
- source_id_index - flow_sample 或 flow_sample_expanded 结构的索引
- input_ifindex - flow_sample 或 flow_sample_expanded 结构的输入值
- output_ifindex - flow_sample 或 flow_sample_expanded 结构的输出值
- sample_direction - source_id_index, netif_index_in 和 netif_index_out
- header_protocol - sampled_header 结构的 header_protocol 字段
- ether_type - ETHERNET-ISO88023 报头的以太网类型
- src_ip - IPv4 或 IPv6 结构的源 IP 地址
- src_port - TCP 或 UDP 结构的源端口
- src_port_name - 源端口的名称
- src_mac - ETHERNET-ISO88023 报头的源 MAC 地址
- src_vlan - extended_switch 结构的源 VLAN
- src_priority - extended_switch 结构的源优先级
- src_mask_len - extended_router 结构的源掩码长度
- dst_ip - IPv4 或 IPv6 结构的 D 站 IP 地址
- dst_port - TCP 或 UDP 结构的 D 站端口
- dst_port_name - D 站端口的名称
- dst_mac - ETHERNET-ISO88023 报头的 D 站 MAC 地址
- dst_vlan - extended_switch 结构的 D 站 VLAN
- dst_priority - extended_switch 结构的 D 站优先级
- dst_mask_len - extended_router 结构的 D 站掩码长度
- next_hop - extended_router 结构的下一跳
- ip_version - IPv4 或 IPv6 结构的 IP 版本
- ip_protocol - IPv4 或 IPv6 结构的 IP 协议
- ip_dscp - IPv4 或 IPv6 结构的 IP DSCP
- ip_ecn - IPv4 或 IPv6 结构的 IP ECN
- tcp_urgent_pointer - TCP 结构的紧急指针
- 字段 (fields)
- bytes (int) - 帧长和数据包的乘积
- drops (int) - flow_sample 或 flow_sample_expanded 结构的 drops 字段
- packets (int) - flow_sample 或 flow_sample_expanded 结构的 sampling_rate 字段
- frame_length (int) - sampled_header 结构的 frame_length 字段
- header_size (int) - sampled_header 结构的 header_size 字段
- ip_fragment_offset (int) - IPv4 结构的 ip_ver 字段
- ip_header_length (int) - IPv4 结构的 ip_ver 字段
- ip_total_length (int) - IPv4 结构的 ip_total_len 字段
- ip_ttl (int) - IPv4 结构的 ip_ttl 字段或 IPv6 结构的 ip_hop_limit 字段
- tcp_header_length (int) - TCP 结构的 size 字段。此值以 32 位字为单位。必须乘以 4 才能得到以字节为单位的值。
- tcp_window_size (int) - TCP 结构的 window_size 字段
- udp_length (int) - UDP 结构的 length 字段
- ip_flags (int) - IPv4 结构的 ip_ver 字段
- tcp_flags (int) - TCP IP 报头的 TCP 标志 (IPv4 或 IPv6)
- 标签 (tags)
故障排除
可以使用 sflowtool 工具来打印 sFlow 数据包,并与 Telegraf 生成的指标进行比较。
sflowtool -p 6343如果打开一个 issue,除了 sflowtool 的输出之外,收集一个数据包捕获也会很有帮助。根据需要调整接口、主机和端口。
sudo tcpdump -s 0 -i eth0 -w telegraf-sflow.pcap host 127.0.0.1 and port 6343示例输出
sflow,agent_address=0.0.0.0,dst_ip=10.0.0.2,dst_mac=ff:ff:ff:ff:ff:ff,dst_port=40042,ether_type=IPv4,header_protocol=ETHERNET-ISO88023,input_ifindex=6,ip_dscp=27,ip_ecn=0,output_ifindex=1073741823,source_id_index=3,source_id_type=0,src_ip=10.0.0.1,src_mac=ff:ff:ff:ff:ff:ff,src_port=443 bytes=1570i,drops=0i,frame_length=157i,header_length=128i,ip_flags=2i,ip_fragment_offset=0i,ip_total_length=139i,ip_ttl=42i,sampling_rate=10i,tcp_header_length=0i,tcp_urgent_pointer=0i,tcp_window_size=14i 1584473704793580447此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Telegraf 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。