Repository: ambari Updated Branches: refs/heads/trunk 5d4d99efb -> 9c1b153e2
AMBARI-19825 : Metrics data is not getting collected for different services when AMS HTTPS is enabled. (avijayan) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9c1b153e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9c1b153e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9c1b153e Branch: refs/heads/trunk Commit: 9c1b153e21f04d96f0afa806436c8e4d702be0cc Parents: 5d4d99e Author: Aravindan Vijayan <avija...@hortonworks.com> Authored: Thu Feb 2 10:29:14 2017 -0800 Committer: Aravindan Vijayan <avija...@hortonworks.com> Committed: Thu Feb 2 10:29:14 2017 -0800 ---------------------------------------------------------------------- .../metrics2/sink/flume/FlumeTimelineMetricsSink.java | 3 ++- .../metrics2/sink/timeline/HadoopTimelineMetricsSink.java | 6 +++--- .../server/metrics/system/impl/AmbariMetricSinkImpl.java | 10 ++++++++++ 3 files changed, 15 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/9c1b153e/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java ---------------------------------------------------------------------- diff --git a/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java index c1b684b..86e092a 100644 --- a/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java +++ b/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java @@ -107,13 +107,14 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem // Initialize the collector write strategy super.init(); - collectorUri = constructTimelineMetricUri(protocol, findPreferredCollectHost(), port); if (protocol.contains("https")) { String trustStorePath = configuration.getProperty(SSL_KEYSTORE_PATH_PROPERTY).trim(); String trustStoreType = configuration.getProperty(SSL_KEYSTORE_TYPE_PROPERTY).trim(); String trustStorePwd = configuration.getProperty(SSL_KEYSTORE_PASSWORD_PROPERTY).trim(); loadTruststore(trustStorePath, trustStoreType, trustStorePwd); } + collectorUri = constructTimelineMetricUri(protocol, findPreferredCollectHost(), port); + pollFrequency = Long.parseLong(configuration.getProperty("collectionFrequency")); String[] metrics = configuration.getProperty(COUNTER_METRICS_PROPERTY).trim().split(","); http://git-wip-us.apache.org/repos/asf/ambari/blob/9c1b153e/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java ---------------------------------------------------------------------- diff --git a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java index 7c85171..14df30c 100644 --- a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java +++ b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java @@ -107,15 +107,15 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple if (collectorHosts.isEmpty()) { LOG.error("No Metric collector configured."); } else { - String preferredCollectorHost = findPreferredCollectHost(); - collectorUri = constructTimelineMetricUri(protocol, preferredCollectorHost, port); - containerMetricsUri = constructContainerMetricUri(protocol, preferredCollectorHost, port); if (protocol.contains("https")) { String trustStorePath = conf.getString(SSL_KEYSTORE_PATH_PROPERTY).trim(); String trustStoreType = conf.getString(SSL_KEYSTORE_TYPE_PROPERTY).trim(); String trustStorePwd = conf.getString(SSL_KEYSTORE_PASSWORD_PROPERTY).trim(); loadTruststore(trustStorePath, trustStoreType, trustStorePwd); } + String preferredCollectorHost = findPreferredCollectHost(); + collectorUri = constructTimelineMetricUri(protocol, preferredCollectorHost, port); + containerMetricsUri = constructContainerMetricUri(protocol, preferredCollectorHost, port); } LOG.info("Collector Uri: " + collectorUri); http://git-wip-us.apache.org/repos/asf/ambari/blob/9c1b153e/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java index 71142d7..a666e6e 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java @@ -28,6 +28,7 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; +import org.apache.ambari.server.configuration.ComponentSSLConfiguration; import org.apache.ambari.server.controller.AmbariManagementController; import org.apache.ambari.server.controller.internal.AbstractControllerResourceProvider; import org.apache.ambari.server.controller.internal.ServiceConfigVersionResourceProvider; @@ -156,6 +157,15 @@ public class AmbariMetricSinkImpl extends AbstractTimelineMetricsSink implements hostName = configuration.getProperty("ambariserver.hostname.override", getDefaultLocalHostName()); LOG.info("Hostname used for ambari server metrics : " + hostName); + + if (protocol.contains("https")) { + ComponentSSLConfiguration sslConfiguration = ComponentSSLConfiguration.instance(); + String trustStorePath = sslConfiguration.getTruststorePath(); + String trustStoreType = sslConfiguration.getTruststoreType(); + String trustStorePwd = sslConfiguration.getTruststorePassword(); + loadTruststore(trustStorePath, trustStoreType, trustStorePwd); + } + collectorUri = getCollectorUri(findPreferredCollectHost()); int maxRowCacheSize = Integer.parseInt(configuration.getProperty(MAX_METRIC_ROW_CACHE_SIZE,