Search in sources :

Example 1 with InstanceEventPayload

use of io.gravitee.gateway.services.monitoring.event.InstanceEventPayload in project gravitee-gateway by gravitee-io.

the class MonitoringService method createInstanceInfo.

private InstanceEventPayload createInstanceInfo() {
    InstanceEventPayload instanceInfo = new InstanceEventPayload();
    instanceInfo.setId(node.id());
    instanceInfo.setVersion(Version.RUNTIME_VERSION.toString());
    Optional<List<String>> shardingTags = gatewayConfiguration.shardingTags();
    instanceInfo.setTags(shardingTags.isPresent() ? shardingTags.get() : null);
    instanceInfo.setPlugins(plugins());
    instanceInfo.setSystemProperties(new HashMap<>((Map) System.getProperties()));
    instanceInfo.setPort(port);
    Optional<String> tenant = gatewayConfiguration.tenant();
    instanceInfo.setTenant(tenant.isPresent() ? tenant.get() : null);
    try {
        instanceInfo.setHostname(InetAddress.getLocalHost().getHostName());
        instanceInfo.setIp(InetAddress.getLocalHost().getHostAddress());
    } catch (UnknownHostException uhe) {
        LOGGER.warn("Could not get hostname / IP", uhe);
    }
    return instanceInfo;
}
Also used : InstanceEventPayload(io.gravitee.gateway.services.monitoring.event.InstanceEventPayload) UnknownHostException(java.net.UnknownHostException)

Example 2 with InstanceEventPayload

use of io.gravitee.gateway.services.monitoring.event.InstanceEventPayload in project gravitee-gateway by gravitee-io.

the class MonitoringService method prepareEvent.

private Event prepareEvent() {
    Event event = new Event();
    event.setId(UUID.random().toString());
    event.setType(EventType.GATEWAY_STARTED);
    event.setCreatedAt(new Date());
    event.setUpdatedAt(event.getCreatedAt());
    Map<String, String> properties = new HashMap<>();
    properties.put("id", node.id());
    properties.put("started_at", Long.toString(event.getCreatedAt().getTime()));
    properties.put("last_heartbeat_at", Long.toString(event.getCreatedAt().getTime()));
    event.setProperties(properties);
    InstanceEventPayload instance = createInstanceInfo();
    try {
        String payload = objectMapper.writeValueAsString(instance);
        event.setPayload(payload);
    } catch (JsonProcessingException jsex) {
        LOGGER.error("An error occurs while transforming instance information into JSON", jsex);
    }
    return event;
}
Also used : InstanceEventPayload(io.gravitee.gateway.services.monitoring.event.InstanceEventPayload) Event(io.gravitee.repository.management.model.Event) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException)

Aggregations

InstanceEventPayload (io.gravitee.gateway.services.monitoring.event.InstanceEventPayload)2 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1 Event (io.gravitee.repository.management.model.Event)1 UnknownHostException (java.net.UnknownHostException)1