dellemc.enterprise_sonic.sonic_sflow module – настройка параметров sflow на SONiC
Примечание
Этот модуль входит в коллекцию dellemc.enterprise_sonic (версия 3.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install dellemc.enterprise_sonic.
Чтобы использовать коллекцию в плейбуке, укажите: dellemc.enterprise_sonic.sonic_sflow.
Добавлено в dellemc.enterprise_sonic 2.5.0
Обзор
- Этот модуль настраивает выборку sflow на устройствах под управлением SONiC
Параметры
Параметр | Комментарии |
|---|---|
config словарь | Задает данные конфигурации и рабочего состояния, относящиеся к выборке трафика плоскости данных на основе sflow. |
|
agent строка |
Интерфейс агента |
|
collectors список / элементы=словарь |
Данные конфигурации сборщиков sflow. |
|
address строка / обязательный |
IP-адрес сборщика sflow. |
|
network_instance строка |
Имя сетевого экземпляра, содержащего сборщик sflow По умолчанию: |
|
port целое число |
Номер UDP-порта сборщика sflow. По умолчанию: |
|
enabled логическое значение |
Включает или отключает выборку sflow на устройстве. Варианты:
|
|
interfaces список / элементы=словарь |
Данные конфигурации sflow для интерфейсов. |
|
enabled логическое значение |
Если sflow включен глобально, включает или отключает sflow на интерфейсе Варианты:
|
|
name строка / обязательный |
Имя интерфейса |
|
sampling_rate целое число |
Переопределяет глобальную частоту выборки для этого интерфейса |
|
max_header_size целое число |
Максимальный размер заголовка sflow в байтах. Значение должно быть кратно 128 байтам и находиться в диапазоне от 128 до 1024. |
|
polling_interval целое число |
Интервал опроса sflow (в секундах). Значение должно быть равно 0 или находиться в диапазоне 5–300 |
|
sampling_rate целое число |
Задает глобальную частоту выборки пакетов. Выбирает 1 пакет на каждые sampling_rate пакетов, проходящих через интерфейс |
state строка | Указывает тип обновления конфигурации, которое необходимо выполнить на устройстве. Варианты:
|
Примеры
# Using "deleted" state to clear all configuration
# Before state:
# config:
# enabled: false
# polling_interval: 40
# max_header_size: 256
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# sampling_rate: 400000
# Example
- name: "clear all sflow config and disable"
sonic_sflow:
config: {}
state: deleted
# After state:
# Note, "enabled" can't be deleted. It's just set to default. All values that can be cleared are deleted.
# config:
# enabled: false
# (no other recorded config)
# ------
# Using "deleted" state to clear just the interfaces and collectors
# Before state:
# config:
# enabled: True
# polling_interval: 40
# max_header_size: 256
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# sampling_rate: 400000
# Example
- name: "clear all sflow interfaces and collectors"
sonic_sflow:
config:
interfaces: []
collectors: []
state: deleted
# After state:
# config:
# enabled: true
# polling_interval: 40
# max_header_size: 256
# Note: deletes list of items if empty list is provided. Otherwise must specify key and have values match to delete, see other Example
# ------
# Using "deleted" state to delete individual interfaces
# Before state:
# config:
# enabled: false
# polling_interval: 40
# max_header_size: 256
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# sampling_rate: 400000
# - name: Ethernet8
# enabled: false
# - name: Ethernet16
# sampling_rate: 400000
# Example
# note: to delete the whole interface, just the name needs to specify the name, nothing else
- name: "delete individual interfaces"
sonic_sflow:
config:
interfaces:
- name: Ethernet8
- name: Ethernet16
state: deleted
# After state:
# All configuration deleted for the listed interfaces
# config:
# enabled: false
# polling_interval: 40
# max_header_size: 256
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# sampling_rate: 400000
# ------
# Using "deleted" state to delete collectors
# Before state:
# config:
# enabled: false
# polling_interval: 40
# max_header_size: 256
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# - address: 1.1.1.2
# port: 6000
# network_instance: "vrf_1"
# interfaces:
# - name: Ethernet0
# sampling_rate: 400000
# Example:
# Note: The values of all three fields must be known to identify a collector, but
# the "port" and "network instance" attributes have default values. These default
# values do not need to be explicitly specified in a playbook for deletion of a
# collector having default values configured for these attributes.
- name: "delete individual collectors"
sonic_sflow:
config:
collectors:
- address: 1.1.1.2
port: 6000
network_instance: "vrf_1"
- address: 1.1.1.1
state: deleted
# After state:
# config:
# enabled: false
# polling_interval: 40
# max_header_size: 256
# interfaces:
# - name: Ethernet0
# sampling_rate: 400000
# ------
# Using "deleted" state to clear individual values
# Before state:
# config:
# enabled: true
# polling_interval: 30
# max_header_size: 128
# sampling_rate: 400000
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# enabled: true
# sampling_rate: 400000
# - name: Ethernet4
# enabled: true
# sampling_rate: 400002
# Example
- name: "clear specific config attributes if values match"
sonic_sflow:
config:
enabled: false
polling_interval: 30
max_header_size: 128
sampling_rate: 400000
interfaces:
- name: Ethernet0
sampling_rate: 400000
state: deleted
# After state:
# config:
# enabled: true
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# enabled: true
# - name: Ethernet4
# enabled: true
# sampling_rate: 400002
# ------------
# Using "merged" state to add sflow collector
# Before state:
# config:
# enabled: false
# Example:
- name: "Add an sflow collector with default values for 'port' and 'network_instance"
sonic_sflow:
config:
collectors:
- address: 1.1.1.2
state: merged
# note: There can only be two collectors configured at a time.
# note: Only "port" and and "network_instance" have default values.
# After state:
# config:
# enabled: false
# collectors:
# - address: 1.1.1.2
# port: 6343
# network_instance: default
# ------
# Using "merged" state to add and modify interface configuration
# Before state:
# config:
# enabled: false
# interfaces:
# - name: Ethernet0
# sampling_rate: 400002
# - name: Ethernet8
# enabled: true
# sampling_rate: 400001
# Example
- name: "Add/modify interface settings"
sonic_sflow:
config:
interfaces:
- name: Ethernet0
enabled: true
- name: Ethernet8
enabled: false
sampling_rate: 400003
- name: Ethernet16
- name: Ethernet32
sampling_rate: 400001
state: merged
# Note: must set at least one of enabled or sampling_rate for interface to be added
# After state
# config:
# enabled: false
# interfaces:
# - name: Ethernet0
# sampling_rate: 400002
# enabled: true
# - name: Ethernet8
# enabled: false
# sampling_rate: 400003
# - name: Ethernet32
# sampling_rate: 400001
# ------
# Using "merged" state to add/modify global settings
# Before state:
# config:
# enabled: false
# polling_interval: 40
# max_header_size: 256
# Example
- name: "Adding/modifying other settings using 'merged'"
sonic_sflow:
config:
polling_interval: 50
enabled: true
agent: Ethernet0
max_header_size: 128
state: merged
# After state
# config:
# enabled: true
# polling_interval: 50
# max_header_size: 128
# agent: Ethernet0
# -----------
# using overridden to override all existing sflow config with the given settings
# Before state:
# config:
# enabled: false
# polling_interval: 50
# max_header_size: 128
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# enabled: false
# - name: Ethernet8
# enabled: false
# - name: Ethernet16
# enabled: false
# - name: Ethernet24
# enabled: false
# Example:
- name: "override all existing sflow config with input config from a playbook task"
sonic_sflow:
config:
enabled: true
agent: Ethernet0
interfaces:
- name: Ethernet0
enabled: true
state: overridden
# After state:
# config:
# enabled: true
# agent: Ethernet0
# interfaces:
# - name: Ethernet0
# enabled: true
# ------------
# Using "replaced" state to replace specific interface settings
# Before state:
# config:
# enabled: false
# polling_interval: 50
# max_header_size: 128
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# enabled: true
# sampling_rate: 400002
# - name: Ethernet4
# enabled: false
# - name: Ethernet8
# enabled: false
# sampling_rate: 400010
# - name: Ethernet24
# enabled: false
# Example:
- name: "only add or substitute certain interfaces"
sonic_sflow:
config:
enabled: false
polling_interval: 50
max_header_size: 128
interfaces:
- name: Ethernet0
sampling_rate: 400010
- name: Ethernet4
sampling_rate: 400010
- name: Ethernet16
enabled: false
state: replaced
# After state:
# config:
# enabled: false
# polling_interval: 50
# max_header_size: 128
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# sampling_rate: 400010
# - name: Ethernet4
# sampling_rate: 400010
# - name: Ethernet8
# enabled: false
# sampling_rate: 400010
# - name: Ethernet16
# enabled: false
# - name: Ethernet24
# enabled: false
# ------
# Using "replaced" state with different top level values replaces nested components.
# Before state:
# config:
# enabled: false
# polling_interval: 50
# max_header_size: 128
# collectors:
# - address: 1.1.1.1
# port: 6343
# network_instance: default
# interfaces:
# - name: Ethernet0
# enabled: false
# - name: Ethernet8
# enabled: false
# - name: Ethernet16
# enabled: false
# - name: Ethernet24
# enabled: false
# Example:
- name: "replaces everything"
sonic_sflow:
config:
enabled: false
polling_interval: 30
max_header_size: 128
state: replaced
# After state:
# config:
# enabled: false
# polling_interval: 30
# max_header_size: 128
# -----------
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
after словарь | Конфигурация после вызова модуля. Возвращается: при изменении Пример: |
before словарь | Конфигурация до вызова модуля. Возвращается: всегда Пример: |
commands список / элементы=строка | Список команд, отправленных на удаленное устройство. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/dellemc/enterprise_sonic/sonic_sflow_module.html