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
- paul_dawson_258Nimbostratus
Hmmm... Tested this on 12 and the same thing. ASM column is not being populated. Very strange.
Could you please run those "manual" tests against the v12 too?
/Patrik
- Luc__184828Nimbostratus
Virtual F5 with ASM running 12.0 and I caught it throwing exceptions. Still completes and compiles just fine. Also running 4.3.4 version. Paste below
2017-03-08 14:31:25 Caching iRules 2017-03-08 14:31:26 Caching Virtual servers Exception calling "get_rule" with "1" argument(s): "Exception caught in LocalLB::urn:iControl:LocalLB/VirtualServer::get_rule() Exception: Common::OperationFailed primary_error_code : 16908336 (0x01020030) secondary_error_code : 0 error_string : 01020036:3: The requested query_reply () was not found." At D:\inetpub\bigipreport\Bigipreport-4.3.4.ps1:1042 char:2 + [array]$virtualserverirulelist = $f5.LocalLBVirtualServer.get_rule($virtualserv ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SoapHeaderException
- Luc__184828Nimbostratus
And also this which would not post due to spam settings:
Exception calling "get_persistence_profile" with "1" argument(s): "Exception caught in LocalLB::urn:iControl:LocalLB/VirtualServer::get_persistence_profile() Exception: Common::OperationFailed primary_error_code : 16908336 (0x01020030) secondary_error_code : 0 error_string : 01020036:3: The requested query_reply () was not found." At D:\inetpub\bigipreport\Bigipreport-4.3.4.ps1:1043 char:2 + [array]$virtualserverpersistencelist = $f5.LocalLBVirtualServer.get_persistence ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SoapHeaderException
Hi Luc
Thanks for reporting it. Does this happen every time?
/Patrik
- Luc__184828Nimbostratus
I've run it twice and it's happened both times, same place. Anything you want me to try?
If I manage to get a few seconds to spare tomorrow I might enable ASM and give it a go myself. Do you also get errors if you disable the ASM checks in the configuration file?
/Patrik
Sorry for the delay guys. It's one of those weeks. Luc, do you get the errors if you disable ASM checks in the configuration file?
/Patrik
4.3.7 Small, but important updates
- Verifying that each load balancer has added virtual servers, pools, monitors, irules, data group lists and nodes to the report. Otherwise an error is thrown and the report is not written.
- Using streamwriter instead of out-file
Hoping to get some time to look into ASM next week.
/Patrik
4.3.8 Released
When extracting and generating configuration only the data local to the current load balancer worked on is used. This is also true to the HTML generation. This means that instead of searching for pools in all load balancers the script would only search a sub set of the data. Makes generation of large report much faster.
Compared to version 4.3.1 our report generation of 1183 Virtual servers went down from 40 minutes to 12 minutes. :)
/Patrik