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
4.8.5 - Big update this time
Please note that you must update/re-do the configuration this time as the way that the load balancers are defined has changed from individual IP's to device groups.
- The script now supports real-time member status
- Changing to device groups instead of individual load balancers
- Using dictionaries to generate the report to speed up large installations. Tests shows up to 40% faster!
- Introducing slight delay when updating filters to make searches in larger installations faster
- A lot of Powershell code cleaning and optimizing
- Changing the style of the report to a brighter theme
- Fixing the bug with the chevrons not expanding/collapsing
- Fixed a bug with the CSV export function having issues with VS's haivng multiple pools
- Fixed a bug with the PS script detecting member status endpoints where there are none configured
More to come!
As usual, please let me know if you encounter any bugs!
/Patrik
- CirrusCirrus
Hey Patrik, just updated to the latest version and as always - it's great. Also all of our other departments are excited about your work on this report.
But there would be one question from my side, maybe i just don't see it in the report. But can the report also display the comment field (for example the comment field from the virtual server config) Or is this feature missing?
Because the idea was, when there is any maintenance we need to inform the application owner and therefore i would add the names to the comment field. So that we just need to generate a csv and filter the comments out.
Could this be done, or is it impossible to gather those fields?
Cheers, Christoph
Hi Christoph!
Thank you for your kind words. I think this is a bit of an edge case which would not make sense to most people. But let me see if I can do a workaround for you?
Kind regards, Patrik
- CirrusCirrus
Would be great when you have a workaround for this case. Because I know the description field can be gathered via iControl, but unfortunately I'm not really confirmed with the PowerShell part.
Thanks, Christoph
Version 4.8.6 now also indexes virtual server descriptions. You won't be able to filter by description in the application (might think of some way in the future), but it's visible in the VS details, and it's included when exporting to CSV.
Also, you can use this method to extract Virtual Servers that has a description:
Create new webclient object $WebClient = New-Object System.Net.WebClient Enable integrated authentication $WebClient.UseDefaultCredentials = $true Get the json objects $Virtualservers = ($WebClient.DownloadString("https://linuxworker.j.local/json/virtualservers.json")) | ConvertFrom-Json $VirtualServers | Where-Object { $_.description -ne "" }
More examples are available here:
https://loadbalancing.se/2016/10/07/synergy-effect-of-running-bigipreport/
Hope that helps a bit for now at least.
/Patrik
- CirrusCirrus
Hi Patrik,
the description field is displaying with your new version, many thanks for this great feature. But unfortunately the script is just working when i'm running it with one configured LB. When i add the second node from the HA Cluster to the xml file I'm getting the following error:
Method invocation failed because [iControl.ManagementDeviceGroup] does not contain a method named 'get_failover_status'. At C:\_tools\_f5-report\intern\bigipreport.ps1:1721 char:3 + $FailoverStatus = $F5.ManagementDeviceGroup.get_failover_status() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound
Did i missed any special configuration part?
Thanks, Christoph
Hi Christoph
Np. Which version are the devices running? I need to install that specific version to try to reproduce as I have not seen this error before.
/Patrik
- CirrusCirrus
Both devices are running on 12.1.2 HF2, but i just saw that i also get the error when I just have one IP in the xml config file. But with one IP the report was generated.
I'm running 12.1.3 so the difference can't be that big... I wonder, when was the first time you installed and used the report? Considering if your iControl dll's could be old.
Could you please run this command and let me know the outcome?
Get-PSSnapin -Registered | Where-Object { $_.Description.contains("iControl") }
I have this version:
Name : iControlSnapIn PSVersion : 5.1 Description : iControl Snap-in for F5 Device Management
Please try to upgrade/replace the current one? There's a guide over at on how to install the Snap-In (I had some issues myself a few months ago as the procedure had changed).
/Patrik
- CirrusCirrus
Mhm I'm not sure about the first use from the report, but i think it was also in use before the upgrade on 12.x.x
I just executed the posted command and it really seems that i have a really old version:
Name : iControlSnapIn PSVersion : 2.0 Description : iControl Snap-in for F5 Device Management `
But also i just figured out a workaround for the error. Instead of this config in the xml file for the HA Cluster: ` 10.x.x.x 10.x.x.x ` I'm now using:
` 10.x.x.x 10.x.x.x
But any way I'll use your manual to update the snapin version. I'll report afterwards if the error is fixed 😉
Thanks again for your support