mirror of
https://github.com/clearlinux/WALinuxAgent.git
synced 2026-09-05 21:31:41 +00:00
Add more fields to event
This commit is contained in:
@@ -110,6 +110,7 @@ class ExtHandlersHandler(object):
|
||||
self.distro = distro
|
||||
self.ext_handlers = None
|
||||
self.last_etag = None
|
||||
self.log_report = False
|
||||
|
||||
def run(self):
|
||||
ext_handlers, etag = None, None
|
||||
@@ -122,8 +123,10 @@ class ExtHandlersHandler(object):
|
||||
|
||||
if self.last_etag is not None and self.last_etag == etag:
|
||||
logger.verb("No change to ext handler config:{0}, skip", etag)
|
||||
self.log_report = False
|
||||
else:
|
||||
logger.info("Handle new ext handler config")
|
||||
self.log_report = True #Log status report success on new config
|
||||
self.handle_ext_handlers(ext_handlers)
|
||||
self.last_etag = etag
|
||||
|
||||
@@ -227,12 +230,17 @@ class ExtHandlersHandler(object):
|
||||
add_event(name="WALA", is_success=False, message=ustr(e))
|
||||
|
||||
logger.verb("Report vm agent status")
|
||||
|
||||
try:
|
||||
self.protocol.report_vm_status(vm_status)
|
||||
except ProtocolError as e:
|
||||
message = "Failed to report ext handler status: {0}".format(e)
|
||||
message = "Failed to report vm agent status: {0}".format(e)
|
||||
add_event(name="WALA", is_success=False, message=message)
|
||||
|
||||
if self.log_report:
|
||||
logger.info("Successfully reported vm agent status")
|
||||
|
||||
|
||||
def report_ext_handler_status(self, vm_status, ext_handler):
|
||||
ext_handler_i = ExtHandlerInstance(ext_handler, self.protocol)
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ from azurelinuxagent.protocol.restapi import TelemetryEventParam, \
|
||||
TelemetryEvent, \
|
||||
set_properties, get_properties
|
||||
from azurelinuxagent.metadata import DISTRO_NAME, DISTRO_VERSION, \
|
||||
DISTRO_CODE_NAME, AGENT_VERSION
|
||||
DISTRO_CODE_NAME, AGENT_LONG_VERSION
|
||||
|
||||
|
||||
def parse_event(data_str):
|
||||
@@ -95,7 +95,7 @@ class MonitorHandler(object):
|
||||
|
||||
|
||||
self.sysinfo.append(TelemetryEventParam("OSVersion", osversion))
|
||||
self.sysinfo.append(TelemetryEventParam("GAVersion", AGENT_VERSION))
|
||||
self.sysinfo.append(TelemetryEventParam("GAVersion", AGENT_LONG_VERSION))
|
||||
|
||||
try:
|
||||
ram = self.distro.osutil.get_total_mem()
|
||||
@@ -108,8 +108,14 @@ class MonitorHandler(object):
|
||||
try:
|
||||
protocol = self.distro.protocol_util.get_protocol()
|
||||
vminfo = protocol.get_vminfo()
|
||||
#TODO add more system info
|
||||
self.sysinfo.append(TelemetryEventParam("VMName", vminfo.vmName ))
|
||||
self.sysinfo.append(TelemetryEventParam("TenantName",
|
||||
vminfo.tenantName))
|
||||
self.sysinfo.append(TelemetryEventParam("RoleName",
|
||||
vminfo.roleName))
|
||||
self.sysinfo.append(TelemetryEventParam("RoleInstanceName",
|
||||
vminfo.roleInstanceName))
|
||||
self.sysinfo.append(TelemetryEventParam("ContainerId",
|
||||
vminfo.containerId))
|
||||
except ProtocolError as e:
|
||||
logger.warn("Failed to get system info: {0}", e)
|
||||
|
||||
|
||||
@@ -53,6 +53,10 @@ class EventLogger(object):
|
||||
self.event_dir = None
|
||||
|
||||
def save_event(self, data):
|
||||
if self.event_dir is None:
|
||||
logger.warn("Event reporter is not initialized.")
|
||||
return
|
||||
|
||||
if not os.path.exists(self.event_dir):
|
||||
os.mkdir(self.event_dir)
|
||||
os.chmod(self.event_dir, 0o700)
|
||||
|
||||
@@ -83,9 +83,14 @@ class DataContractList(list):
|
||||
Data contract between guest and host
|
||||
"""
|
||||
class VMInfo(DataContract):
|
||||
def __init__(self, subscriptionId=None, vmName=None):
|
||||
def __init__(self, subscriptionId=None, vmName=None, containerId=None,
|
||||
roleName=None, roleInstanceName=None, tenantName=None):
|
||||
self.subscriptionId = subscriptionId
|
||||
self.vmName = vmName
|
||||
self.containerId = containerId
|
||||
self.roleName = roleName
|
||||
self.roleInstanceName = roleInstanceName
|
||||
self.tenantName = tenantName
|
||||
|
||||
class Cert(DataContract):
|
||||
def __init__(self, name=None, thumbprint=None, certificateDataUri=None):
|
||||
|
||||
@@ -86,10 +86,16 @@ class WireProtocol(Protocol):
|
||||
self.client.update_goal_state(forced=True)
|
||||
|
||||
def get_vminfo(self):
|
||||
goal_state = self.client.get_goal_state()
|
||||
hosting_env = self.client.get_hosting_env()
|
||||
|
||||
vminfo = VMInfo()
|
||||
vminfo.subscriptionId = None
|
||||
vminfo.vmName = hosting_env.vm_name
|
||||
vminfo.tenantName = hosting_env.deployment_name
|
||||
vminfo.roleName = hosting_env.role_name
|
||||
vminfo.roleInstanceName = goal_state.role_instance_id
|
||||
vminfo.containerId = goal_state.container_id
|
||||
return vminfo
|
||||
|
||||
def get_certs(self):
|
||||
|
||||
Reference in New Issue
Block a user