Add more info to logging for devices which fail ping checks
Change-Id: Ia287753734164814169475b625772499300e8a09
This commit is contained in:
parent
80e7bae30c
commit
2ff2fbb1a3
@ -19,10 +19,10 @@ known_drivers = {
|
||||
|
||||
|
||||
class AlertDriver(object):
|
||||
def send_alert(self, message, device_id):
|
||||
def send_alert(self, message, device_id, device_ip, device_name, device_tenant):
|
||||
raise NotImplementedError()
|
||||
|
||||
def send_delete(self, message, device_id):
|
||||
def send_delete(self, message, device_id, device_ip, device_name):
|
||||
raise NotImplementedError()
|
||||
|
||||
def send_node_change(self, message, lbid, degraded):
|
||||
|
@ -22,7 +22,7 @@ LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
class DbDriver(AlertDriver):
|
||||
def send_alert(self, message, device_id):
|
||||
def send_alert(self, message, device_id, device_ip, device_name, device_tenant):
|
||||
with db_session() as session:
|
||||
device = session.query(Device).\
|
||||
filter(Device.id == device_id).first()
|
||||
@ -49,7 +49,7 @@ class DbDriver(AlertDriver):
|
||||
session.commit()
|
||||
self._rebuild_device(device_id)
|
||||
|
||||
def send_delete(self, message, device_id):
|
||||
def send_delete(self, message, device_id, device_ip, device_name):
|
||||
with db_session() as session:
|
||||
session.query(Device).\
|
||||
filter(Device.id == device_id).\
|
||||
|
@ -30,8 +30,9 @@ class DatadogDriver(AlertDriver):
|
||||
self.dd_tags = cfg.CONF['admin_api']['datadog_tags']
|
||||
self.dd_message_tail = cfg.CONF['admin_api']['datadog_message_tail']
|
||||
|
||||
def send_alert(self, message, device_id):
|
||||
title = 'Load balancer failure in {0}'.format(self.dd_env)
|
||||
def send_alert(self, message, device_id, device_ip, device_name, device_tenant):
|
||||
title = 'Load balancer failure in {0}: {1} {2} {3} {4}'.format(
|
||||
self.dd_env, device_id, device_ip, device_name, device_tenant)
|
||||
text = 'Load balancer failed with message {0} {1}'.format(
|
||||
message, self.dd_message_tail
|
||||
)
|
||||
@ -41,9 +42,9 @@ class DatadogDriver(AlertDriver):
|
||||
)
|
||||
LOG.info('Datadog alert response: {0}'.format(resp))
|
||||
|
||||
def send_delete(self, message, device_id):
|
||||
title = 'Load balancer unreachable in {0}'.\
|
||||
format(self.dd_env)
|
||||
def send_delete(self, message, device_id, device_ip, device_name):
|
||||
title = 'Load balancer unreachable in {0}: {1} {2}'.\
|
||||
format(self.dd_env, device_ip, device_name)
|
||||
text = 'Load balancer unreachable with message {0} {1}'.format(
|
||||
message, self.dd_message_tail
|
||||
)
|
||||
|
@ -19,10 +19,10 @@ LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
class DummyDriver(AlertDriver):
|
||||
def send_alert(self, message, device_id):
|
||||
def send_alert(self, message, device_id, device_ip, device_name, device_tenant):
|
||||
LOG.info('Dummy alert of: {0}'.format(message))
|
||||
|
||||
def send_delete(self, message, device_id):
|
||||
def send_delete(self, message, device_id, device_ip, device_name):
|
||||
LOG.info('Dummy delete of: {0}'.format(message))
|
||||
|
||||
def send_node_change(self, message, lbid, degraded):
|
||||
|
@ -109,7 +109,7 @@ class OfflineStats(object):
|
||||
for lb in failed_nodes:
|
||||
# Get the current ping count
|
||||
data = session.query(
|
||||
Device.id, Device.pingCount).\
|
||||
Device.id, Device.pingCount, Device.name, Device.floatingIpAddr).\
|
||||
filter(Device.name == lb).first()
|
||||
|
||||
if not data:
|
||||
@ -142,7 +142,7 @@ class OfflineStats(object):
|
||||
lb, instance.__class__.__name__
|
||||
)
|
||||
)
|
||||
instance.send_delete(message, data.id)
|
||||
instance.send_delete(message, data.id, data.floatingIpAddr, data.name)
|
||||
counter = session.query(Counters).\
|
||||
filter(Counters.name == 'devices_offline_failed').first()
|
||||
counter.value += 1
|
||||
|
@ -108,8 +108,9 @@ class PingStats(object):
|
||||
'Load balancer failed\n'
|
||||
'ID: {0}\n'
|
||||
'IP: {1}\n'
|
||||
'tenant: {2}\n'.format(
|
||||
data.id, data.floatingIpAddr,
|
||||
'name: {2}\n'
|
||||
'tenant: {3}\n'.format(
|
||||
data.id, data.floatingIpAddr, data.name,
|
||||
data.tenantid
|
||||
)
|
||||
)
|
||||
@ -120,12 +121,12 @@ class PingStats(object):
|
||||
lb, instance.__class__.__name__
|
||||
)
|
||||
)
|
||||
instance.send_alert(message, data.id)
|
||||
instance.send_alert(message, data.id, data.floatingIpAddr, data.name, data.tenantid)
|
||||
session.commit()
|
||||
|
||||
def _get_lb(self, lb, session):
|
||||
lb = session.query(
|
||||
LoadBalancer.tenantid, Device.floatingIpAddr, Device.id
|
||||
LoadBalancer.tenantid, Device.floatingIpAddr, Device.id, Device.name
|
||||
).join(LoadBalancer.devices).\
|
||||
filter(Device.name == lb).first()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user