community.network.ce_sflow 模块 – 管理华为 CloudEngine 交换机上的 sFlow 配置。

注意

此模块是 community.network 集合(版本 5.1.0)的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.network

要在 playbook 中使用它,请指定:community.network.ce_sflow

注意

community.network 集合已弃用,将从 Ansible 12 中删除。有关更多信息,请参阅讨论主题

已弃用

移除于:

版本 6.0.0

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • 配置采样流 (sFlow) 以实时监控接口上的流量,检测异常流量并定位攻击流量的来源,确保网络的稳定运行。

别名:network.cloudengine.ce_sflow

参数

参数

注释

agent_ip

字符串

指定 sFlow 代理的 IPv4/IPv6 地址。

collector_datagram_size

字符串

指定从 sFlow 代理发送到 sFlow 收集器的 sFlow 数据包的最大长度。该值是一个整数,以字节为单位。范围从 1024 到 8100。默认值为 1400。

collector_description

字符串

指定 sFlow 收集器的描述。该值是一个不带空格的 1 到 255 个区分大小写的字符组成的字符串。

collector_id

字符串

指定 sFlow 收集器的 ID。在后续 sFlow 配置中指定收集器时使用此 ID。

选择

  • "1"

  • "2"

collector_ip

字符串

指定 sFlow 收集器的 IPv4/IPv6 地址。

collector_ip_vpn

字符串

指定 VPN 实例的名称。该值是一个不包含空格的 1 到 31 个区分大小写的字符组成的字符串。当在字符串周围使用双引号时,字符串中允许空格。值 _public_ 是保留值,不能用作 VPN 实例名称。

collector_meth

字符串

配置设备通过服务接口发送 sFlow 数据包,从而增强 sFlow 数据包转发能力。增强参数是可选的。无论是否配置增强模式,交换机都会根据收集器上的路由信息确定通过服务卡还是管理端口发送 sFlow 数据包。当值为 meth 时,设备在控制平面转发 sFlow 数据包。当值为 enhanced 时,设备在转发平面转发 sFlow 数据包,以增强 sFlow 数据包转发能力。

选择

  • "meth"

  • "enhanced"

collector_udp_port

字符串

指定 sFlow 数据包的 UDP 目标端口号。该值是一个介于 1 到 65535 之间的整数。默认值为 6343。

counter_collector

字符串

指示计数器收集器的 ID 列表。

counter_interval

字符串

指示计数器采样间隔。该值是一个以秒为单位,范围为 10 到 4294967295 的整数。默认值为 20。

export_route

字符串

配置交换机发送的 sFlow 数据包不携带路由信息。

选择

  • "enable"

  • "disable"

sample_collector

字符串

指示收集器的 ID 列表。

sample_direction

字符串

启用入站或出站方向的流采样。

选择

  • "inbound"

  • "outbound"

  • "both"

sample_length

字符串

指定采样数据包的最大长度。该值是一个整数,范围为 18 到 512,以字节为单位。默认值为 128。

sample_rate

字符串

以 1/rate 格式指定流采样率。该值是一个整数,范围为 1 到 4294967295。默认值为 8192。

sflow_interface

字符串

用于流采样或计数器的接口全名。它必须是物理接口、Eth-Trunk 或第 2 层子接口。

source_ip

字符串

指定 sFlow 数据包的源 IPv4/IPv6 地址。

state

字符串

确定设备上是否应该存在此配置。

选择

  • "present" ← (默认)

  • "absent"

说明

注意

  • 此模块需要在被管理的远程设备上启用 netconf 系统服务。

  • 推荐的连接方式是 netconf

  • 此模块也适用于传统剧本的 local 连接。

示例

---

- name: Sflow module test
  hosts: ce128
  connection: local
  gather_facts: false
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

  tasks:
  - name: Configuring sFlow Agent
    community.network.ce_sflow:
      agent_ip: 6.6.6.6
      provider: '{{ cli }}'

  - name: Configuring sFlow Collector
    community.network.ce_sflow:
      collector_id: 1
      collector_ip: 7.7.7.7
      collector_ip_vpn: vpn1
      collector_description: Collector1
      provider: '{{ cli }}'

  - name: Configure flow sampling.
    community.network.ce_sflow:
      sflow_interface: 10GE2/0/2
      sample_collector: 1
      sample_direction: inbound
      provider: '{{ cli }}'

  - name: Configure counter sampling.
    community.network.ce_sflow:
      sflow_interface: 10GE2/0/2
      counter_collector: 1
      counter_interval: 1000
      provider: '{{ cli }}'

返回值

常用的返回值记录在这里,以下是此模块特有的字段

描述

changed

布尔值

检查设备上是否进行了更改

返回: 总是

示例: true

end_state

字典

模块执行后配置的键/值对

返回: 详细模式

示例: {"agent": {"family": "ipv4", "ipv4Addr": "1.2.3.4", "ipv6Addr": null}}

existing

字典

现有配置的键/值对

返回: 详细模式

示例: {"agent": {}}

proposed

字典

传入模块的参数的键/值对

返回: 详细模式

示例: {"agent_ip": "6.6.6.6", "state": "present"}

updates

列表 / 元素=字符串

发送到设备的命令

返回: 总是

示例: ["sflow agent ip 6.6.6.6"]

状态

  • 此模块将在 6.0.0 版本中移除。[已弃用]

  • 有关更多信息,请参阅已弃用

作者

  • QijunPan (@QijunPan)