Ejemplo n.º 1
0
"""Usage: power.py [-a account] [-p password] [-u iLO_https_url]

Show power consumption

Options:
  -a account        ILO account
  -p password       ILO password
  -u iLO_https_url  ILO HTTPS URL (ie. https://X.X.X.X)
"""
from docopt import docopt
arguments = docopt(__doc__)

# Get default configuration
from rf import config

# Set config args if provided
if 'arguments' in locals():
    if arguments['-u']: config.iLO_https_url = arguments['-u']
    if arguments['-p']: config.iLO_password = arguments['-p']
    if arguments['-a']: config.iLO_account = arguments['-a']

# Import drill function to iterate API
from rf.rf import drill

drill('/redfish/v1/Chassis/*Members*/Power/',
      [['PowerControl', 'PowerCapacityWatts'],
       ['PowerControl', 'PowerConsumedWatts'],
       ['PowerControl', 'PowerMetrics/AverageConsumedWatts']])
Ejemplo n.º 2
0
from rf import config
from rf.rf import drill
import sys
from loguru import logger
from time import sleep

# Monitor
monitor_log = 'logs/monitor.log'
monitor_frequency = 5
monitor = {
    '/redfish/v1/Systems/*Members*':
    ['Oem/Hpe/SystemUsage/CPUUtil', 'Oem/Hpe/SystemUsage/MemoryBusUtil'],
    '/redfish/v1/Chassis/*Members*': ['Status/Health']
}

logger.remove()
logger.add(sys.stdout,
           format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | {message}")
logger.add(monitor_log, format="{time:YYYY-MM-DD HH:mm:ss} | {message}")

while True:
    for key, value in monitor.items():
        result = drill(key, value, output=False)
        for k, v in result.items():
            logger.info(f"{k}, {v}")
    sleep(monitor_frequency)
Ejemplo n.º 3
0
from rf.rf import drill

drill('/redfish/v1/Chassis/*Members*/*Links/Drives*/', [
    'Oem/Hpe/TemperatureStatus/Health',
    'Oem/Hpe/TemperatureStatus/State',
])


Ejemplo n.º 4
0
if 'arguments' in locals():
    if arguments['-u']: config.iLO_https_url = arguments['-u']
    if arguments['-p']: config.iLO_password = arguments['-p']
    if arguments['-a']: config.iLO_account = arguments['-a']

# Import drill function to iterate API
from rf.rf import drill

# Get host assets
drill('/redfish/v1/Systems/*Members*', [
    'Model',
    'Manufacturer',
    'SerialNumber',
    'BiosVersion',
    'Oem/Hpe/PowerOnMinutes',
    # 'Oem/Hpe/HostOS/OsName',
    # 'Oem/Hpe/HostOS/OsVersion',
    'MemorySummary/TotalSystemMemoryGiB',
    'ProcessorSummary/Count',
    'ProcessorSummary/Model',
    'Oem/Hpe/SystemUsage/CPUUtil'
    ])
print("\nEthernet Interfaces:")
drill('/redfish/v1/Systems/*Members*/*EthernetInterfaces*/*Members*', [
    'Name',
    ['IPv4Addresses', 'Address'],
    'MACAddress',
    'SpeedMbps'
])
print("\nStorage:")
drill('/redfish/v1/Chassis/*Members*/*Links/Drives*', [
Ejemplo n.º 5
0
Show fan data

Options:
  -a account        ILO account
  -p password       ILO password
  -u iLO_https_url  ILO HTTPS URL (ie. https://X.X.X.X)
"""
from docopt import docopt
arguments = docopt(__doc__)

# Get default configuration
from rf import config

# Set config args if provided
if 'arguments' in locals():
    if arguments['-u']: config.iLO_https_url = arguments['-u']
    if arguments['-p']: config.iLO_password = arguments['-p']
    if arguments['-a']: config.iLO_account = arguments['-a']

# Import drill function to iterate API
from rf.rf import drill

drill('/redfish/v1/Chassis/*Members*/Thermal/', [
    ['Fans', 'Name'],
    ['Fans', 'Status/Health'],
    ['Fans', 'Status/State']
])