fortinet.fortimanager.fmgr_wanprof_system_sdwan_healthcheck 模块 – SD-WAN 状态检查或健康检查。

注意

此模块是 fortinet.fortimanager 集合 (版本 2.8.2) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install fortinet.fortimanager

要在 playbook 中使用它,请指定: fortinet.fortimanager.fmgr_wanprof_system_sdwan_healthcheck

fortinet.fortimanager 2.1.0 中的新增功能

概要

  • 此模块能够配置 FortiManager 设备。

  • 示例包括所有需要在使用前调整为数据源的参数和值。

参数

参数

注释

access_token

字符串

无需使用用户名和密码即可访问 FortiManager 的令牌。

adom

字符串 / 必需

请求 URL 中的参数 (adom)。

bypass_validation

布尔值

仅当模块模式与 FortiManager API 结构不同时才设置为 True,模块将继续执行而无需验证参数。

选项

  • false ← (默认)

  • true

enable_log

布尔值

启用/禁用任务日志记录。

选项

  • false ← (默认)

  • true

forticloud_access_token

字符串

使用 forticloud API 访问令牌验证 Ansible 客户端。

proposed_method

字符串

底层 Json RPC 请求的覆盖方法。

选项

  • "update"

  • "set"

  • "add"

rc_failed

列表 / 元素=整数

将覆盖失败条件的 rc 代码列表。

rc_succeeded

列表 / 元素=整数

将覆盖成功条件的 rc 代码列表。

state

字符串 / 必需

创建、更新或删除对象的指令。

选项

  • "present"

  • "absent"

wanprof

字符串 / 必需

请求 URL 中的参数 (wanprof)。

wanprof_system_sdwan_healthcheck

字典

设置的顶级参数。

_dynamic_server

别名:_dynamic-server

字符串

动态服务器。

addr_mode

别名:addr-mode

字符串

地址模式

选项

  • "ipv4"

  • "ipv6"

class_id

别名:class-id

字符串

流量类 ID。

detect_mode

别名:detect-mode

字符串

确定如何检测服务器的模式。

选项

  • "active"

  • "passive"

  • "prefer-passive"

  • "remote"

  • "agent-based"

diffservcode

字符串

区分服务代码点

dns_match_ip

别名:dns-match-ip

字符串

如果协议是 DNS,则预期来自 DNS 服务器的响应 IP。

dns_request_domain

别名:dns-request-domain

字符串

要为 DNS 探测解析的完全限定域名。

embed_measured_health

别名:embed-measured-health

字符串

启用/禁用嵌入测量的健康信息。

选项

  • "disable"

  • "enable"

failtime

整数

在服务器被认为丢失之前的失败次数

ftp_file

别名:ftp-file

字符串

FTP 服务器上要下载的文件的完整路径和文件名,用于 FTP 健康检查探测。

ftp_mode

别名:ftp-mode

字符串

FTP 模式。

选项

  • "passive"

  • "port"

ha_priority

别名:ha-priority

整数

HA 选举优先级

http_agent

别名:http-agent

字符串

HTTP 标头中 http-agent 字段中的字符串。

http_get

别名:http-get

字符串

如果协议是 HTTP,则用于与服务器通信的 URL。

http_match

别名:http-match

字符串

如果协议是 HTTP,则服务器应返回的响应字符串。

间隔

整数

状态检查间隔(毫秒),或尝试连接到服务器的时间间隔。

成员

任意

(列表或字符串)成员序列号列表。

mos_codec

别名:mos-codec

字符串

用于 MOS 计算的编解码器。

选项

  • "g711"

  • "g722"

  • "g729"

名称

字符串 / 必需

状态检查或健康检查名称。

packet_size

别名:packet-size

整数

Twamp 测试会话的数据包大小。

密码

任意

(列表)在身份验证模式下的 Twamp 控制器密码。

端口

整数

用于通过所选协议与服务器通信的端口号。

probe_count

别名:probe-count

整数

用于计算延迟和抖动的最近探测次数。

probe_packets

别名:probe-packets

字符串

