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
- TimRiker
Cirrocumulus
Apologies to Patrik for all the changes... :) Another release for testing. v5.1.5
- new data group table
- new pool table w/ orphans (orphans removed from virtual server table)
- delay loading tables until used (loading speed improvement)
- deferRender (loading speed improvement)
- SSL server profiles tracked and added to SSL column as Client/Server ie: Yes/No
- column filters and filter reset button for all tables
- simplify member display (don't show ip if name is just ip)
- pool / member columns sort by count when clicked
- some stats in log tab
Types changed, so start in a new Powershell window.
https://github.com/timriker/BigIPReport/raw/promoteconsole/Releases/BigIPReport-5.1.5.zip
- jba3126
Cirrostratus
Tim/Patrik, I'm testing 5.1.5 and so far things are back working again. Nice work! The one piece that has not consistently worked since 5.0.6 is the export to CSV feature. It does not export all information displayed, example ASM policy and some fields, example persistence profiles are missing information. I use this feature to produce reports internally; however I have to manually pull the missing information in.
Feature Requests: 1. Add Certs to export/CSV Feature. 2. Show associated SSL profile in the Cert section. 3. Add ability to export Device Overview information for maintenance renewals for support, etc. 4. Create a way to not have to manually recreate the bigipreport.xml file with each update :)
Nice work!
/jeff
- TimRiker
Cirrocumulus
Jeff Allen
I copy the xml file to another new xml name, ie:
and then I add all device groups into that one xml. New updates replace the default xml, but not theall.xml
. On updates I can compare the two and migrate over changes. Run the script passing the config on the command line:all.xmlPS C:\Whereever\> ./bigipreport-5.1.5.ps1 all.xmlI've not tested the csv output lately. It looks like it only exports the current visible set, so you should show ALL rows first. I'm curious how people use this. The total virtual servers included in the report are in
already. Does that file fit your needs?./json/virtualservers.jsonAre you running a search before doing the export?
Device overview is also in a json file:
./json/loadbalancers.json - jba3126
Cirrostratus
Tim, I do a somewhat similar process with my XML files. I typically keep a static copy that contains my Prod (bigipreportconfig.prod.xml) & a Dev respectively so they don't get overwritten. I was just think of a way update only what changes, but I'm fine with doing the diff and add back what is needed. I've just been doing more lately with the various versions than I have when I first set this up. I do change the View to ALL and typically don't have a particular search going. The .json/virtualservers.json does contain what I'm looking for, but for some reason this information does not get exported to CSV. I use the date that does get exported to merge in Excel the data that doesn't. It is a many hour ordeal which is why I ask since the data is there in the view (Example ASM) and Server SSL Profiles. I'll do some playing around with Excel to see if I can import this file.
/jeff
- TimRiker
Cirrocumulus
Announcing unofficial release 5.1.6
- orphan pools no longer in virtual server table (Use the pools table)
- process irules, pools, and datagroups to get pool references (fewer orphans)
- improve datagroup links in irule display
- add pool links in irule display
- show irule associated pools and datagroups in iRule table
- adcLinks (to F5 device) open in new window/tab
- some stats at the end of the build
https://github.com/timriker/BigIPReport/raw/promoteconsole/Releases/BigIPReport-5.1.6.zip
Check the log tab to get stats. Here's one from mine:
loaded: loadbalancers:26, virtualservers:7834, pools:9326, iRules:6718, certificates:400, datagroups:854, asmPolicies:332.
- Mike_Perez_6161
Nimbostratus
Hello Tim,
I have installed version 5.1.6 and I now see labels for each of the configs. However I can only click on Devices / Certificates / Logs. When I click on the others nothing happens.
- TimRiker
Cirrocumulus
Mike Perez I'm not understanding what you're seeing. If you're seeing device overview, certificates, and logs, you must have run the build successfully. Did you save the output? What files are in your
directory? You should see something like this:json/5/22/2018 10:56 AM 98464 asmpolicies.json 5/22/2018 10:56 AM 374038 certificates.json 5/15/2018 4:42 PM 2268247 datagrouplists.json 5/22/2018 10:56 AM 2369348 datagroups.json 4/23/2018 10:56 AM 344 defaultpreferences.json 5/22/2018 10:56 AM 2655 devicegroups.json 5/22/2018 10:56 AM 8743498 irules.json 4/23/2018 10:56 AM 15823 knowndevices.json 5/22/2018 10:56 AM 22485 loadbalancers.json 5/22/2018 10:56 AM 6 loggederrors.json 5/22/2018 10:56 AM 2494818 monitors.json 5/22/2018 10:56 AM 6 nat.json 5/22/2018 10:56 AM 18836766 pools.json 5/22/2018 10:56 AM 10123343 virtualservers.jsonMy files are probably significantly larger than yours, but the sizes should scale.
anddefaultpreferences.json
should be the same size as mine as they come in the zip. What browser and OS are you using? I'm testing with Chrome on Linux and Windows as well as with Edge and Firefox on Windows 10.knowndevices.jsonAre you getting any failure messages in the build log?
Are you getting any failure messages in your browser console?
I made a minor release for 5.1.7 that adds a max pools polling limit and moves the update available button to the upper right.
- Mike_Perez_6161
Nimbostratus
No failure messages at all.
- TimRiker
Cirrocumulus
It looks like none of the table is selected. Can you click on one?
If you open the dev console (ctrl-alt-i on chrome) do you see errors there?
What's in your json/ directory?
Can you post your log output from running the script? You may want to remove the hostnames...
Hit me on skype if you like. user TimRiker
- Mike_Perez_6161
Nimbostratus
I can only click on Devices / Certificates / Logs. When I click on the others nothing happens.
Ahh yes a ton of these Failed to load resource: net::ERR_NAME_NOT_RESOLVED and one Uncaught Ref...
Failed to load resource: net::ERR_NAME_NOT_RESOLVED /test/?_=1527058436747:1
(index):45 Uncaught ReferenceError: showVirtualServers is not defined at HTMLDivElement.onclick ((index):45)
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)