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
- Amanpreet_SinghCirrostratusHi Patrik, Can we run this report on LB Configuration file. That is, if I import the configuration file to it or specify its path, will I be able to see the similar report ? The Idea is to prevent the script to log on into the production box every-time we run the script.
- Sorry, the script is based around the iControl api. To do what you request I'd have to make a whole new script. :) /Patrik
- Thanks Mike! :)
- mike_89584NimbostratusHi Patrik I am successfully using your monitor which is superb. I am a little confused however, in as much as there are a bunch of nodes which are disabled by monitor (an http monitor) and instead of being shown as down, they are appearing in your monitor as "unknown" (in red) - I have other nodes using similar monitors which act correctly - the only thing I can think of is that the pools to which the naughty monitors belong do not have an associated VS - is it likely that this would cause this behaviour? Thanks!! Mike
- Hi Mike! Thank you for keeping reporting bugs! I think that the reason you get "Unknown" is that my status translation function is lacking a case. Will add that to my current to-do list! Pools that do not have an associated VS should not appear at all in the current version. I'm working on a new version now though which will have that and some other features. /Patrik
- danielpennaCirrusSmall problem with the way we deploy the script and the json folder ( where monitors.json and pools.json are created and exist ). Because we have a large fleet of F5's we deploy a copy of each script per F5 to an individual folder each ( /F5-Prod and /F5-NonProd for example ) and have an index.html in there. With 4.0.3, it creates the objects successfully under /F5-Prod/json, but the site loads and references the root to find the files ( /json instead of /F5-Prod/json ) which means it doesn't load the site. This is not a complaint, just digging through the powershell now to see if I can resolve it. Just letting you know :). Edit: Found the / reference in bigipreport.js file, now how to figure out how to pass the current folder value into the script. Edit 2: To hard to modify JS, found reference in html input at the end of the PS script so have uniquely modified the html to point to modified bigipreport.js which has specific folder names. Manual hack but it should work.
- DebenB_254182NimbostratusHi danielpenna , Same issue with me .. Any idea how to get the site working ... Site never loads
- danielpennaCirrusDebenB, did some basic configuration hacking, Ill try and explain. 1. Modify the powershell for each F5 script from "language="javascript" src="/js/bigipreport.js" to "language="javascript" src="/F5directory/js/bigipreport.js" 2. Modify bigreport.js in each F5 folder to: $.when( // Get pools $.getJSON("/F5directory/json/pools.json", function(result){ pools = result; }), //Get the monitor data $.getJSON("/F5directory/json/monitors.json", function(result){ monitors = result; })
- DebenB_254182NimbostratusThanks danielpenna .. I Changed the F5 directory after which site loads but the search option's are not working.
- DebenB_254182NimbostratusHi Patrik; I Have problem loading the site.. Script works fine but when i host in IIS its becomes a flat file and no search options and working ... all outputs in one file and JS not working correctly .. Please suggest.