snmp_facts – Retrieve facts for a device using SNMP

From Get docs
Ansible/docs/2.9/modules/snmp facts module


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 Template:Inventory hostname).

integrity

string

  • md5
  • sha

Hashing algorithm.

Required if version is v3.

level

string

  • authNoPriv
  • authPriv

Authentication level.

Required if version is v3.

privacy

string

  • aes
  • des

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

  • v2
  • v2c
  • v3

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

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

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.9/modules/snmp_facts_module.html