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
- Luc__184828Nimbostratus
Welcome! Thought of something - would it be useful to display the version of the script in the web interface so it's easy to know what version you are on? Somewhere down by the 'Report generated on x with BigIPReport Version x' kind of thing. Also I updated to 4.3.3 and noticed that it's now picking up more VIPs than it was before for whatever reason :) So yay. And it works.
Also do you know if there's an easy way to change the location of the f5 powershell snapin? Or remove it and reinstall it? I mistakenly installed it from a stupid location and now I need to change it :(
Version is a good idea. I'll add that to the feature list. About the additional VIP's. That sounds weird. Should be the same. Have you verified that all of them are legit?
I think I did the same thing as you did with the snap-in. Don't remember how I solved it, but have you unregistered it through Powershell and registred at the new location? The installation ps1 should have two options. One for install and one for uninstall, or something similar.
/Patrik
Some more tests has been made now. The time to generate the report has been cut to half. Would probably be faster except for current VPN throughput issues.
Feedback on the new version appreciated as I don't have an army of QA engineers behind me.
Please note that "All OK" is also helpful.
/Patrik
- Luc__184828Nimbostratus
I'm certainly noticing an improvement in the speed of execution :) All is OK and works great for me. Still looking into the additional VIPs
Thanks Luc!
My VIP count and the size of the HTML was exactly the same (down to he byte) so the additional VIPs should be due to something else.
Are you running any other scripts with the bigip report user? If the user is active somewhere else changing ie. partitions it could affect the output of the script.
/Patrik
Hi Paul
Oh noes, you're my main guinea pig. :)
Which version are you running?
/Patrik
- paul_dawson_258Nimbostratus
Hi Patrik, Some more info although the ASM column is still not being populated - all are showing N/A. I noticed that the ASM variables were not being cached.
Get-Variable | Out-String ASMPolicies {}
I didn't see any of the other ASM variables loaded.
On line 995 I think ShowCompressionProfile should read ShowASMPolicyBlockingMode. I changed this but it still did not work so I commented out the second condition:
and ($ProvisionedModules | Where-Object { $_.loadbalancer -eq $loadbalancername }).ProvisionedModules -Contains "TMOS_MODULE_ASM"){
Now I can see the ASM Policies and they are loaded into cache while the script is running
Get-Variable | Out-String Name Value ---- ----- $ $ASMPolicies ? True ^ $ASMPolicies args {} ASMPolicies {ASMPolicy, ASMPolicy, ASMPolicy, ASMPolicy...}
And the info is there
$ASMPolicies (example) name : /Common/TEMPLATE blockingmode : Transparent language : UNICODE_UTF_8 http_header_length : 8192 cookie_length : 8192 description : loadbalancer : lb10mgt.domain.com
Unfortunately still not showing up in the ASM column though. Hope this helps.
Hi Paul
Thank you for your feedback and cooperation. In v12 it looks like the string as "ASM_" is prepended to the policy name when listing virtual server profiles (for some reason the policy is listed amongst the profiles). Perhaps this is not the case in v11.6.
I'll try to write a debug script for you to run tomorrow if that's OK?
Meanwhile could you please try these things (within the same partition)?
- Create an ASM policy with the name name as an HTTP profile.
- Create an HTTP profile with the name ASM_test and an ASM policy with the name test.
This might help me determine if they share the same "name space" and might make it easier to check if a virtual server has a valid ASM profile.
/Patrik
- Luc__184828Nimbostratus
Interesting development and I'm not sure if this started happening with 4.3.3 or when exactly, but now after I run the script and then try to browse to the URL, it just displays the 'loading' animation and will not proceed. The scroll bar in my window is pretty huge so I'm assuming the data is loading but it won't go past the loading animation. Want me to try an earlier version or what's the best way to troubleshoot? I've also tried on Edge (using Chrome) and same result. Oh and the ps1 executes perfectly, no errors reported at all.
- paul_dawson_258Nimbostratus
Hi Patrik, I'll test it out and let you know. It's worth noting that all our policies are prefixed with the string
asm_