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
- EmadCirrostratus
That will definitely server the purpose in case of device group. :)
- dragonflymrCirrostratus
Your command for selecting unique values for parameter works like a charm. Thanks a lot.
Piotr
Thank you Emad and Piotr for your input, it's much appreciated! I will look into it when time permits.
/Patrik
Piotr, when you get that message (N/A in versions prior to 11.3), are you running that on TMOS 12.1?
I can't reproduce the issue.
If you replace this section:
if([int]$MajorVersion -gt 11 -or ([int]$MajorVersion -eq 11 -and [int]$Minorversion -gt 3)){ $objTempVirtualServer.sourcexlatetype = [string]$virtualserversourceaddresstranlationtypelist[$i] $objTempVirtualServer.sourcexlatepool = [string]$virtualserversourceaddresssnatpool[$i] } else { $objTempVirtualServer.sourcexlatetype = "OLDVERSION" $objTempVirtualServer.sourcexlatepool = "OLDVERSION" }
With this:
if([int]$MajorVersion -gt 11 -or ([int]$MajorVersion -eq 11 -and [int]$Minorversion -gt 3)){ $objTempVirtualServer.sourcexlatetype = [string]$virtualserversourceaddresstranlationtypelist[$i] $objTempVirtualServer.sourcexlatepool = [string]$virtualserversourceaddresssnatpool[$i] } else { Write-Host -ForegroundColor "Major: $MajorVersion, Minor: $Minorversion" $objTempVirtualServer.sourcexlatetype = "OLDVERSION" $objTempVirtualServer.sourcexlatepool = "OLDVERSION" }
What's the output you get for the major and minor versions?
/Patrik
- Piotr_Lewandow1Nimbostratus
I am connecting to VE running 12.1.1.1.0.196. This is Active Boot location. However it's on HD1.3. I have as well HD1.1 with 11.2 and HD1.2 with 13.0.0.
When script is run it is returning: $MajorVersion: 11 $MinorVersion: 2
So it looks like it's getting version from first boot location (HD1.1) even if it's not active boot location.
Piotr
Version 4.6.1
- Virtual server status icons
- Bug fix for SNAT pool extraction
/Patrik
Version 4.6.2
Fixing a bug with the version extraction. If someone has had issues getting the ASM profiles to show in the report this might fix just that.
/Patrik
- Piotr_Lewandow1Nimbostratus
Hi Patric,
Great release, version extraction is working without issue and you added as well traffic group extraction. Superb!
I wonder if there is a way to improve search engine. Right now there is now way I can figure out (except of course doing search directly in json) to for example find all Offline (Disabled) VSs. I guess both Search and Filter is allowing to find only text that is actually displayed on the page - Am I right?
I don't know how complicated generic code would be for GUI to implement something like that:
Additional column in front used as Group on Parameter can be selected for this column Then we have plus in front of unique parameter value, when clicked we can see all VSs having this value set
Examples of grouping:
VSs using same IP VSs belonging to given traffic group VSs using same pool and so on
Hope it makes sense and I am not going completely wild with it :-)
Piotr
- Piotr_Lewandow1Nimbostratus
Just one small addition to extracted data for pool - if possible - it would be great to have info about LB algorithm used
Piotr
Version 4.6.3
- LB method in the pool details
- Allow NAT in the pool details
- Allow SNAT in the pool details
/Patrik