コード例 #1
0
 def read_stats_from_device(self, resource):
     stats = Stats(resource.stats.load())
     return stats.stat
コード例 #2
0
    action = ""  # default value is none.
#
fail = mgmt.tm.sys.failover.load()
failOverStat = fail.apiRawValues['apiAnonymous'].rstrip()
#
fields = failOverStat.strip().split()
aabbcc = fields[1]
print(aabbcc)
#
pool_list = []
#pool_list.append(nodeMember + ":" + nodeMemberPort)
#
for poolna in pools:
    #print(poolna.name)
    my_pool = mgmt.tm.ltm.pools.pool.load(partition='Common', name=poolna.name)
    pool_stats = Stats(my_pool.stats.load())
    #print(pool_stats.stat.status_availabilityState)
    currm = pool_stats.stat.availableMemberCnt['value']
    if currm <= 1:
        print(currm)
        continue
    else:
        member_nodes = [
            member.fullPath.split(':')[0]
            for member in poolna.members_s.get_collection()
        ]
        member_nodes_name = [
            member.name for member in poolna.members_s.get_collection()
        ]
        #
        member_address = [
コード例 #3
0
 #pmaddrsp1 = [i.split('|')[1] for i in pmaddrsp]
 if aabbcc in ["active"]:
     for i in pmaddrsp:
         try:
             pamaddrsp1 = i.split('|')[1]
             pamaddrsp0 = i.split('|')[0]
             if pamaddrsp1 in member_list:
                 print("poolName :{} poomMember :{} poolMemberaddr: {}".
                       format(pmname, pamaddrsp0, pamaddrsp1))
                 pooln = mgmt.tm.ltm.pools.pool.load(name=pmname,
                                                     partition='Common')
                 #pm1 = pooln.members_s.members.load(partition='Common', name=pamaddrsp0)
                 member = pooln.members_s.members.load(
                     partition='Common', name=pamaddrsp0)
                 #my_pool = mgmt.tm.ltm.pools.pool.load(partition='Common', name=pmname)
                 pool_stats = Stats(pooln.stats.load())
                 #print(pool_stats.stat.status_availabilityState)
                 currm = pool_stats.stat.availableMemberCnt['value']
                 if action == 'enabled':
                     # enables member
                     logger.info(
                         'enables member %s, previous state: %s' %
                         (member.name, member.state))
                     member.state = 'user-up'
                     member.session = 'user-enabled'
                 elif action == 'checked':
                     # Checl online member
                     stt = member.session
                     #logger.info('checked online member %s, previous state: %s' %
                     #                        (member.name, member.state))
                     print(
コード例 #4
0
ファイル: fpy.py プロジェクト: gridl/IntroPython-2017
 def get_virtual_state(self, v_name, v_partition='Common'):
     """ Function to retrieve current virtual server availability status """
     virtual_stat = self.mgmt.tm.ltm.virtuals.virtual.load(
         name=v_name, partition=v_partition)
     stats = Stats(virtual_stat.stats.load())
     return stats.stat.status_availabilityState['description']
コード例 #5
0
ファイル: fpy.py プロジェクト: gridl/IntroPython-2017
 def get_pool_state(self, p_name, p_partition='Common'):
     """ Function to retrieve current pool availability status """
     pool_stat = self.mgmt.tm.ltm.pools.pool.load(name=p_name,
                                                  partition=p_partition)
     stats = Stats(pool_stat.stats.load())
     return stats.stat.status_availabilityState['description']
コード例 #6
0
    if name not in unique:   # 2nd loop
        unique.append(name)

#
print("\n")
now = datetime.datetime.now()
fnames = "開關機"
for x in unique:
    my_pool = mgmt.tm.ltm.pools.pool.load(partition='Common', name=(x))
    my_pool_mbrs = my_pool.members_s.get_collection()
    Count = 0
    print ( "\n" )
    print ("\033[0;37;44m\tCurrent Run date and time : \033[0m")
    print (now.strftime("\033[0;37;45m\t%Y-%m-%d %H:%M:%S\t\t\033[0m"))
    for pool_mbr in my_pool_mbrs:
        mbr_stats = Stats(pool_mbr.stats.load())
        dic_test = mbr_stats.stat.nodeName
        dic_test1 = dic_test['description']
        dic_test2 = dic_test1.replace('/Common/', '')
        dic_btest = mbr_stats.stat.status_availabilityState
        dic_btest1 = dic_btest['description']
        dic_ctest = mbr_stats.stat.serverside_curConns
        dic_ctest1 = dic_ctest['value']
        dic_dtest = mbr_stats.stat.status_enabledState
        dic_dtest1 = dic_dtest['description']
        Count = ((Count+1))
        #print ( "%s_%02d pool_member: [ %s ] 主機狀態 : %s  目前連線數 : \033[43m[ %s ]\033[0m" % (fnames, Count, dic_test2, dic_btest1,  dic_ctest1) )
        if (dic_btest1 == 'available' or dic_dtest1 != 'enabled' or dic_btest1 == 'offline'):
          if (dic_dtest1 == 'enabled' and dic_btest1 == 'available'):
              print("%s  pool_member: [ %s ] 主機狀態 : \033[0;37;42m[ %s ]\033[0m 目前連線數 : \033[43m[ %s ]\033[0m" %(x, dic_test2, dic_btest1, dic_ctest1))
          elif (dic_dtest1 != 'disabled' or dic_btest1 != 'offline'):
コード例 #7
0
#########################################################################
# title: Collect_VS_Stats.py                                            #
# author: Dario Garrido                                                 #
# date: 20200409                                                        #
# description: Collect VS Stats from an already kwown VS name           #
#########################################################################

from f5.bigip import ManagementRoot
from f5.utils.responses.handlers import Stats

# ----------------------------------------------------------

session = ManagementRoot("F5_mgmt_IP", "username", "password", token=True)

virtual = session.tm.ltm.virtuals.virtual.load(name='testVS')
#https:// <F5_mgmt_IP>/mgmt/tm/ltm/virtual/testVS
virtualstats = Stats(virtual.stats.load())
#https:// <F5_mgmt_IP>/mgmt/tm/ltm/virtual/testVS/stats
for key, value in virtualstats.stat.items():
    if value.get('description') != None:
        print("{}: {}".format(key, value.get('description')))
    elif value.get('value') != None:
        print("{}: {}".format(key, value.get('value')))

# ----------------------------------------------------------
コード例 #8
0
# REQUIREMENTS: ---
#         BUGS: ---
#        NOTES: ---
#       AUTHOR: Oscarob Wu([email protected]), 
# ORGANIZATION: 
#      VERSION: 1.0
#      Created Time: 2021-01-25 09:29:36
#      Last modified: 2021-01-25 09:37
#     REVISION: ---
#===============================================================================
from f5.bigip import ManagementRoot
from f5.utils.responses.handlers import Stats
from pprint import pprint
#  Get login password from CLI
F5_host = input('F5_Host: ')
F5_user = input('Username: '******'Password: '******'Common', name='my_virtual')
my_pool = mgmt.tm.ltm.pools.pool.load(partition='Common', name='my_pool')

v_stats = Stats(my_virtual.stats.load())
p_stats = Stats(my_pool.stats.load())

pprint(v_stats.stat)
pprint(p_stats.stat)
print(v_stats.stat.status_availabilityState)
print(p_stats.stat.status_availabilityState)