diff options
author | 2018-05-23 05:54:00 +0000 | |
---|---|---|
committer | 2018-05-23 05:54:00 +0000 | |
commit | 7fdff724bcc99855b9949a524530e3934346f847 (patch) | |
tree | 91c0bb2703f6499def7cc5cf5759103af125b343 /windriver/titanium_cloud/vesagent/vespublish.py | |
parent | 8b473657d4f7dab69bf523545bd842b4a0dcb447 (diff) |
VESagent monitors all VMs under a tenant
When no server_id or source is provided
Report batch event in case all VMs are monitored
Change-Id: Id8d65f53d9dd1a8f4ac93a62846ab6e0c5c19409
Issue-ID: MULTICLOUD-238
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Diffstat (limited to 'windriver/titanium_cloud/vesagent/vespublish.py')
-rw-r--r-- | windriver/titanium_cloud/vesagent/vespublish.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/windriver/titanium_cloud/vesagent/vespublish.py b/windriver/titanium_cloud/vesagent/vespublish.py index ab0155c2..b67a64ee 100644 --- a/windriver/titanium_cloud/vesagent/vespublish.py +++ b/windriver/titanium_cloud/vesagent/vespublish.py @@ -21,7 +21,10 @@ import urllib2 logger = logging.getLogger(__name__) -def publishAnyEventToVES(ves_subscription, event): +def publishAnyEventToVES(ves_subscription, events): + if not events or len(events) == 0: + return + logger.info("Start to send single event to VES collector.") endpoint = ves_subscription.get("endpoint", None) username = ves_subscription.get("username", None) @@ -29,14 +32,20 @@ def publishAnyEventToVES(ves_subscription, event): if endpoint: try: - logger.info("publish event to VES: %s", endpoint) + if len(events) > 1: + endpoint = "%s/eventBatch" % endpoint + events = {"eventList": events} + elif len(events) == 1: + events = {"event": events[0]} + + logger.info("publish event to VES: %s" % endpoint) headers = {'Content-Type': 'application/json'} - request = urllib2.Request(url=endpoint, headers=headers, data=json.dumps(event)) + request = urllib2.Request(url=endpoint, headers=headers, data=json.dumps(events)) time.sleep(1) response = urllib2.urlopen(request) - logger.info("VES response is: %s", response.read()) + logger.info("VES response is: %s" % response.read()) except urllib2.URLError, e: - logger.critical("Failed to publish to %s: %s", endpoint, e.reason) + logger.critical("Failed to publish to %s: %s" % (endpoint, e.reason)) except Exception as e: logger.error("exception:%s" % str(e)) else: |