Esempio n. 1
0
#!/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'])
Esempio n. 2
0
#!/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()):