fix treating remarks as server items, what sometimes causes a crash downstream (while the remark is present for a few)

This commit is contained in:
rasmus 2020-12-24 01:55:42 +02:00
parent cdc604a971
commit 1ce97ebf70
2 changed files with 5 additions and 2 deletions

View File

@ -21,7 +21,7 @@ def listServers(serverName):
serverNameFields = len(serverNamePos) # How many fields do we have to process
servers = [] # Init, the results of this.
for srv in range(2, len(serverName)): # Loop through servers. | Adjust for the first two being headers.
for srv in range(2, 17): # Loop through servers. | Adjust for the first two being headers. 17 is the lsat row. There could be other context below there.
# Fields: [BayNumber "Server Name", "Serial Number", "Status", "Power", "UID Partner"]
serverNameCurrentTmp = [] # Init
@ -30,6 +30,7 @@ def listServers(serverName):
serverNameCurrentTmp.append( int( serverName[srv][0:serverNamePos[fld]].strip() ) ) # Also convert to int, as we know it's a number.
else:
serverNameCurrentTmp.append( serverName[srv][serverNamePos[fld-1]+1:serverNamePos[fld]].strip() ) # Get ith field by character position.
if not ( serverNameCurrentTmp[1] == '[Absent]' and serverNameCurrentTmp[4] == '' ): # If name is Absent and power status isn't available, there probably isn't a server there.
servers.append(serverNameCurrentTmp) # Only append if the bay is actually in use.

View File

@ -65,6 +65,8 @@ def prom_servers(PREFIX, baysInUseCount, servers):
uid = 1
elif servers[n][5] == 'Off':
uid = 0
elif servers[n][5] == '*':
uid = 2 # Blade UID is blinking and a critical operation is being performed on the blade (firmware update in progress or remote console in use).
else:
uid = 'NaN'
warn("unknown UID status for blade '" + servers[n][1] + "' in enc " + servers[n][8] + " bay " + str(servers[n][0]) + "." )
@ -88,7 +90,7 @@ def prom_servers(PREFIX, baysInUseCount, servers):
prom_disp_servers = prom_disp_servers + prom_header('Relative usage of whole enc AC the blade is consuming in watts', promRelAC, 'gauge')
prom_disp_servers = prom_disp_servers + prom_header('Actual DC in watts what the blade uses directly', promBldDC, 'gauge')
prom_disp_servers = prom_disp_servers + prom_header('Blade health 1 for ok 0 for nok NaN for err', promHealth, 'gauge')
prom_disp_servers = prom_disp_servers + prom_header('Blade UID blinkyboy 1 for blinky blinky 0 for no blinky blinky NaN for err', promUID, 'gauge')
prom_disp_servers = prom_disp_servers + prom_header('Blade UID blinkyboy 1 for blinky blinky 0 for no blinky blinky 2 if critical fw update or remote console in progress NaN for err', promUID, 'gauge')
prom_disp_servers = prom_disp_servers + prom_header('Blade power 1 for on and everything in between 0 for off NaN for err', promPower, 'gauge')
errors_prom = [PREFIX + 'errors_total{} ' + str(float(errors))]
prom_disp_servers = prom_disp_servers + prom_header('Number of errors or warnings encountered during the gathering of data see logs of promServers in blade-ssh-scraper', errors_prom, 'counter')