/** {@inheritDoc} */ @Override public Map<String, MutableHitCount> getSourceHitCount(EventQueryDefinition query) { Map<String, MutableHitCount> hitRatio = new TreeMap<String, MutableHitCount>(); for (Event event : searchFeatureUsageEvents(query)) { if (!hitRatio.containsKey(event.getSource())) { hitRatio.put(event.getSource(), new MutableHitCount()); } hitRatio.get(event.getSource()).inc(); } return hitRatio; }
@Override public Map<String, MutableHitCount> getSourceHitCount(EventQueryDefinition query) { JestResult result = getConnection() .execute(getBuilder().queryGetEventQueryDefinition(query, EventConstants.ACTION_CHECK_OK)); List<Event> events = result.getSourceAsObjectList(Event.class); Map<String, MutableHitCount> hitCount = new HashMap<String, MutableHitCount>(); for (Event event : events) { String source = event.getSource(); if (hitCount.containsKey(source)) { hitCount.get(source).inc(); } else { hitCount.put(source, new MutableHitCount(1)); } } return hitCount; }
/** * Method that maps the enum to the appropriate event method (instead of using Reflection). * * @param type - The type of the evnt to be used. * @param event - Actual event object. * @return The value from the event object. */ private String getValueFromAttribute(Types type, Event event) { String value; switch (type) { case HOST: value = event.getHostName(); break; case SOURCE: value = event.getSource(); break; case USER: value = event.getUser(); break; case NAME: value = event.getName(); break; default: value = "NA"; } return value; }
/** {@inheritDoc} */ @Override public Put toStore(Event evt) { Put put = new Put(Bytes.toBytes(evt.getUuid())); put.addColumn(B_AUDIT_CF, B_EVENT_UID, Bytes.toBytes(evt.getUuid())); put.addColumn(B_AUDIT_CF, B_EVENT_SOURCE, Bytes.toBytes(evt.getSource())); put.addColumn(B_AUDIT_CF, B_EVENT_NAME, Bytes.toBytes(evt.getName())); put.addColumn(B_AUDIT_CF, B_EVENT_ACTION, Bytes.toBytes(evt.getAction())); put.addColumn(B_AUDIT_CF, B_EVENT_TYPE, Bytes.toBytes(evt.getType())); put.addColumn(B_AUDIT_CF, B_EVENT_DURATION, Bytes.toBytes(evt.getDuration())); put.addColumn(B_AUDIT_CF, B_EVENT_HOSTNAME, Bytes.toBytes(evt.getHostName())); put.addColumn(B_AUDIT_CF, B_EVENT_USER, Bytes.toBytes(evt.getUser())); put.addColumn(B_AUDIT_CF, B_EVENT_VALUE, Bytes.toBytes(evt.getValue())); put.addColumn(B_AUDIT_CF, B_EVENT_DATE, Bytes.toBytes(KDF.format(evt.getDate()))); put.addColumn(B_AUDIT_CF, B_EVENT_TIME, Bytes.toBytes(evt.getTimestamp())); put.addColumn(B_AUDIT_CF, B_EVENT_KEYS, Bytes.toBytes(MappingUtil.fromMap(evt.getCustomKeys()))); return put; }
stmt.setString(5, evt.getAction()); stmt.setString(6, evt.getHostName()); stmt.setString(7, evt.getSource()); stmt.setLong(8, evt.getDuration()); for (int id = 9;id < idx;id++) {
/** {@inheritDoc} */ @Override public boolean saveEvent(Event e) { Util.assertEvent(e); LOGGER.debug("Event Logged {}", e.toJson()); conn.getSession().execute(getBuilder().cqlCreateEvent(ttl), e.getUuid(), KDF.format(e.getDate()), e.getTimestamp(), e.getType(), e.getName(), e.getAction(), e.getHostName(), e.getSource(), e.getDuration(), e.getUser(), e.getValue(), e.getCustomKeys()); return true; }
/** {@inheritDoc} */ @Override public boolean saveEvent(Event evt) { Util.assertEvent(evt); return getJdbcTemplate().update(getQueryBuilder().sqlSaveAudit(), evt.getUuid(), new java.sql.Timestamp(evt.getTimestamp()), evt.getType(), evt.getName(), evt.getAction(), evt.getHostName(), evt.getSource(), evt.getDuration(), evt.getUser(), evt.getValue(), MappingUtil.fromMap(evt.getCustomKeys())) > 0; }
/** * Match Event. * * @param evt * current event over this query * @return * if event is valid */ public boolean match(Event evt) { return (evt.getTimestamp() >= from) && (evt.getTimestamp() <= to) && matchAction(evt.getAction()) && matchSource(evt.getSource()) && matchHost(evt.getHostName()) && matchName(evt.getName()); }