epacke / bigipreport Goto Github PK
View Code? Open in Web Editor NEWOverview of your loadbalancer configuration
Home Page: https://loadbalancing.se
Overview of your loadbalancer configuration
Home Page: https://loadbalancing.se
It would be nice to have a limit to how many pool requests can be processed. If the user has more than x pools open on screen, stop polling and show a "paused" header at the top. In our configuration, we have thousands of pools on many different F5s. It's easy to set your preferences to "expand all pool members" and then select "All" for visible rows. This then sends thousands of pool status requests.
I realize that a preference trusts the user to not do bad things, and anyone could still run thousands of pool status requests themselves. I'm just trying to encourage good behaviour not actually enforce it.
There is already a setting for simultaneous pool requests "MaxQueue" and a time "RefreshRate" it would be nice to have a "MaxReqests" or similar.
Ones that choose pools should be able to connect to a virtual server.
Is there a way to include all iRules on the iRule screen? Something like this?
<iRules>
<iRule>
<Loadbalancer>*</Loadbalancer>
<iRuleName>*</iRuleName>
</iRule>
</iRules>
To avoid issues with old cached content.
Maybe also warn if certificates are about to expire, or are unused?
To increase performance on big installations
It would be nice if in the pool member details view in addition to the HTTP link, or perhaps instead of the HTTP link, there was a link that opened in a new window. (target="_blank")
It would be nice to have HTTP, CURL, and Netcat links populated on TTYPE_TYPE_HALF_OPEN checks where the target is on 80, 443, and perhaps other common ones like 8080, 8000, 8443. 443 and 8443 would assume SSL unless that can be computed by the pool usage elsewhere.
Could the search box default to regex? Perhaps as a preference setting?
Right now it says that the report generation failed when the passive load balancer isn't responding.
If $PoolNamePort is the same as $MemberIPPort it would be nice to just show one instead of both with a dash between them.
Most of our pool members are just the IPs as the F5 does not allow easy renaming of names when DNS changes happen.
I'm trying to find a way to identify our layer 4 vips. These show as "Performance (Layer 4)" on the VirtualServer list in the F5 UI. I have not found an iControl report that shows the version. We'd like to be able to limit the report view to layer 4 for reporting purposes, but I've not found a way to do that yet.
Key = loadbalancer + virtualserver name
Would speed up the generation a lot.
For example:
Exception when running the script against a v13 device with the following provisioned modules:
Index operation failed; the array index evaluated to null.
At C:\scripts\bigipreport-4.6.3-bigip13-1.ps1:801 char:3
+ $moduleDescription = $ModuleToDescription[$moduleShortName]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArrayIndex
Index operation failed; the array index evaluated to null.
At C:\scripts\bigipreport-4.6.3-bigip13-1.ps1:801 char:3
+ $moduleDescription = $ModuleToDescription[$moduleShortName]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArrayIndex
Index operation failed; the array index evaluated to null.
At C:\scripts\bigipreport-4.6.3-bigip13-1.ps1:801 char:3
+ $moduleDescription = $ModuleToDescription[$moduleShortName]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArrayIndex
Window sizing seems to work ok under base PowerShell or under VS Code (highly recommended) environments. When running under PowerShell ISA I get this output:
PS C:\Users\labadmin\BigIpReport> .\Bigipreport.ps1 .\slb-bbz.xml
Successfully loaded the config file
2018-04-11 12:13:17 Configuring the console window
The property 'height' cannot be found on this object. Verify that the property
exists and can be set.
At C:\Users\labadmin\BigIpReport\Bigipreport.ps1:401 char:1
+ $PSWindowSize.height = 50
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound
The property 'width' cannot be found on this object. Verify that the property
exists and can be set.
At C:\Users\labadmin\BigIpReport\Bigipreport.ps1:402 char:23
+ ... ize.width = $PSWindowSize.width = [math]::floor([decimal]$PSWindow.Ma ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound
Exception setting "windowsize": "Cannot convert null to type
"System.Management.Automation.Host.Size"."
At C:\Users\labadmin\BigIpReport\Bigipreport.ps1:403 char:1
+ $PSWindow.windowsize = $PSWindowSize
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], SetValueInvocationExceptio
n
+ FullyQualifiedErrorId : ExceptionWhenSetting
2018-04-11 12:13:18 Pre-execution checks
Right now the script can't really handle more than one volume. Need to fix.
js/bigipreport.js:154
sets the default to 15, but the dropdown on line 159 does not include a 15.
would be nice if they matched up.
This needs REST
asking for a non existant .xml file gives an error that it can't find bigipreportconfig.xml instead of bigipreportconfig.xml
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.