BigIP Report Old
Problem this snippet solves:
This codeshare has been deprecated due to a hosting platform corruption. I have moved code and conversation to a new record (on the same original URL) https://devcentral.f5.com/s/articles/bigip-report
can be Overview
This is a script which will generate a report of the BigIP LTM configuration on all your load balancers making it easy to find information and get a comprehensive overview of virtual servers and pools connected to them.
This information is used to relay information to our NOC and developers to give them insight in where things are located and to be able to plan patching and deploys. I also use it myself as a quick way get information or gather data used as a foundation for RFC's, ie get a list of all external virtual servers without compression profiles.
The script has been running on 13 pairs of load balancers, indexing over 1200 virtual servers for several years now and the report is widely used across the company and by many companies and governments across the world.
It's easy to setup and use and only requires guest permissions on your devices.
Demo/Preview
Please note that it takes time to make these so sometimes they're a bit outdated and they only cover one HA pair. However, they still serve the purpose of showing what you can expect from the report.
Interactive demo
http://loadbalancing.se/bigipreportdemo/
Screen shots
The main report:
The device overview:
Certificate details:
How to use this snippet:
This codeshare has been deprecated due to a hosting platform corruption. I have moved code and conversation to a new record (on the same original URL) https://devcentral.f5.com/s/articles/bigip-report
Installation instructions
BigipReport REST
This is the only branch we're updating since middle of 2020 and it supports 12.x and upwards (maybe even 11.6).
Download: https://loadbalancing.se/downloads/bigipreport-v5.5.4.zip
Documentation, installation instructions and troubleshooting: https://loadbalancing.se/bigipreport-rest/
Docker support
This will be the recommended way of running bigipreport in the near future. It's still undergoing testing but it's looking really good so far.
https://loadbalancing.se/2021/01/05/running-bigipreport-on-docker/
BigipReport (Legacy)
Older version of the report that only runs on Windows and is depending on a Powershell plugin originally written by Joe Pruitt (F5).
BigipReport (Stable):
https://loadbalancing.se/downloads/bigipreport-5.3.1.zip
BigipReport (BETA): https://loadbalancing.se/downloads/bigipreport-5.4.0-beta.zip
iControl Snapin: https://loadbalancing.se/downloads/f5-icontrol.zip
Documentation and installation instructions:
https://loadbalancing.se/bigip-report/
Upgrade instructions
Protect the report using APM and active directory
Written by DevCentral member Shann_P:
https://loadbalancing.se/2018/04/08/protecting-bigip-report-behind-an-apm-by-shannon-poole/
Got issues/problems/feedback?
Still have issues? Drop a comment below. We usually reply quite fast. Any bugs found, issues detected or ideas contributed makes the report better for everyone, so it's always appreciated.
---
Also trying out a Discord channel now. You're welcome to hang out with us there:
Code :
85931,86647,90730
Tested this on version:
13.0
974 Comments
- jba3126
Cirrostratus
FYI, Testing 5.1.0 and so far everything is looking good.
- TimRiker
Cirrocumulus
I've never setup route domains. Can someone post an example NATFile entry and the ip%rd you expect to see? ie: what does an entry in the NATFile look like, and what does the output ip:port cell look like? Why does a machine inside a route domain have a public IP?
- Mike_Perez_6161
Nimbostratus
Patrik may be able to comment more technically. The NATFile portion of the code says if you have a route domain % replace with "Nothing" so it can compare the NAT file to match against.
Natfile contents contain PublicIP=VIP (without route domain)
Example 99.99.99.99=10.99.99.99
Sorry Jeff, I misunderstood that and thought you had found a bug. Yes, script scans iRules for pool decisions. :) It does not support policies or datagroup pool selection yet though.
IP's in a route domain ends with %
Big thanks to Tim for making these additions to the project, the improvements made has really been great. When Tim has finished re-touching this edition I will make a code review, test and create "an official" release. Thank you also to all the testers that provides feedback, you're invaluable!
My own time is limited at the moment due to work and family so please excuse the lack of feature additions on my side. :)
/Patrik
- Mike_Perez_6161
Nimbostratus
Can the background color be removed from the Virtual Server details?
.virtualserverdetailstable tbody>tr:nth-child(even)>td { background-color: 6890B2; border-collapse: collapse; border: 1px solid var(--bordercolor);
Will you be able to separate the ClientSSLprofile and ServerSSLprofile. I have also found use in replacing compressionprofile with HTTP Profile to easily identify Layer4 configs.
- TimRiker
Cirrocumulus
I added NATFile support back in and a new nat.json file. As before, copy resources over again.
https://github.com/timriker/BigIPReport/raw/master/Releases/BigipReport-5.1.1.zip
I also sorted the json data, and did not compress the json files if output is Verbose.
Comments?
- TimRiker
Cirrocumulus
Mike Perez,
change the
tobackground-color
to inherit the even settings from root. I made this change in my fork.var(--alternatetablecolor) - Mike_Perez_6161
Nimbostratus
Tim,
5.1.1 getting this error, did not have an issue before.
The following json files did not load: Failed object:json/asmpolicies.json Status code: 200 Reason: OK
- Mike_Perez_6161
Nimbostratus
appears that json file is not being updated. Not even [null].
- TimRiker
Cirrocumulus
Thanks for the report, Mike!
should contain [] if there are no asm policies. Creating that file should fix your loading. I avoided trying to sort that list as when I sorted it it showed up empty for me. I'll test again and see if I can figure out why it's not getting created for you. I do get a file with [] in it when I run against one of our F5s that does not have ASM enabled.asmpolicies.jsonI removed the force-array code as the NAT table is an object, not an array of objects. Looks like there are cases where that broke something.
Are you running with Verbose output?
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)