You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2018/05/22 14:17:10 UTC
[ambari] branch trunk updated: AMBARI-23063. "Stale Alerts" alert
has to be re-done properly (aonishuk)
This is an automated email from the ASF dual-hosted git repository.
aonishuk pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 223cabc AMBARI-23063. "Stale Alerts" alert has to be re-done properly (aonishuk)
223cabc is described below
commit 223cabc5684ce7ee29a410ec3ac5ac987f9bae96
Author: Andrew Onishuk <ao...@hortonworks.com>
AuthorDate: Tue May 22 16:06:44 2018 +0300
AMBARI-23063. "Stale Alerts" alert has to be re-done properly (aonishuk)
---
ambari-agent/conf/unix/ambari-agent.ini | 2 ++
ambari-agent/src/main/python/ambari_agent/AlertStatusReporter.py | 9 +++++----
ambari-agent/src/main/python/ambari_agent/AmbariConfig.py | 4 ++++
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/ambari-agent/conf/unix/ambari-agent.ini b/ambari-agent/conf/unix/ambari-agent.ini
index c6cf803..8596790 100644
--- a/ambari-agent/conf/unix/ambari-agent.ini
+++ b/ambari-agent/conf/unix/ambari-agent.ini
@@ -41,6 +41,8 @@ command_reports_interval=5
status_commands_run_interval=20
alert_grace_period=5
status_command_timeout=5
+; (send_alert_changes_only) - enabling this is necessary to deploy big perf clusters
+send_alert_changes_only=0
alert_kinit_timeout=14400000
system_resource_overrides=/etc/resource_overrides
; memory_threshold_soft_mb=400
diff --git a/ambari-agent/src/main/python/ambari_agent/AlertStatusReporter.py b/ambari-agent/src/main/python/ambari_agent/AlertStatusReporter.py
index 173c03b..dd17c5a 100644
--- a/ambari-agent/src/main/python/ambari_agent/AlertStatusReporter.py
+++ b/ambari-agent/src/main/python/ambari_agent/AlertStatusReporter.py
@@ -42,6 +42,7 @@ class AlertStatusReporter(threading.Thread):
self.stale_alerts_monitor = initializer_module.stale_alerts_monitor
self.server_responses_listener = initializer_module.server_responses_listener
self.reported_alerts = defaultdict(lambda:defaultdict(lambda:[]))
+ self.send_alert_changes_only = initializer_module.config.send_alert_changes_only
threading.Thread.__init__(self)
def run(self):
@@ -58,11 +59,11 @@ class AlertStatusReporter(threading.Thread):
self.clean_not_existing_clusters_info()
alerts = self.collector.alerts()
self.stale_alerts_monitor.save_executed_alerts(alerts)
- changed_alerts = self.get_changed_alerts(alerts)
+ alerts_to_send = self.get_changed_alerts(alerts) if self.send_alert_changes_only else alerts
- if changed_alerts and self.initializer_module.is_registered:
- correlation_id = self.initializer_module.connection.send(message=changed_alerts, destination=Constants.ALERTS_STATUS_REPORTS_ENDPOINT, log_message_function=AlertStatusReporter.log_sending)
- self.server_responses_listener.listener_functions_on_success[correlation_id] = lambda headers, message: self.save_results(changed_alerts)
+ if alerts_to_send and self.initializer_module.is_registered:
+ correlation_id = self.initializer_module.connection.send(message=alerts_to_send, destination=Constants.ALERTS_STATUS_REPORTS_ENDPOINT, log_message_function=AlertStatusReporter.log_sending)
+ self.server_responses_listener.listener_functions_on_success[correlation_id] = lambda headers, message: self.save_results(alerts_to_send)
except ConnectionIsAlreadyClosed: # server and agent disconnected during sending data. Not an issue
pass
diff --git a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
index 4a5236b..1e95fbe 100644
--- a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
+++ b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
@@ -340,6 +340,10 @@ class AmbariConfig:
"""
return self.get('security', 'ca_cert_path', default="")
+ @property
+ def send_alert_changes_only(self):
+ return bool(self.get('agent', 'send_alert_changes_only', '0'))
+
def isSameHostList(hostlist1, hostlist2):
is_same = True
--
To stop receiving notification emails like this one, please contact
aonishuk@apache.org.