#!/bin/env python import os import sys from XenServer import XenServer from GELF import GELF import traceback import xmlrpclib from time import time try: xs_session = XenServer().make_session() #last 24h messages messages = xs_session.xenapi.message.get_since(xmlrpclib.DateTime(time()-86400)) #Get Pool info to match CPU with this pool pool = xs_session.xenapi.pool.get_all()[0] pool_uuid = xs_session.xenapi.pool.get_uuid(pool) for message in messages: message_record = xs_session.xenapi.message.get_record(message) data = { 'short_message': os.path.basename(__file__).split('.')[0], '_pool_uuid': pool_uuid, '_body': message_record['body'], '_cls': message_record['cls'], '_name': message_record['name'], '_priority': message_record['priority'], '_obj_uuid': message_record['obj_uuid'], '_message_timestamp': str(message_record['timestamp'])
#!/bin/env python import os import sys from XenServer import XenServer from GELF import GELF import traceback try: xs_session = XenServer().make_session() pool = xs_session.xenapi.pool.get_all()[0] pool_uuid = xs_session.xenapi.pool.get_uuid(pool) hosts = xs_session.xenapi.host.get_all() for host in hosts: hostname = xs_session.xenapi.host.get_address(host) try: perf_data = XenServer().get_rrd_data(hostname) host_uuid = perf_data.get_host_uuid() data = { 'short_message': os.path.basename(__file__).split('.')[0], '_pool_uuid': pool_uuid, '_host_uuid': host_uuid, '_hostname': hostname, } for param in perf_data.get_host_param_list(): if param != "": for row in range(perf_data.get_nrows()):