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
- Networking_ntt
Nimbostratus
Hi guys,
I'm having an issue when running the script. As soon as I add a member to a created Pool I'm getting this exception:
2020-04-08 14:20:11 Caching Pools from f5ve1.nlab.local
Exception calling "get_all_member_statistics" with "1" argument(s): "There is an error in XML document (343, 73)."
At C:\Users\nttrmadm\Documents\F5_BigIP_Report\bigipreport-5.3.1.ps1:1226 char:5
+ [array]$PoolMemberStatistics = $F5.LocalLBPool.get_all_member_sta ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : InvalidOperationException
I'm running the latest version of the script. Has anyone encountered this issue?
Thanks
Hi buddy
Sorry for the late reply. I've seen something similar before but I can't recall what the issue was.
In these cases I would have to debug pool by pool. Which version of TMOS are you running? Any funky stuff like iApps?
Kind regards,
Patrik
- Mathieu_Cerfon1
Altostratus
Hi guys,
Strange behavior when trying to upgrade from 5.2.0 to 5.3.1. I got this error when running the script :
"Exception setting "OutputEncoding": "The handle is invalid". Then it crashes.
I updated the conf file, I also replaced all the files in the web server root folder...
I used to get this error in 5.2.0 but it never stopped the script. Now the version 5.2.0 isn't running anymore.
I don't get it !
Any help ?
EDIT : it seems that the script isn't crashing. just the output stops after the error (I've all the logs in the logfile).
Now when browsing I have ("The following json files did not load:
Failed object:json/preferences.json
Status code: 404
Reason: Not Found")
The report is empty.
I checked all the json files in the root folder, it seems that the report gathered correctly all the infos on the F5. Unfortunatly no preferences.json file ! This is obsviously why the web server can't load it.
FINAL NOTE : I successfully repared the server by creating preferences.json with an empty "[ ]" content.
It now solved ! Hope this will help somebody
Br,
M.C.
- JackRodriguez
Nimbostratus
Patrick,
First let me say that we love your program. Couldn't manage our environment of over 50 LTM, GTM,APM, ASMs without it. I was curious if everyone else using your program is seeing their LTM logs file up with soap messages every time the program pulls the data from the systems? This behavior changed from 12.x to 13.x and I do have a work around to filter the syslog settings but that is hard to keep up with on all of our systems. I would have assumed that F5 would have fixed this by now in 15.x but they have not. Curious if you are using soap or rest to make these calls to the systems and if soap, any roadmap to change to rest? Thanks. Jack R.
First, I just want highlight all the work that Tim has put in. He's really done a lot for the project. 🙂
Thanks for reporting!
I actually had a ticket with F5 regarding this too. The engineer said that TMOS sends out debug level logs by design and that if we need to fix it we need to do so in the syslogng process. I would go for containerized logstash instances instead in order to centralize the filtering a bit more.
- TimRiker
Cirrocumulus
The new version will create a preferences.json file. If you have not run the build, then there will be no preferences.json from the old build.
the type issue is when you try to run the new build in the same powershell session as the old build. The script creates and uses data types, and those types vary in different releases. You need to exit and re-open a powershell session, or create a child session, etc. Something to remove the old types from memory.
- TimRiker
Cirrocumulus
The current beta uses REST for datagroups and ASM. Everything else is SOAP.
My current branch on github uses REST exclusively. All SOAP calls have been removed. The snapin is no longer required, and the script will run on powershell on non-windows platforms if desired. It requires powershell 6+ which is NOT the default on Windows 10 (yet?).
F5 BIG-IP REST is unstable in my experience. Logins time out VERY frequently so my REST report is very often missing data. I'm waiting on F5 to fix what appears to be a bug before pushing my branch as the public beta. SSH connections also time out on 14.x.x+ BIG-IP releases. In general, we're still on 13.x.x due to the 14.x and 15.x login issues.
v14 has been a real buggy thingy with ldap auth. They changed the library for ldap integration when they changed to a newer version of Centos and this gave us LDAP issues with 14 and 15. They've been "solved" by these settings though, maybe they work for you too?
tmsh modify auth ldap system-auth idle-timeout 299 tmsh modify sys db systemauth.referrals value noIn our case there were some issue with tcp timeouts in the tmm process that was not communicated to management and this caused the nslcd daemon to get stale connections to the AD servers.
I'll package Tims beta and upload it. I've meant to try it myself for a long time but my client keeps throwing long and intensive curve balls at me so there's been literally no energy lately. Maybe someone else wants to give it a go?
/Patrik
- Lonce
Nimbostratus
Great script been using it for a while, until we upgraded to V15.😒
Any support for V15?
I get the following error when testing.
Exception calling "get_all_member_statistics" with "1" argument(s): "There is an error in XML document (363, 73)."
At C:\BigIpReport\bigipreport-5.3.1\bigipreport-5.3.1.ps1:1226 char:5
+ [array]$PoolMemberStatistics = $F5.LocalLBPool.get_all_member_sta ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : InvalidOperationException
Hi Lonce
Thanks. Have you tried the newly published Beta that Time wrote?
Look at the posts download links (5.4.0) above.
Kind regards,
Patrik
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)