From ff83feda483e82abf5267ebc3b922373a3beef8f Mon Sep 17 00:00:00 2001 From: Rakhi Mundhada Date: Tue, 12 Sep 2023 11:02:34 +0530 Subject: [PATCH] Fixed the error object for simLog and set the error code for carbonblack --- collectors/carbonblack/collector.js | 2 +- collectors/carbonblack/package.json | 2 +- collectors/mimecast/collector.js | 20 +++++++++++++++----- collectors/mimecast/package.json | 2 +- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/collectors/carbonblack/collector.js b/collectors/carbonblack/collector.js index 9f21053f..ec7e440e 100644 --- a/collectors/carbonblack/collector.js +++ b/collectors/carbonblack/collector.js @@ -115,7 +115,7 @@ class CarbonblackCollector extends PawsCollector { .catch((error) => { // set errorCode if not available in error object to showcase client error on DDMetric if (error.response && error.response.data) { - error.response.data.errorCode = error.response.data.error_code; + error.response.data.errorCode = error.response.data.error_code ? error.response.data.error_code : error.response.status; return callback(error.response.data); } else { diff --git a/collectors/carbonblack/package.json b/collectors/carbonblack/package.json index a51e981d..58b4ac5a 100644 --- a/collectors/carbonblack/package.json +++ b/collectors/carbonblack/package.json @@ -1,6 +1,6 @@ { "name": "carbonblack-collector", - "version": "1.0.46", + "version": "1.0.48", "description": "Alert Logic AWS based Carbonblack Log Collector", "repository": {}, "private": true, diff --git a/collectors/mimecast/collector.js b/collectors/mimecast/collector.js index 4a10b67a..697871f0 100644 --- a/collectors/mimecast/collector.js +++ b/collectors/mimecast/collector.js @@ -123,10 +123,6 @@ class MimecastCollector extends PawsCollector { AlLogger.info(`MIME000003 Next collection in ${newState.poll_interval_sec} seconds`); return callback(null, accumulator, newState, newState.poll_interval_sec); }).catch((error) => { - // set errorCode if not available in error object to showcase client error on DDMetrics - if (error.code) { - error.errorCode = error.code; - } if (error.response && error.response.status == 429) { state.poll_interval_sec = 900; AlLogger.warn("MIME000004 The Mimecast service you're trying to access is temporarily busy. Please try again in a few minutes and then contact your IT helpdesk if you still have problems."); @@ -136,9 +132,23 @@ class MimecastCollector extends PawsCollector { } else { if (error.response && error.response.data) { - return callback(error.response.data); + error.response.data.errorCode = error.response.status; + if (state.stream === Siem_Logs) { + const bufferData = Buffer.from(error.response.data, 'utf-8'); + const bufferString = bufferData.toString('utf-8'); + try { + const parseError = JSON.parse(bufferString); + return callback(parseError); + } catch (err) { + return callback(error); + } + } + else { + return callback(error.response.data); + } } else { + error.errorCode = error.code ? error.code : error.response.status; return callback(error); } } diff --git a/collectors/mimecast/package.json b/collectors/mimecast/package.json index 90915b64..32735392 100644 --- a/collectors/mimecast/package.json +++ b/collectors/mimecast/package.json @@ -1,6 +1,6 @@ { "name": "mimecast-collector", - "version": "1.0.39", + "version": "1.0.40", "description": "Alert Logic AWS based Mimecast Log Collector", "repository": {}, "private": true,