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
- karthik_F5_3283Nimbostratus
I am new to ASM , Is there any report for ASM ( for illegal requests)
Not at the moment. If there was how would you have displayed it in the report?
Always open to suggestions and ideas! :)
/Patrik
- dragonflymrCirrostratus
Hi,
I am really impressed by this tool. Wonder if there is a way (not requiring being programming guru) to adjust type of info retrieved from BIG-IP and displayed in the report?
For example I would like to be able to have info about Enabled on for VS.
Another very useful function (at least in my opinion) would be easy to manage wizard allowing to list different object usage - like show all VS using given HTTP profile, or all pools given node is used etc. Partially it could be done using search - at least this is my first impression but it seems that not all such summaries can be easily created.
Anyway really great job!!
Piotr
Hi Piotr
Thank you for the feedback! Do you mean that you'd like to add a column for the state of each VS?
About the Wizard idea - It's a great one, but would take very long to accomplish. I've been considering adding some sort of query input field where you can filter the data with a predefined filter syntax. However the challenge here would be to visualize it.
I will add VS state to the feature request list. The other things would need a lot of time and thinking before I do it.
/Patrik
If you want to query the data from the report I also wrote an article about it here:
https://loadbalancing.se/2016/10/07/synergy-effect-of-running-bigipreport/
I use this frequently to find objects.
/Patrik
Turns out that the VIP status column was already there. :)
/Patrik
- dragonflymrCirrostratus
Hi,
I meant more generic idea - easily being able to choose which info (configuration parameters) about objects (like VIP, VS, Pool etc.) are retrieved from BIG-IP and then displayed as column in report.
Enabled on was about VLANs, not state of the VS :-)
I will read article. I just started to play around so probably some functionalities are already there I am just not aware about it.
BTW, I am not a programmer at all so improving/changing project like that is beyond my reach. So question to you - do you know about any framework that could be used to visualize relations between objects - like display schemat where there is VS object, related pool/s and pool members then VLANs used and interfaces, something that as well allows to drill down?
Piotr
- dragonflymrCirrostratus
Would be nice if PS code would use separate bigipreportconfig.xml per version, something like that:
If Bigipreport-4.5.0.ps1 is launched it's using bigipreportconfig-4.5.0.xml If Bigipreport-4.5.5.ps1 is launched it's using bigipreportconfig-4.5.5.xml
Or maybe, if it's easier Bigipreport-X.X.X.ps1 could be executed with argument specifying name and location of bigipreportconfig.xml.
I don't know if the reason I got below error was that I first generated report (using default.html) using Bigipreport-4.5.0.ps1 and then Bigipreport-4.5.5.ps1 (other.html):
2017-08-03 12:53:10 Pre execution checks was successful Add-Type : Cannot add type. The type name 'VirtualServer' already exists. At C:\scripts\bigipreport-4.5.5.ps1:513 char:1 + Add-Type @' + ~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (VirtualServer:String) [Add-Type], Exception + FullyQualifiedErrorId : TYPE_ALREADY_EXISTS,Microsoft.PowerShell.Commands.AddTypeCommand
or it's just because 4.5.5 is beta?
Other nice thing to have would be possibility to check given VS, select another device and execute copy to create exactly the same config on another BIG-IP - don't know if easy or at all possible with data that is stored in report?
Piotr
I agree with you, that could be useful in some cases. Reason for the configuration to be the same right now is to make it easy for people to update the report. Most changes does not require a configuration file upgrade. If they do I make sure to put it here. 🙂
2017-08-03 12:53:10 Pre execution checks was successful Add-Type : Cannot add type. The type name 'VirtualServer' already exists. At C:\scripts\bigipreport-4.5.5.ps1:513 char:1 + Add-Type @' + ~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (VirtualServer:String) [Add-Type], Exception + FullyQualifiedErrorId : TYPE_ALREADY_EXISTS,Microsoft.PowerShell.Commands.AddTypeCommand
This probably means that you are executing the script by pasting it in the same window, or through Powershell ISE. Save it as a ps1 file instead and run it.
Other nice thing to have would be possibility to check given VS, select another device and execute copy to create exactly the same config on another BIG-IP - don't know if easy or at all possible with data that is stored in report?
The script is only meant to be read-only. For changes it'd have to use a server side scripting language and then it'd be security concerns to worry about. Not ready to go down that road. Yet. 🙂
New version:
Added which vlans virtual servers is listening to. This would let people filter through the data to get which virtual servers is listening to a specific VLAN by using ie. powershell.
Not showing the information in Bigipreport yet.
No need to update the configuration file.
/Patrik