启用/禁用探测数据包的传输。

选项

  • "disable"

  • "enable"

probe_timeout

别名:probe-timeout

整数

在探测数据包被认为丢失之前等待的时间。

协议

字符串

用于确定 FortiGate 是否可以与服务器通信的协议。

选项

  • "ping"

  • "tcp-echo"

  • "udp-echo"

  • "http"

  • "twamp"

  • "ping6"

  • "dns"

  • "tcp-connect"

  • "ftp"

  • "https"

quality_measured_method

别名:quality-measured-method

字符串

测量 tcp-connect 质量的方法。

选项

  • "half-close"

  • "half-open"

恢复时间

整数

在服务器被认为恢复之前接收到的成功响应数。

security_mode

别名:security-mode

字符串

Twamp 控制器安全模式。

选项

  • "none"

  • "authentication"

服务器

任意

(列表)服务器的 IP 地址或 FQDN 名称。

SLA

列表 / 元素=字典

服务等级协议 (SLA)。

ID

整数

SLA ID。

jitter_threshold

别名:jitter-threshold

整数

SLA 用于做出决策的抖动(毫秒)。

latency_threshold

别名:latency-threshold

整数

SLA 用于做出决策的延迟(毫秒)。

link_cost_factor

别名:link-cost-factor

列表 / 元素=字符串

用于链路选择的标准。

选项

  • "latency"

  • "jitter"

  • "packet-loss"

  • "mos"

  • "remote"

mos_threshold

别名:mos-threshold

字符串

SLA 被标记为通过的最小平均意见得分。

packetloss_threshold

别名:packetloss-threshold

整数

SLA 用于做出决策的数据包丢失率(百分比)。

priority_in_sla

别名:priority-in-sla

整数

在 SLA 内分配到路由表的值。

priority_out_sla

别名:priority-out-sla

整数

在 SLA 外分配到路由表的值。

sla_fail_log_period

别名:sla-fail-log-period

整数

生成 SLA 失败日志消息的时间间隔(秒)。

sla_id_redistribute

别名:sla-id-redistribute

整数

从 SLA 子表中选择 ID。

sla_pass_log_period

别名:sla-pass-log-period

整数

生成 SLA 通过日志消息的时间间隔(秒)。

字符串

在健康检查数据包中用于向服务器发送的源 IP 地址。

source6

字符串

在健康检查数据包中用于向服务器发送的源 IPv6 地址。

system_dns

别名:system-dns

字符串

启用/禁用系统 DNS 作为探测服务器。

选项

  • "disable"

  • "enable"

threshold_alert_jitter

别名:threshold-alert-jitter

整数

抖动的警报阈值。

threshold_alert_latency

别名:threshold-alert-latency

整数

延迟的警报阈值。

threshold_alert_packetloss

别名:threshold-alert-packetloss

整数

数据包丢失的警报阈值。

threshold_warning_jitter

别名:threshold-warning-jitter

整数

抖动的警告阈值。

threshold_warning_latency

别名:threshold-warning-latency

整数

延迟的警告阈值。

threshold_warning_packetloss

别名:threshold-warning-packetloss

整数

数据包丢失的警告阈值。

update_cascade_interface

别名:update-cascade-interface

字符串

启用/禁用级联接口更新。

选项

  • "disable"

  • "enable"

update_static_route

别名:update-static-route

字符串

启用/禁用静态路由更新。

选项

  • "disable"

  • "enable"

用户

字符串

访问探测服务器的用户名。

VRF

整数

虚拟路由转发 ID。

workspace_locking_adom

字符串

在工作区模式下锁定 FortiManager 的 ADOM,值可以是 global 和其他包括 root。

workspace_locking_timeout

整数

等待其他用户释放工作区锁定的最长时间(秒)。

默认值: 300

注释

