snmp_facts – Retrieve facts for a device using SNMP
Synopsis
- Retrieve facts for a device using SNMP, the facts will be inserted to the ansible_facts key.
Requirements
The below requirements are needed on the host that executes this module.
- pysnmp
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| authkey string | Authentication key. Required if version is v3. | |
| community string | The SNMP community string, required if version is v2/v2c. | |
| host string / required | Set to target snmp server (normally {{ inventory_hostname }}). | |
| integrity string |
| Hashing algorithm. Required if version is v3. |
| level string |
| Authentication level. Required if version is v3. |
| privacy string |
| Encryption algorithm. Required if level is authPriv. |
| privkey string | Encryption key. Required if version is authPriv. | |
| username string | Username for SNMPv3. Required if version is v3. | |
| version string / required |
| SNMP Version to use, v2/v2c or v3. |
Examples
- name: Gather facts with SNMP version 2
snmp_facts:
host: '{{ inventory_hostname }}'
version: v2c
community: public
delegate_to: local
- name: Gather facts using SNMP version 3
snmp_facts:
host: '{{ inventory_hostname }}'
version: v3
level: authPriv
integrity: sha
privacy: aes
username: snmp-user
authkey: abc12345
privkey: def6789
delegate_to: localhost
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| ansible_all_ipv4_addresses list | success | List of all IPv4 addresses. Sample: ['127.0.0.1', '172.17.0.1'] |
| ansible_interfaces dictionary | success | Dictionary of each network interface and its metadata. Sample: {'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 string | success | The textual identification of the contact person for this managed node, together with information on how to contact this person. Sample: Me <[email protected]> |
| ansible_sysdescr string | success | A textual description of the entity. Sample: Linux ubuntu-user 4.4.0-93-generic |
| ansible_syslocation string | success | The physical location of this node (e.g., `telephone closet, 3rd floor'). Sample: Sitting on the Dock of the Bay |
| ansible_sysname string | success | An administratively-assigned name for this managed node. Sample: ubuntu-user |
| ansible_sysobjectid string | success | The vendor's authoritative identification of the network management subsystem contained in the entity. Sample: 1.3.6.1.4.1.8072.3.2.10 |
| ansible_sysuptime integer | success | The time (in hundredths of a second) since the network management portion of the system was last re-initialized. Sample: 42388 |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Patrick Ogenstad (@ogenstad)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/snmp_facts_module.html