Forum Discussion
F5-SDK querying specific stats with the Stats module
Hello,
I am running a python script which returns the Name and the Availability State of virtual servers, pools and their respective pool members.
After adding the nested loop part for the pool members, the script usually takes around 40 seconds to run and causes around 2x-3x CPU usage increase on an LTM that has ~ 55 virtual servers and ~200 nodes and we cannot risk running this on production LTMs, where the node count is 5x higher.
My guess would be that this happens because of me pulling all of the virtual server/pool/member stats via the Stats module load() method when I technically need only the status.availabilityState?
The code:
from f5.bigip import ManagementRoot
from f5.utils.responses.handlers import Stats
#Authentication
mgmt = ManagementRoot("***", "***", "***")
#Print tmos version
file = open('Availability.txt', 'w')
TMOS = "TMOS version - " + mgmt.tmos_version
print(TMOS)
file.write(TMOS + '\n')
#Get a collection of all Virtual Servers, pools
all_vips = mgmt.tm.ltm.virtuals.get_collection()
all_pools = mgmt.tm.ltm.pools.get_collection()
#Loop over all virtual servers and fetch name and availability
for vip in all_vips:
vip_stats = Stats(vip.stats.load())
State = vip_stats.stat.status_availabilityState['description']
file.write(vip.name + " - " + State + '\n')
#Loop over all pools
for pool in all_pools:
pool_stats = Stats(pool.stats.load())
State = pool_stats.stat.status_availabilityState['description']
file.write(pool.name + " - " + State + '\n')
#Loop over all pool members
for member in pool.members_s.get_collection():
member_stats = Stats(member.stats.load())
State = member_stats.stat.status_availabilityState['description']
file.write(member.name + " - " + State + '\n')
Is there a better way to do this? In my case, would it be possible to query just the Name and the Availability from the Stats so the LTM doesn't have to spit out all of the object data?
Or any other suggestions on how to accomplish this with a totally different logic or method are also welcome.
Thank you!
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com