community.general.snmp_facts 模块 – 使用 SNMP 获取设备信息

注意

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

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

要安装它,请使用: ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: community.general.snmp_facts

概要

  • 使用 SNMP 获取设备信息,这些信息将插入到 ansible_facts 键中。

要求

以下要求在执行此模块的主机上是必需的。

  • pysnmp

参数

参数

注释

authkey

字符串

身份验证密钥。

version=v3 时为必填。

community

字符串

SNMP 社区字符串,如果 versionv2v2c,则为必填。

host

字符串 / 必填

设置为目标 SNMP 服务器(通常为 {{ inventory_hostname }})。

integrity

字符串

哈希算法。

version=v3 时为必填。

选项

  • "md5"

  • "sha"

level

字符串

身份验证级别。

version=v3 时为必填。

选项

  • "authNoPriv"

  • "authPriv"

privacy

字符串

加密算法。

level=authPriv 时为必填。

选项

  • "aes"

  • "des"

privkey

字符串

加密密钥。

level=authPriv 时为必填。

retries

整数

在 community.general 2.3.0 中添加

最大请求重试次数,0 次重试表示仅进行一次请求。

timeout

整数

在 community.general 2.3.0 中添加

响应超时(秒)。

username

字符串

SNMPv3 的用户名。

version=v3 时为必填。

version

字符串 / 必填

要使用的 SNMP 版本,v2v2cv3

选项

  • "v2"

  • "v2c"

  • "v3"

属性

属性

支持

描述

check_mode

支持:完全支持

在 community.general 3.3.0 中添加

此操作不会修改状态。

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: N/A

此操作不会修改状态。

在 diff 模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

facts

支持:完全支持

操作返回一个 ansible_facts 字典,该字典将更新现有的主机信息。

示例

- name: Gather facts with SNMP version 2
  community.general.snmp_facts:
    host: '{{ inventory_hostname }}'
    version: v2c
    community: public
  delegate_to: local

- name: Gather facts using SNMP version 3
  community.general.snmp_facts:
    host: '{{ inventory_hostname }}'
    version: v3
    level: authPriv
    integrity: sha
    privacy: aes
    username: snmp-user
    authkey: abc12345
    privkey: def6789
  delegate_to: localhost

返回值

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

描述

ansible_all_ipv4_addresses

列表 / 元素=字符串

所有 IPv4 地址的列表。

返回:成功

示例: ["127.0.0.1", "172.17.0.1"]

ansible_interfaces

字典

每个网络接口及其元数据的字典。

返回:成功

示例: {"1": {"adminstatus": "up", "description": "", "ifindex": "1", "ipv4": [{"address": "127.0.0.1", "netmask": "255.0.0.0"}], "mac": "", "mtu": "65536", "name": "lo", "operstatus": "up", "speed": "65536"}, "2": {"adminstatus": "up", "description": "", "ifindex": "2", "ipv4": [{"address": "192.168.213.128", "netmask": "255.255.255.0"}], "mac": "000a305a52a1", "mtu": "1500", "name": "Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)", "operstatus": "up", "speed": "1500"}}

ansible_syscontact

字符串

此受管节点的联系人文本标识,以及如何联系此人的信息。

返回:成功

示例: "Me <[email protected]>"

ansible_sysdescr

字符串

实体的文本描述。

返回:成功

示例: "Linux ubuntu-user 4.4.0-93-generic"

ansible_syslocation

字符串

此节点的物理位置(例如,电话间,3楼)。

返回:成功

示例: "Sitting on the Dock of the Bay"

ansible_sysname

字符串

为此受管节点分配的管理名称。

返回:成功

示例: "ubuntu-user"

ansible_sysobjectid

字符串

供应商对实体中包含的网络管理子系统的权威标识。

返回:成功

示例: "1.3.6.1.4.1.8072.3.2.10"

ansible_sysuptime

整数

自系统网络管理部分上次重新初始化以来的时间(以百分之一秒为单位)。

返回:成功

示例: 42388

作者

  • Patrick Ogenstad (@ogenstad)