public static MachinePolicy ProcessMachineLevelSLAs(AddMachineAndProcessDataRequestMsg req, boolean pooled) { MachinePolicy mp = loadMachinePolicyPooled(req.getHostname()); AuxHelper.TryUpdateStatus(req.getMachineData().isOperationalstatus(), req.getMachineData().getUri(), req.getMachineData().getStatusmessage(), pooled, PolicyType.MACHINE, req.getDomainname(), req.getHostname()); processMachineSLAs(req, mp, pooled); return mp; }
public static List<ProcessPolicy> ProcessProcessLevelSLAs(AddMachineAndProcessDataRequestMsg req, boolean pooled) { List<ProcessPolicy> ret = LoadProcessPoliciesPooledByHostname(req.getHostname()); for (int i = 0; i < req.getProcessData().size(); i++) { //Bug fix, if a process policy was deleted at the agent doesn't know about it, this will actually recreate the process policy, which is not desired. if (PolicyExists(req.getProcessData().get(i).getUri(), pooled)) { AuxHelper.TryUpdateStatus(req.getProcessData().get(i).isOperationalstatus(), req.getProcessData().get(i).getUri(), req.getProcessData().get(i).getStatusmessage(), pooled, PolicyType.PROCESS, req.getDomainname(), req.getHostname()); processProcessSLAs(req.getProcessData().get(i), ret, pooled); } } return ret; }
/** * Create an instance of {@link AddMachineAndProcessDataRequestMsg } * */ public AddMachineAndProcessDataRequestMsg createAddMachineAndProcessDataRequestMsg() { return new AddMachineAndProcessDataRequestMsg(); }
Utility.validateClassification(req.getClassification()); if (Utility.stringIsNullOrEmpty(req.getHostname())) { throw new IllegalArgumentException("A hostname must be specified"); if (Utility.stringIsNullOrEmpty(req.getDomainname())) { throw new IllegalArgumentException("A domain name or 'unspecified' must be specified"); AuditLogger.logItem(this.getClass().getCanonicalName(), "addMachineAndProcessData", currentUser, "uri=" + req.getHostname(), req.getClassification(), ctx.getMessageContext()); UserIdentityUtil.assertAgentRole(currentUser, "addMachineAndProcessData", req.getClassification(), ctx); if (req.getMachineData() == null) { throw new IllegalArgumentException("The element MachineData must be specified and contain at least the current status information"); if (Utility.stringIsNullOrEmpty(req.getMachineData().getUri())) { throw new IllegalArgumentException("The element MachineData must specify a uri representing the system, typically in the format urn:hostname:system"); + "(uri, memoryused, percentcpu, id, utcdatetime, threads, startedat) " + "VALUES (?, ?, ?, ?, ? ,?, ?);"); com.setString(1, Utility.truncate(req.getMachineData().getUri(), MAXTEXT)); if (req.getMachineData().getBytesusedMemory() == null) { com.setNull(2, java.sql.Types.BIGINT); } else { com.setLong(2, req.getMachineData().getBytesusedMemory()); if (req.getMachineData().getPercentusedCPU() == null) { com.setNull(3, java.sql.Types.INTEGER); } else { com.setLong(3, req.getMachineData().getPercentusedCPU().intValue());
/** * does process specific SLA processing, scope: just right now * * @param processData * @param pooled */ private static void processMachineSLAs(AddMachineAndProcessDataRequestMsg req, MachinePolicy pol, boolean pooled) { if (pol == null || pol.getServiceLevelAggrements() == null) { return; } for (int i = 0; i < pol.getServiceLevelAggrements().getSLA().size(); i++) { RuleBaseType rule = pol.getServiceLevelAggrements().getSLA().get(i).getRule(); AtomicReference<String> msg = new AtomicReference<String>(); if (processMachineSLAsRecursive(req, rule, pol, pooled, msg)) { String id = UUID.randomUUID().toString(); RecordSLAFault(new AtomicReference<String>(msg.get()), pol.getURL(), req.getMachineData().getId(), System.currentTimeMillis(), id, pooled); ProcessAlerts(msg.get(), "<h2" + Utility.encodeHTML(msg.get()) + "</h2>", pol.getURL(), req.getMachineData().getId(), System.currentTimeMillis(), id, pooled, false, pol.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction(), pol.getServiceLevelAggrements().getSLA().get(i).getGuid(), pol, AlertType.Performance); } } }
log.log(Level.INFO, bundle.getString("ErrorProcessMachineSLANullPolicy") + req.getDomainname() + " " + req.getHostname()); return false; if (cast != null && cast.CheckTransactionalRule(req.getMachineData(), x.getParameterNameValue(), f)) { sb = sb.append(f.get()); outFaultmsg.set(sb.toString() + " " + outFaultmsg.get());