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
974 Comments
Can't you see anything in the nginx logs on the server? If you run top on the server while doing the requests, is your load going up?
When it fails to log, what does the network tab in ie. chrome say? Status code of the failed requests?
/Patrik
- matthew_wedlow1
Nimbostratus
Nginx logs look fine. I see the connections coming in and no errors or anything that stands out. There is no overwhelming load on the server either. What I see in developer tools is that it is taking forever to read the json files. (5 minutes sometimes for certificates.json and pools.json)
I cached all the image files and tweaked my conf file and the page will load after about 30 seconds with the following volume.
loaded: loadbalancers:30, virtualservers:3098, pools:3717, iRules:887, certificates:2385, datagroups:258, asmPolicies:2.
For now I think this is acceptable because at least the page is loading everytime. Again I am pretty sure everything is fine with the report and its files. Its my nginx settings that could be tweaked better. Thanks for the help Patrik/Tim
- matthew_wedlow1
Nimbostratus
How could one get the source address translation settings for each Virtual Server to display in the CSV (or even in the html table)? I have tried editing the "generateCSV/customizeCSV" functions by adding the "xlate" variable but no success.
- TimRiker
Cirrocumulus
There is a "SNAT" column in the Virtual Server table in v5.3.0 that you can filter on. I don't think it's exported in the report. It looks like in my beta, All the SNAT values are set to Unknown. Please try v5.3.0
- esloan
Nimbostratus
Incase you are concerned about running the 5.3.0 beta version of the report, I'm currently running it in our production environment with no issues.
- matthew_wedlow1
Nimbostratus
I am running 5.2.9 and I also see the SNAT settings in each Virtual Server table. However I was hoping to have it available via export so I can easily sort through them.
- TimRiker
Cirrocumulus
5.3.0 added the SNAT column to the main table, but NOT to the csv export. I recently fixed a bug that caused the SNAT pools to not display correctly. I think that was also in 5.3.0
my current unreleased beta has SNAT in the csv export, it exports whatever columns and filters are currently displayed. It's a large change from 5.3.0 as it uses REST calls instead of SOAP, it runs multiple F5 queries in parallel as the REST calls are about half the speed of the SOAP calls on the F5. It requires PowerShell 6.x and will run on windows and non-windows hosts. It's currently only available directly from github.
Note: json/virtualservers.json contains sourcexlatetype and sourcexlatepool. Can you use the json files directly?
- matthew_wedlow1
Nimbostratus
That sounds great Tim. I'll wait for the newer version instead of editing it myself in that case. I had no idea that REST calls were that much slower.
And yes I have been able to parse the json files directly to get what I need.
- danielpenna
Cirrus
Hey Patrick, still loving your BigIP report but have hit an interesting scenario in 5.1.9 ( yes I need to upgrade! ).
We are currently running in a state where two of the normal primary F5s that the report point to are in a offline state due to a prelonged network migration. We have a single ALL report which we setup with device groups in the xml config between Prod/NonProd and run individual F5 reports ( with some basic HTML in root of the webserver to link off to the reports ).
In the current state with some Offline F5s, the individual reports still run fine, but in the ALL report with device groups I get the below. I assume this is normal behaviour as device groups would be use for an active/standby cluster and I am just using it wrong ? Is there anyway to force it to index in an offline state within device groups ?
2020-01-29 07:10:09 VERBOSE Fetching information about the device
2020-01-29 07:10:09 INFO This load balancer is not active, and won't be indexed
- TimRiker
Cirrocumulus
In 5.1.4 I added a ErrorReportAnyway option which causes the report to continue, (overwriting the previous report!) even if there are errors. You might set that option if you have not already.
The not-active message is normal. Only the active member of a pair is indexed so that the data is not duplicated.
There is not currently a method to force indexing of an standby or forced offline node.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)