I realize you’re aiming for the NETCONF paradigm, but for anyone interested, a more consistent, device- and release-independent method is to just query the SNMP uptime variable:



 -mel beckman

On Feb 20, 2019, at 11:00 AM, Benoit Claise via NANOG <nanog@nanog.org> wrote:

Erik,

Just in case you want to go into/learn the data model-driven management, here is a NETCONF/YANG script.
CiscoRouterUptimeNETCONF) dvulovic@DVULOVIC-D2DW2:~/python-venv/CiscoRouterUptimeNETCONF$ ./CiscoRouterUptimeNETCONF.py testinput
CiscoRouterUptimeNETCONF by Djordje Vulovic (dvulovic@cisco.com)
----------------------------------------------------------------
Router 10.1.2.1 has uptime of 5724548.0 seconds (66 days, 6:09:08)
Router 10.1.2.2 has uptime of 5724551.0 seconds (66 days, 6:09:11)
Router 10.1.2.3 has uptime of 5724555.0 seconds (66 days, 6:09:15)
Router 10.1.2.4 has uptime of 5724557.0 seconds (66 days, 6:09:17)
Router 10.1.2.5 has uptime of 5724497.0 seconds (66 days, 6:08:17)

(CiscoRouterUptimeNETCONF) dvulovic@DVULOVIC-D2DW2:~/python-venv/CiscoRouterUptimeNETCONF$ ./CiscoRouterUptimeNETCONF.py
CiscoRouterUptimeNETCONF by Djordje Vulovic (dvulovic@cisco.com)
----------------------------------------------------------------
Usage: CiscoRouterUptimeNETCONF <file>
File consists of lines <mgmt ip>,<NETCONF port>,<username>,<password>


The script was tested on a real ASR920, running IOS 16.8.1
See the source code at https://github.com/djordjevulovic/CiscoRouterUptimeNETCONF

Thanks to Djordje for developing this script.

Regards, Benoit
All,

I just created a quick script to check the uptime of a ASR920 via SNMP if you have a fairly long list of devices. It's a simple bash script and snmpwalk version 2c. Figured I would share it with you. Happy Friday

Grab the code from GitHub: https://github.com/esundberg/CiscoRouterUptime
It's a quick and dirty script and my first repo on github. Let me know if there any issues with it.


Output Format in CSV
DeviceName, IP, Uptime in Days, OK/Warning

I set my warning to 800 Days, you can change this in the code


ASR920list.txt
-------------
ASR920-1.SEA1, 192.168.28.1, SuperSecretSNMPKey
ASR920-2.SEA1, 192.168.28.2, SuperSecretSNMPKey
~~~~snip you get the idea~~~~


Output

[user@Linux]$ ./CiscoRouterUptime.sh ASR920list.txt
ASR920-1.SEA1, 192.168.28.1, 827, WARNING
ASR920-2.SEA1, 192.168.28.2, 827, WARNING
ASR920-2.ATL1, 192.168.23.2, 828, WARNING
ASR920-1.ATL1, 192.168.23.1, 813, WARNING
ASR920-1.CHI1, 192.168.21.3, 828, WARNING
ASR920-1.NYC1, 192.168.25.1, 787, OK
ASR920-2.CHI1, 192.168.21.4, 720, OK
ASR920-3.CHI1, 192.168.21.5, 720, OK
ASR920-1.DAL1, 192.168.26.3, 488, OK
ASR920-4.CHI1, 192.168.21.6, 142, OK



________________________________

CONFIDENTIALITY NOTICE: This e-mail transmission, and any documents, files or previous e-mail messages attached to it may contain confidential information that is legally privileged. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of any of the information contained in or attached to this transmission is STRICTLY PROHIBITED. If you have received this transmission in error please notify the sender immediately by replying to this e-mail. You must destroy the original transmission and its attachments without reading or saving in any manner. Thank you.
.