浏览代码

AMBARI-9278. Allow hostname customization for metric monitor. Use agent conf. (swagle)

Siddharth Wagle 10 年之前
父节点
当前提交
af5372656b

+ 14 - 2
ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/config_reader.py

@@ -61,7 +61,6 @@ class ConfigDefaultsLinux(ConfigDefaults):
 
 configDefaults = ConfigDefaults()
 
-
 config = ConfigParser.RawConfigParser()
 
 CONFIG_FILE_PATH = configDefaults.get_config_file_path()
@@ -84,6 +83,8 @@ STOP_ACTION = "stop"
 RESTART_ACTION = "restart"
 STATUS_ACTION = "status"
 
+AMBARI_AGENT_CONF = '/etc/ambari-agent/conf/ambari-agent.ini'
+
 config_content = """
 [default]
 debug_level = INFO
@@ -139,6 +140,7 @@ metric_group_info = """
 }
 """
 
+
 class Configuration:
 
   def __init__(self):
@@ -160,6 +162,13 @@ class Configuration:
       }
     pass
 
+    self.hostname_script = None
+    ambari_agent_config = ConfigParser.RawConfigParser()
+    if os.path.exists(AMBARI_AGENT_CONF):
+      ambari_agent_config.read(AMBARI_AGENT_CONF)
+      self.hostname_script = ambari_agent_config.get('agent', 'hostname_script')
+    pass
+
   def getConfig(self):
     return self.config
 
@@ -183,7 +192,10 @@ class Configuration:
     return self.get("default", "metrics_server")
 
   def get_hostname_script(self):
-    return self.get("default", "hostname_script")
+    if self.hostname_script:
+      return self.hostname_script
+    else:
+      return self.get("default", "hostname_script")
 
   def get_log_level(self):
     return self.get("default", "debug_level", "INFO")

+ 0 - 1
ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py

@@ -23,7 +23,6 @@ import psutil
 import os
 from collections import namedtuple
 import platform
-import socket
 import time
 import threading
 import socket