Spec-Zone.ru › Ansible

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

По умолчанию: "default"

port

целое число

Номер UDP-порта сборщика sflow.

По умолчанию: 6343

enabled

логическое значение

Включает или отключает выборку sflow на устройстве.

Варианты:

  • false
  • true

interfaces

список / элементы=словарь

Данные конфигурации sflow для интерфейсов.

enabled

логическое значение

Если sflow включен глобально, включает или отключает sflow на интерфейсе

Варианты:

  • false
  • true

name

строка / обязательный

Имя интерфейса

sampling_rate

целое число

Переопределяет глобальную частоту выборки для этого интерфейса

max_header_size

целое число

Максимальный размер заголовка sflow в байтах.

Значение должно быть кратно 128 байтам и находиться в диапазоне от 128 до 1024.

polling_interval

целое число

Интервал опроса sflow (в секундах).

Значение должно быть равно 0 или находиться в диапазоне 5–300

sampling_rate

целое число

Задает глобальную частоту выборки пакетов.

Выбирает 1 пакет на каждые sampling_rate пакетов, проходящих через интерфейс

state

строка

Указывает тип обновления конфигурации, которое необходимо выполнить на устройстве.

Варианты:

  • "merged" ← (по умолчанию)
  • "replaced"
  • "overridden"
  • "deleted"

Примеры

# 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

словарь

Конфигурация после вызова модуля.

Возвращается: при изменении

Пример: "The configuration returned will always be in the same format\n as the parameters above.\n"

before

словарь

Конфигурация до вызова модуля.

Возвращается: всегда

Пример: "The configuration returned will always be in the same format\n as the parameters above.\n"

commands

список / элементы=строка

Список команд, отправленных на удаленное устройство.

Возвращается: всегда

Пример: ["command 1", "command 2", "command 3"]

Авторы

  • Xiao Han (@Xiao_Han2)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API