注意

  • 从 2.4.0 版本开始,所有输入参数都使用下划线命名约定(snake_case)。请将诸如“var-name”之类的参数更改为“var_name”。旧的参数名称仍然可用,但您会收到弃用警告。您可以在 ansible.cfg 中设置 deprecation_warnings=False 来忽略此警告。

  • 此 FortiManager 模块支持在工作区锁定模式下运行,顶级参数 workspace_locking_adom 和 workspace_locking_timeout 有助于完成此工作。

  • 要创建或更新对象,请使用 state present 指令。

  • 要删除对象,请使用 state absent 指令。

  • 通常情况下,当返回非零 rc 时,运行一个模块可能会失败。您还可以使用参数 rc_failed 和 rc_succeeded 来覆盖失败或成功的条件。

示例

- name: Example playbook (generated based on argument schema)
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: SD-WAN status checking or health checking.
      fortinet.fortimanager.fmgr_wanprof_system_sdwan_healthcheck:
        # bypass_validation: false
        workspace_locking_adom: <value in [global, custom adom including root]>
        workspace_locking_timeout: 300
        # rc_succeeded: [0, -2, -3, ...]
        # rc_failed: [-2, -3, ...]
        adom: <your own value>
        wanprof: <your own value>
        state: present # <value in [present, absent]>
        wanprof_system_sdwan_healthcheck:
          _dynamic_server: <string>
          addr_mode: <value in [ipv4, ipv6]>
          diffservcode: <string>
          dns_match_ip: <string>
          dns_request_domain: <string>
          failtime: <integer>
          ftp_file: <string>
          ftp_mode: <value in [passive, port]>
          ha_priority: <integer>
          http_agent: <string>
          http_get: <string>
          http_match: <string>
          interval: <integer>
          members: <list or string>
          name: <string>
          packet_size: <integer>
          password: <list or string>
          port: <integer>
          probe_count: <integer>
          probe_packets: <value in [disable, enable]>
          probe_timeout: <integer>
          protocol: <value in [ping, tcp-echo, udp-echo, ...]>
          quality_measured_method: <value in [half-close, half-open]>
          recoverytime: <integer>
          security_mode: <value in [none, authentication]>
          server: <list or string>
          sla:
            -
              id: <integer>
              jitter_threshold: <integer>
              latency_threshold: <integer>
              link_cost_factor:
                - "latency"
                - "jitter"
                - "packet-loss"
                - "mos"
                - "remote"
              packetloss_threshold: <integer>
              mos_threshold: <string>
              priority_in_sla: <integer>
              priority_out_sla: <integer>
          sla_fail_log_period: <integer>
          sla_pass_log_period: <integer>
          system_dns: <value in [disable, enable]>
          threshold_alert_jitter: <integer>
          threshold_alert_latency: <integer>
          threshold_alert_packetloss: <integer>
          threshold_warning_jitter: <integer>
          threshold_warning_latency: <integer>
          threshold_warning_packetloss: <integer>
          update_cascade_interface: <value in [disable, enable]>
          update_static_route: <value in [disable, enable]>
          user: <string>
          detect_mode: <value in [active, passive, prefer-passive, ...]>
          mos_codec: <value in [g711, g722, g729]>
          source: <string>
          vrf: <integer>
          embed_measured_health: <value in [disable, enable]>
          sla_id_redistribute: <integer>
          class_id: <string>
          source6: <string>

返回值

常见的返回值已在此处记录,以下是此模块特有的字段。

描述

meta

字典

请求的结果。

返回:始终

request_url

字符串

请求的完整 URL。

返回:始终

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回:始终

示例: 0

response_data

列表 / 元素=字符串

API 响应。

返回:始终

response_message

字符串

API 响应的描述性消息。

返回:始终

示例: "OK."

system_information

字典

目标系统的信息。

返回:始终

rc

整数

请求的状态。

返回:始终

示例: 0

version_check_warning

列表 / 元素=字符串

如果 playbook 中使用的参数不受当前 FortiManager 版本支持,则会发出警告。

返回:复杂类型

作者

  • 杜欣伟 (@dux-fortinet)

  • 李星 (@lix-fortinet)

  • 薛杰 (@JieX19)

  • 郑凌 (@chillancezen)

  • 沈峰 (@fshen01)

  • 卢宏斌 (@fgtdev-hblu)