BIGdiff
Problem this snippet solves:
This is a bash script to help when doing changes to F5 devices.
The script will collect the status of the objects before and after the change, compare them and produce an HTML file with the results.
Examples of objects are LTM virtual servers and GTM wide IPs.
The script will also create the files you will need in case things go wrong (UCS/QKView/Logs).
The most common scenario to use the script will be an upgrade.
You run the script before the upgrade, upgrade the device, and run the script again.
The HTML file will give you the results, and it will indicate if something went down after the upgrade.
You can also use the script when copying the configuration from one device to another (configuration migration).
Also, consolidation, when copying the configuration from multiple devices to a single device.
Lastly, you can use the script in any scenario where you think that could be an impact on the F5 device.
Let’s assume you are doing major routing changes to your network, and there is a possibility things go down on the F5 devices.
You can run the script before those changes, perform the changes, and run the script again.
The HTML file will give you the results, and it will indicate if something changed after you performed the change.
Important Note: If you have a high availability (HA) pair or a device group with more than 2 devices, each device performs monitoring independently. This means you need to run the script on each device.
How to use this snippet:
See the instructions on GitHub:
- Torsten_SorgerNimbostratus
The script will fail if no SNMP communities exist on the BigIP (exit code 5 - Failure to run snmpwalk).
Never considered using SNMP for this. Significantly faster than TMSH commands! Thanks!
Awesome code Leo. Thanks & Appreciate for sharing the code to the community! !!
- youssef_100679Nimbostratus
Thanks Leo for sharing it will be useful for my next migrations
Hi Leo,
Was testing this on couple of servers, noticed when there is no SNMP community strings configured, the error that should be captured is e_no_snmp_community(4), but the error getting capture is e_running_snmpwalk(5).
Because irrespective of get_snmp_community() success or not, run_snmpwalk() is getting always triggered. Then "Failure to run snmpwalk" error is coming up.
Would you want to update it to get "There is no SNMP community setup" when there's no SNMP community configured and stop further processing.
- Leonardo_SouzaCirrocumulus
Sorry for the delay, but I have been in a well deserved holidays.
@Torsten Sorger, thanks for the information, I have to fix that.
@jaikumar_f5, thanks for the extra information, I can easily fix that.
I will update this page as well, explaining the requirements for snmpwalk to work.
- Leonardo_SouzaCirrocumulus
Information added about the SNMP requirements, and bug fixed.
Please use GitHub to report problems, as that makes easy to track than in code share.
See the issue I opened about that, as an example:
https://github.com/leonardobdes/BIGdiff/issues/1
- Chause1Cirrus
Where can one find the script? Please post link
- Leonardo_SouzaCirrocumulus
The link is on the page. However, you can't see if you don't login, and maybe that was the issue.
https://github.com/leonardobdes/BIGdiff
- Jeff_GirouxCirrus
This is awesome!