Example #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'])
Example #2
0
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_hostname(host)
        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()):
                     param_data = perf_data.get_host_data(param,row)

                if param.startswith("cpu"):
                    # CPU usage, convert to percentage
Example #3
0
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_hostname(host)
        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 vm_uuid in perf_data.get_vm_list():

            vm = xs_session.xenapi.VM.get_by_uuid(vm_uuid)
            vm_name = xs_session.xenapi.VM.get_name_label(vm)
            data['_vm_uuid'] = vm_uuid
            data['_vm_name'] = vm_name

            if not xs_session.xenapi.VM.get_is_control_domain(vm):
Example #4
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()):