Retrieving Device Log File
This page describes how you can retrieve log files for a device from IP Fabric’s discovery to be consumed outside the platform.
Using API
Do this in two stages:
-
Send a
POSTto/tables/inventory/deviceswith a request body like:{ "columns": ["hostname", "taskKey"], "snapshot": "$last" }You can (and probably would) filter that list (for example, for a specific device with the hostname
SWITCH01) by including akey:valuepair:"filters": { "hostname": ["eq","SWITCH01"] }This provides you with the task ID for the discovery of the device in question.
-
Send a
GETto/os/logs/task/XXXXXXXXXXXXX, whereXXXXXXXXXXXXXis thetaskKeyvalue returned in step 1 for the required network device. This returns the plain text of the log file for that device discovery.
Using the Python SDK
Using the python-ipfabric Python SDK this has been simplified to the following.
from ipfabric import IPFClient
ipf = IPFClient()
device = ipf.devices.by_sn['DEVICE_SERIAL_NUMBER']
json_log = device.get_log_file()