Search in sources :

Example 6 with Ambari

use of com.sequenceiq.periscope.domain.Ambari in project cloudbreak by hortonworks.

the class ConsulKeyValueService method addAlert.

public PrometheusAlert addAlert(Cluster cluster, PrometheusAlert alert) {
    Ambari ambari = cluster.getAmbari();
    try {
        if (RUNNING.equals(cluster.getState())) {
            TlsConfiguration tlsConfig = tlsSecurityService.getConfiguration(cluster);
            ConsulClient consulClient = ConsulUtils.createClient(ambari.getHost(), cluster.getPort(), tlsConfig);
            String alertKey = getKeyNameForAlert(alert);
            consulClient.setKVValue(alertKey, alert.getAlertRule());
            LOGGER.info("Alert has been added to Consul KV store with name: '{}' on host: '{}'.", alertKey, ambari.getHost());
        }
    } catch (Exception e) {
        LOGGER.warn("Alert could not be added to Consul KV store:", e);
    }
    return alert;
}
Also used : ConsulClient(com.ecwid.consul.v1.ConsulClient) TlsConfiguration(com.sequenceiq.periscope.model.TlsConfiguration) Ambari(com.sequenceiq.periscope.domain.Ambari)

Aggregations

Ambari (com.sequenceiq.periscope.domain.Ambari)6 AmbariStack (com.sequenceiq.periscope.model.AmbariStack)3 ConsulClient (com.ecwid.consul.v1.ConsulClient)2 Cluster (com.sequenceiq.periscope.domain.Cluster)2 SecurityConfig (com.sequenceiq.periscope.domain.SecurityConfig)2 TlsConfiguration (com.sequenceiq.periscope.model.TlsConfiguration)2 AmbariAddressJson (com.sequenceiq.cloudbreak.api.model.AmbariAddressJson)1 AutoscaleClusterResponse (com.sequenceiq.cloudbreak.api.model.AutoscaleClusterResponse)1 StackResponse (com.sequenceiq.cloudbreak.api.model.StackResponse)1 BadRequestException (javax.ws.rs.BadRequestException)1 AccessDeniedException (org.springframework.security.access.AccessDeniedException)1