From 5575827e96fd5ca2ebc88a8dbf1d290e645bdc1c Mon Sep 17 00:00:00 2001 From: Simon Argent Date: Thu, 25 Jun 2026 11:51:55 +0100 Subject: [PATCH] Add ManageEngine EndpointCentral plugin --- .../endpointCentralAllPatches.json | 64 ++ .../endpointCentralAllSystems.json | 23 + .../endpointCentralPatchSummary.json | 23 + .../dataStreams/httprequestunscoped.json | 14 + .../Endpoint Central/manifest.json | 16 + .../Endpoint Central/patchStatus.dash.json | 691 ++++++++++++++++++ .../patchVulnerabilty.dash.json | 654 +++++++++++++++++ .../Endpoint Central/rebootRequired.dash.json | 667 +++++++++++++++++ .../defaultContent/manifest.json | 8 + .../defaultContent/scopes.json | 1 + ManageEngine-EndpointCentral/icon.png | Bin 0 -> 18561 bytes ManageEngine-EndpointCentral/metadata.json | 45 ++ ManageEngine-EndpointCentral/ui.json | 30 + 13 files changed, 2236 insertions(+) create mode 100644 ManageEngine-EndpointCentral/dataStreams/endpointCentralAllPatches.json create mode 100644 ManageEngine-EndpointCentral/dataStreams/endpointCentralAllSystems.json create mode 100644 ManageEngine-EndpointCentral/dataStreams/endpointCentralPatchSummary.json create mode 100644 ManageEngine-EndpointCentral/dataStreams/httprequestunscoped.json create mode 100644 ManageEngine-EndpointCentral/defaultContent/Endpoint Central/manifest.json create mode 100644 ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchStatus.dash.json create mode 100644 ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchVulnerabilty.dash.json create mode 100644 ManageEngine-EndpointCentral/defaultContent/Endpoint Central/rebootRequired.dash.json create mode 100644 ManageEngine-EndpointCentral/defaultContent/manifest.json create mode 100644 ManageEngine-EndpointCentral/defaultContent/scopes.json create mode 100644 ManageEngine-EndpointCentral/icon.png create mode 100644 ManageEngine-EndpointCentral/metadata.json create mode 100644 ManageEngine-EndpointCentral/ui.json diff --git a/ManageEngine-EndpointCentral/dataStreams/endpointCentralAllPatches.json b/ManageEngine-EndpointCentral/dataStreams/endpointCentralAllPatches.json new file mode 100644 index 00000000..2c9031c0 --- /dev/null +++ b/ManageEngine-EndpointCentral/dataStreams/endpointCentralAllPatches.json @@ -0,0 +1,64 @@ +{ + "name": "endpointCentralAllPatches", + "displayName": "Endpoint Central - All Patches", + "description": "Lists all the systems and their patch status.", + "baseDataSourceName": "httpRequestUnscoped", + "config": { + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "paging": { + "mode": "none" + }, + "expandInnerObjects": true, + "endpointPath": "/api/1.4/patch/allpatches", + "pathToData": "message_response.allpatches", + "getArgs": [], + "headers": [] + }, + "metadata": [ + { + "name": "platform_name", + "displayName": "OS" + }, + { + "name": "s.name", + "displayName": "Criticality" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "patch_released_time" + }, + { + "pattern": ".*" + } + ], + "providesPluginDiagnostics": true, + "timeframes": false, + "tags": [], + "defaultShaping": { + "filter": { + "multiOperation": "and", + "filters": [] + }, + "group": { + "by": [], + "aggregate": [] + }, + "sort": { + "top": 10, + "by": [ + [ + "missing", + "desc" + ] + ] + } + } +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/dataStreams/endpointCentralAllSystems.json b/ManageEngine-EndpointCentral/dataStreams/endpointCentralAllSystems.json new file mode 100644 index 00000000..f9c84774 --- /dev/null +++ b/ManageEngine-EndpointCentral/dataStreams/endpointCentralAllSystems.json @@ -0,0 +1,23 @@ +{ + "name": "endpointCentralAllSystems", + "displayName": "Endpoint Central - All Systems", + "description": "Lists all the systems and their patch status.", + "baseDataSourceName": "httpRequestUnscoped", + "config": { + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "paging": { + "mode": "none" + }, + "expandInnerObjects": true, + "endpointPath": "/api/1.4/patch/allsystems", + "pathToData": "message_response.allsystems", + "getArgs": [], + "headers": [] + }, + "providesPluginDiagnostics": true, + "timeframes": false, + "tags": [] +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/dataStreams/endpointCentralPatchSummary.json b/ManageEngine-EndpointCentral/dataStreams/endpointCentralPatchSummary.json new file mode 100644 index 00000000..9b704d2f --- /dev/null +++ b/ManageEngine-EndpointCentral/dataStreams/endpointCentralPatchSummary.json @@ -0,0 +1,23 @@ +{ + "name": "endpointCentralPatchSummary", + "displayName": "Endpoint Central - Patch Summary", + "description": "Provides summaries for patch module like health status summary, scan summary etc.", + "baseDataSourceName": "httpRequestUnscoped", + "config": { + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "paging": { + "mode": "none" + }, + "expandInnerObjects": true, + "endpointPath": "/api/1.4/patch/summary", + "pathToData": "message_response.summary", + "getArgs": [], + "headers": [] + }, + "providesPluginDiagnostics": true, + "timeframes": false, + "tags": [] +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/dataStreams/httprequestunscoped.json b/ManageEngine-EndpointCentral/dataStreams/httprequestunscoped.json new file mode 100644 index 00000000..4047e208 --- /dev/null +++ b/ManageEngine-EndpointCentral/dataStreams/httprequestunscoped.json @@ -0,0 +1,14 @@ +{ + "name": "httprequestunscoped", + "displayName": "Queries per tenant (Segment)", + "baseDataSourceName": "httpRequestUnscoped", + "config": { + "httpMethod": "get", + "endpointPath": "", + "pathToData": "", + "expandInnerObjects": false, + "headers": [], + "getArgs": [] + }, + "timeframes": true +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/manifest.json b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/manifest.json new file mode 100644 index 00000000..8ff25b9f --- /dev/null +++ b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/manifest.json @@ -0,0 +1,16 @@ +{ + "items": [ + { + "name": "patchStatus", + "type": "dashboard" + }, + { + "name": "patchVulnerabilty", + "type": "dashboard" + }, + { + "name": "rebootRequired", + "type": "dashboard" + } + ] +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchStatus.dash.json b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchStatus.dash.json new file mode 100644 index 00000000..7d87c2b4 --- /dev/null +++ b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchStatus.dash.json @@ -0,0 +1,691 @@ +{ + "name": "Patch Status", + "schemaVersion": "1.5", + "dashboard": { + "_type": "layout/grid", + "contents": [ + { + "static": false, + "w": 3, + "moved": false, + "h": 3, + "x": 3, + "y": 0, + "i": "04a08963-f760-4e93-babb-3ab2a67218dc", + "z": 0, + "config": { + "_type": "tile/data-stream", + "description": "", + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Systems Summary", + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "/api/1.4/patch/summary", + "headers": [], + "pathToData": "message_response.summary", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "\r\nSELECT \r\n \"system_summary.healthy_systems\" AS value,\r\n 'Healthy' AS label\r\nFROM dataset1\r\n\r\nUNION ALL\r\nSELECT \r\n \"system_summary.moderately_vulnerable_systems\" AS value,\r\n 'Moderately Vulnerable' AS label\r\nFROM dataset1\r\n\r\nUNION ALL\r\nSELECT \r\n \"system_summary.highly_vulnerable_systems\" AS value,\r\n 'Highly Vulnerable' AS label\r\nFROM dataset1\r\n\r\nUNION ALL\r\nSELECT \r\n \"system_summary.health_unknown_systems\" AS value,\r\n 'Unknown' AS label\r\nFROM dataset1;\r\n" + }, + "metadata": [ + { + "shape": [ + "number", + { + "decimalPlaces": 0 + } + ], + "name": "value" + }, + { + "shape": [ + "state", + { + "map": { + "warning": [ + "Moderately Vulnerable" + ], + "unmonitored": [], + "error": [ + "Highly Vulnerable" + ], + "success": [ + "Healthy" + ], + "unknown": [ + "Unknown" + ] + } + } + ], + "name": "label" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "visualisation": { + "type": "data-stream-blocks", + "config": { + "data-stream-blocks": { + "stateColumn": "label", + "linkColumn": "none", + "columns": 2, + "sublabel": "value", + "labelColumn": "label[Expanded].rawState" + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 3, + "x": 0, + "y": 0, + "i": "aaa4190b-4dfc-4436-8874-0438f22afbcd", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "timeframe": "last24hours", + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "endpointCentralPatchSummary", + "id": "{{dataStreams.endpointCentralPatchSummary}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "SELECT \r\n\r\n\r\n ROUND(\r\n (\r\n (\"system_summary.total_systems\" \r\n - \"missing_patch_severity_summary.critical_count\")::DOUBLE\r\n / \"system_summary.total_systems\"::DOUBLE\r\n ) * 100,\r\n 0\r\n ) AS percent_not_missing_critical\r\nFROM dataset1;" + }, + "metadata": [ + { + "shape": [ + "percent", + { + "decimalPlaces": 0, + "asZeroToOne": false + } + ], + "name": "percent_not_missing_critical" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "KPI is 95%", + "monitor": { + "tileRollsUp": true, + "monitorType": "threshold", + "condition": { + "columns": [ + "percent_not_missing_critical" + ], + "logic": { + "if": [ + { + "<": [ + { + "var": "top" + }, + 90 + ] + }, + "error", + { + "<": [ + { + "var": "top" + }, + 95 + ] + }, + "warning" + ] + } + }, + "_type": "simple", + "column": "percent_not_missing_critical", + "aggregation": "top", + "groupBy": "__group_by_none__", + "frequency": 5 + }, + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Total Installed", + "visualisation": { + "type": "data-stream-scalar", + "config": { + "data-stream-scalar": { + "comparisonColumn": "none", + "label": "Critical", + "value": "percent_not_missing_critical", + "labelPosition": "top", + "formatted": true + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 3, + "x": 1, + "y": 0, + "i": "97fce299-4344-4c64-9ab6-9404eb520233", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "timeframe": "last24hours", + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "/api/1.4/patch/summary", + "headers": [], + "pathToData": "message_response.summary", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "\r\nSELECT\r\n ROUND(\r\n (\r\n (\"system_summary.total_systems\" \r\n - \"missing_patch_severity_summary.important_count\")::DOUBLE\r\n / \"system_summary.total_systems\"::DOUBLE\r\n ) * 100,\r\n 0\r\n ) AS percent_not_missing_important\r\nFROM dataset1;\r\n" + }, + "metadata": [ + { + "shape": [ + "percent", + { + "decimalPlaces": 0, + "asZeroToOne": false + } + ], + "name": "percent_not_missing_important" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "KPI is 95%", + "monitor": { + "tileRollsUp": true, + "monitorType": "threshold", + "condition": { + "columns": [ + "percent_not_missing_important" + ], + "logic": { + "if": [ + { + "<": [ + { + "var": "top" + }, + 90 + ] + }, + "error", + { + "<": [ + { + "var": "top" + }, + 95 + ] + }, + "warning" + ] + } + }, + "_type": "simple", + "column": "percent_not_missing_important", + "aggregation": "top", + "groupBy": "__group_by_none__", + "frequency": 15 + }, + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Total Installed", + "visualisation": { + "type": "data-stream-scalar", + "config": { + "data-stream-scalar": { + "comparisonColumn": "none", + "label": "Important", + "value": "percent_not_missing_critical", + "labelPosition": "top", + "formatted": true + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 3, + "x": 2, + "y": 0, + "i": "36cb8c49-6f07-4da4-ab2c-dd665b6a8218", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "timeframe": "last24hours", + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "/api/1.4/patch/summary", + "headers": [], + "pathToData": "message_response.summary", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "\r\nSELECT\r\n ROUND(\r\n (\r\n (\"system_summary.total_systems\" \r\n - \"missing_patch_severity_summary.moderate_count\")::DOUBLE\r\n / \"system_summary.total_systems\"::DOUBLE\r\n ) * 100,\r\n 0\r\n ) AS percent_not_missing_moderate\r\nFROM dataset1;\r\n" + }, + "metadata": [ + { + "shape": [ + "percent", + { + "decimalPlaces": 0, + "asZeroToOne": false + } + ], + "name": "percent_not_missing_moderate" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "KPI is 95%", + "monitor": { + "tileRollsUp": true, + "monitorType": "threshold", + "condition": { + "columns": [ + "percent_not_missing_moderate" + ], + "logic": { + "if": [ + { + "<": [ + { + "var": "top" + }, + 90 + ] + }, + "error", + { + "<": [ + { + "var": "top" + }, + 95 + ] + }, + "warning" + ] + } + }, + "_type": "simple", + "column": "percent_not_missing_moderate", + "aggregation": "top", + "groupBy": "__group_by_none__", + "frequency": 15 + }, + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Total Installed", + "visualisation": { + "type": "data-stream-scalar", + "config": { + "data-stream-scalar": { + "comparisonColumn": "none", + "label": "Moderate", + "value": "percent_not_missing_critical", + "labelPosition": "top", + "formatted": true + } + } + } + } + }, + { + "static": false, + "w": 3, + "moved": false, + "h": 3, + "x": 3, + "y": 3, + "i": "78309120-401e-40c0-b92f-5c2da98dd903", + "z": 0, + "config": { + "_type": "tile/data-stream", + "description": "", + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Breakdown of Missing Patches", + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "/api/1.4/patch/summary", + "headers": [], + "pathToData": "message_response.summary", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "\r\nWITH s AS (\r\n SELECT\r\n COALESCE(\"missing_patch_severity_summary.total_count\", 0) AS total_count,\r\n COALESCE(\"missing_patch_severity_summary.critical_count\", 0) AS critical_count,\r\n COALESCE(\"missing_patch_severity_summary.important_count\", 0) AS important_count,\r\n COALESCE(\"missing_patch_severity_summary.moderate_count\", 0) AS moderate_count,\r\n COALESCE(\"missing_patch_severity_summary.low_count\", 0) AS low_count,\r\n COALESCE(\"missing_patch_severity_summary.unrated_count\", 0) AS unrated_count\r\n FROM dataset1\r\n)\r\n\r\n-- Percentages as strings with 2 decimals and a % sign\r\nSELECT printf('%.2f%%',\r\n CASE WHEN total_count > 0 THEN 100.0 * critical_count / total_count ELSE 0 END) AS value,\r\n 'Critical' AS label\r\nFROM s\r\n\r\nUNION ALL\r\nSELECT printf('%.2f%%',\r\n CASE WHEN total_count > 0 THEN 100.0 * important_count / total_count ELSE 0 END) AS value,\r\n 'Important' AS label\r\nFROM s\r\n\r\nUNION ALL\r\nSELECT printf('%.2f%%',\r\n CASE WHEN total_count > 0 THEN 100.0 * moderate_count / total_count ELSE 0 END) AS value,\r\n 'Moderate' AS label\r\nFROM s\r\n\r\nUNION ALL\r\nSELECT printf('%.2f%%',\r\n CASE WHEN total_count > 0 THEN 100.0 * low_count / total_count ELSE 0 END) AS value,\r\n 'Low' AS label\r\nFROM s\r\n\r\nUNION ALL\r\nSELECT printf('%.2f%%',\r\n CASE WHEN total_count > 0 THEN 100.0 * unrated_count / total_count ELSE 0 END) AS value,\r\n 'Unrated' AS label\r\nFROM s\r\n\r\nUNION ALL\r\n-- Total Count as a string with 0 decimals (no % sign)\r\nSELECT printf('%.0f', CAST(total_count AS DOUBLE)) AS value,\r\n 'Total Count' AS label\r\nFROM s;\r\n" + }, + "metadata": [ + { + "shape": [ + "percent", + { + "decimalPlaces": 2, + "asZeroToOne": false + } + ], + "name": "critical_pct" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "visualisation": { + "type": "data-stream-blocks", + "config": { + "data-stream-blocks": { + "linkColumn": "none", + "sublabel": "value", + "columns": 3, + "labelColumn": "label" + } + } + } + } + }, + { + "static": false, + "w": 3, + "moved": false, + "h": 3, + "x": 0, + "y": 3, + "i": "330afd71-bfce-40a8-acb8-8a10c3f7de79", + "z": 0, + "config": { + "_type": "tile/data-stream", + "description": "", + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Missing Patch Severity", + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "/api/1.4/patch/summary", + "headers": [], + "pathToData": "message_response.summary", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "\r\nSELECT \r\n \"missing_patch_severity_summary.moderate_count\" AS value,\r\n 'Moderate' AS label\r\nFROM dataset1\r\n\r\nUNION ALL\r\nSELECT \r\n \"missing_patch_severity_summary.unrated_count\" AS value,\r\n 'Unrated' AS label\r\nFROM dataset1\r\n\r\nUNION ALL\r\nSELECT \r\n \"missing_patch_severity_summary.critical_count\" AS value,\r\n 'Critical' AS label\r\nFROM dataset1\r\n\r\nUNION ALL\r\nSELECT \r\n \"missing_patch_severity_summary.important_count\" AS value,\r\n 'Important' AS label\r\nFROM dataset1\r\n\r\nUNION ALL\r\nSELECT \r\n \"missing_patch_severity_summary.low_count\" AS value,\r\n 'Low' AS label\r\nFROM dataset1;\r\n" + }, + "metadata": [ + { + "shape": [ + "number", + { + "decimalPlaces": 0 + } + ], + "name": "value" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "visualisation": { + "type": "data-stream-donut-chart", + "config": { + "data-stream-donut-chart": { + "valueColumn": "value", + "labelColumn": "label" + } + } + } + } + }, + { + "static": false, + "w": 6, + "moved": false, + "h": 3, + "x": 0, + "y": 6, + "i": "fcc5df5f-c1ff-4e97-9534-5af204f7c9ae", + "z": 0, + "config": { + "timeframe": "last24hours", + "dataStream": { + "name": "endpointCentralAllPatches", + "filter": { + "multiOperation": "and", + "filters": [] + }, + "id": "{{dataStreams.endpointCentralAllPatches}}", + "sort": { + "top": 10, + "by": [ + [ + "missing", + "desc" + ] + ] + }, + "group": { + "by": [], + "aggregate": [] + }, + "pluginConfigId": "{{configId}}" + }, + "_type": "tile/data-stream", + "description": "", + "activePluginConfigIds": [ + "{{configId}}" + ], + "baseTile": "data-stream-base-tile", + "title": "Top Missing Patches", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "patch_released_time", + "platform_name", + "missing", + "s.name", + "patch_name", + "patch_description" + ], + "resizedColumns": { + "columnWidths": { + "platform_name": 135 + } + }, + "hiddenColumns": [ + "au.first_name", + "bulletin_id", + "cps.status_id", + "cps.updated_time", + "installed", + "patch_id", + "patch_noreboot", + "patch_size", + "patch_supported_time", + "patch_uninstall_status", + "platform", + "severity", + "severity_name", + "sqnumber", + "status_id", + "status_image", + "status_label", + "superceded_by", + "vendor_name", + "failed", + "update_name" + ] + } + } + } + } + } + ], + "version": 204, + "columns": 6 + } +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchVulnerabilty.dash.json b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchVulnerabilty.dash.json new file mode 100644 index 00000000..31a84474 --- /dev/null +++ b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/patchVulnerabilty.dash.json @@ -0,0 +1,654 @@ +{ + "name": "Patch Vulnerabilty", + "schemaVersion": "1.5", + "dashboard": { + "_type": "layout/grid", + "contents": [ + { + "static": false, + "w": 1, + "moved": false, + "h": 4, + "x": 0, + "y": 0, + "i": "074d61fc-5f5c-45d8-9353-1bb4d68a272a", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "endpointCentralAllSystems", + "id": "{{dataStreams.endpointCentralAllSystems}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "SELECT \r\n CASE\r\n WHEN computer_live_status = 1 THEN 'Live'\r\n ELSE 'Down'\r\n END AS State,\r\n resource_name AS system_name,\r\n Owner AS Owner,\r\n agent_last_contact_time AS 'Last Contact',\r\n critical_patch_count AS 'Critical',\r\n important_patch_count AS 'Important'\r\nFROM dataset1\r\nWHERE resource_health_status = 3\r\nORDER BY resource_name" + }, + "metadata": [ + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "Last Contact" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "1+ Critical or 2+ Important severity patches missing", + "activePluginConfigIds": [ + "{{configId}}" + ], + "baseTile": "data-stream-base-tile", + "title": "Highly Vulnerable Systems", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "State", + "system_name", + "Owner", + "Last Contact", + "Critical", + "Important" + ], + "resizedColumns": { + "columnWidths": { + "critical_patch_count": 94 + } + }, + "hiddenColumns": [ + "computer_state[Expanded].rawState" + ] + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 4, + "x": 2, + "y": 0, + "i": "91ff7fda-ac3f-465c-b2a9-6663462c23d1", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "headers": [], + "pathToData": "message_response.allsystems", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "SELECT \r\n CASE\r\n WHEN computer_live_status = 1 THEN 'Live'\r\n ELSE 'Down'\r\n END AS State,\r\n resource_name AS system_name,\r\n Owner,\r\n critical_patch_count AS 'Critical',\r\n important_patch_count AS 'Important'\r\nFROM dataset1\r\nWHERE resource_health_status IS NULL\r\nORDER BY resource_name\r\n\r\n" + }, + "metadata": [ + { + "shape": [ + "state", + { + "map": { + "warning": [], + "unmonitored": [], + "error": [ + "Down" + ], + "success": [ + "Live" + ], + "unknown": [] + } + } + ], + "name": "computer_state" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "Likely need agent reinstalling", + "activePluginConfigIds": [ + "{{configId}}" + ], + "baseTile": "data-stream-base-tile", + "title": "Unknown Vulnerability Systems", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "State", + "system_name", + "owner", + "Critical", + "Important" + ], + "resizedColumns": { + "columnWidths": { + "critical_patch_count": 94 + } + }, + "hiddenColumns": [ + "computer_state[Expanded].rawState" + ] + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 4, + "x": 1, + "y": 0, + "i": "a4badb3c-9f73-4bf8-af56-608fc01c2141", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "headers": [], + "pathToData": "message_response.allsystems", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "\r\nSELECT \r\n CASE\r\n WHEN computer_live_status = 1 THEN 'Live'\r\n ELSE 'Down'\r\n END AS State,\r\n resource_name AS system_name,\r\n Owner,\r\n moderate_patch_count AS 'Moderate',\r\n low_patch_count AS 'Low'\r\nFROM dataset1\r\nWHERE resource_health_status = 2\r\nORDER BY resource_name\r\n" + }, + "metadata": [ + { + "shape": [ + "state", + { + "map": { + "warning": [], + "unmonitored": [], + "error": [ + "Down" + ], + "success": [ + "Live" + ], + "unknown": [] + } + } + ], + "name": "computer_state" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "3+ Moderate or 4+ Low severity patches missing", + "activePluginConfigIds": [ + "{{configId}}" + ], + "baseTile": "data-stream-base-tile", + "title": "Moderately Vulnerable Systems", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [], + "resizedColumns": { + "columnWidths": { + "owner": 307, + "critical_patch_count": 94, + "Critical": 74, + "Important": 94 + } + }, + "hiddenColumns": [ + "computer_state[Expanded].rawState" + ] + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 6, + "x": 1, + "y": 4, + "i": "aa8c74f3-270d-47e2-bd95-41088cc97d6c", + "z": 0, + "config": { + "timeframe": "last24hours", + "dataStream": { + "pluginConfigId": "{{configId}}", + "filter": { + "multiOperation": "and", + "filters": [ + { + "column": "agent_last_contact_time", + "tenseUnit": "before", + "unit": "days", + "operation": "datemorethan", + "value": "14" + } + ] + }, + "metadata": [ + { + "name": "agent_logged_on_users", + "displayName": "Logged On Users" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "last_patched_time" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "agent_last_contact_time", + "displayName": "Last Contact" + }, + { + "pattern": ".*" + } + ], + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "pathToData": "message_response.allsystems", + "headers": [], + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "sort": {}, + "group": { + "by": [], + "aggregate": [] + } + }, + "_type": "tile/data-stream", + "description": "", + "activePluginConfigIds": [ + "{{configId}}" + ], + "baseTile": "data-stream-base-tile", + "title": "Systems Offline for 15+ Days", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [], + "resizedColumns": { + "columnWidths": { + "resource_name": 152, + "agent_logged_on_users": 208, + "agent_last_contact_time": 146 + } + }, + "hiddenColumns": [ + "total_driver_patches", + "resource_health_status", + "missing_bios_patches", + "os_language", + "branchmemberresourcerel.resource_id", + "branch_office_id", + "last_patched_time", + "os_platform_name", + "resource_id_string", + "pmreshealthstatus.resource_id", + "customerinfo.customer_id", + "installed_tp_patches", + "installed_ms_patches", + "important_patch_count", + "service_pack", + "resourcetorebootdetails.resource_id", + "pmresourcepatchcount.resource_id", + "resourcetorebootdetails.reboot_req_status", + "os_language_abbr", + "resourcedeploymentstatus.resource_id", + "scan_remarks", + "os_platform", + "agent_last_ds_contact_time", + "missing_driver_patches", + "total_ms_patches", + "osflavor_id", + "search_tag", + "status_label", + "owner_email_id", + "missing_ms_patches", + "last_action_initiated_on", + "missing_tp_patches", + "low_patch_count", + "patchmgmtosinfo.resource_id", + "last_successful_scan", + "computer_status_update_time", + "branch_office_name", + "total_tp_patches", + "description", + "critical_patch_count", + "installed_bios_patches", + "domain_netbios_name", + "total_bios_patches", + "fqdn_name", + "installed_driver_patches", + "mac_address", + "resource.resource_id", + "shutdown_status_update_time", + "moderate_patch_count", + "scan_status", + "managedcomputer.friendly_name", + "timezone_offset", + "oslanguage.languageid", + "last_sync_time", + "deployment_status", + "oslanguage.i18n", + "ip_address", + "shutdown_status", + "agent_last_bootup_time", + "resource_id", + "os_name", + "location", + "computer_live_status", + "customer_name", + "last_scan_time", + "customer_id", + "remarks", + "last_operation", + "status_image", + "agent_logged_on_users" + ] + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 4, + "x": 0, + "y": 4, + "i": "e7af8d6c-ced5-4e82-8382-32a0365fdb5c", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "headers": [], + "pathToData": "message_response.allsystems", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "SELECT \r\n CASE\r\n WHEN computer_live_status = 1 THEN 'Live'\r\n ELSE 'Down'\r\n END AS State,\r\n resource_name AS system_name,\r\n Owner,\r\n critical_patch_count AS 'Critical',\r\n important_patch_count AS 'Important'\r\nFROM dataset1\r\nORDER BY resource_name\r\n\r\n" + }, + "metadata": [ + { + "shape": [ + "state", + { + "map": { + "warning": [], + "unmonitored": [], + "error": [ + "Down" + ], + "success": [ + "Live" + ], + "unknown": [] + } + } + ], + "name": "computer_state" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "", + "activePluginConfigIds": [ + "{{configId}}" + ], + "baseTile": "data-stream-base-tile", + "title": "Deployment Failed", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "State", + "system_name", + "owner", + "Critical", + "Important" + ], + "resizedColumns": { + "columnWidths": { + "owner": 90, + "critical_patch_count": 94 + } + }, + "hiddenColumns": [ + "computer_state[Expanded].rawState" + ] + } + } + } + } + }, + { + "static": false, + "w": 1, + "moved": false, + "h": 6, + "x": 2, + "y": 4, + "i": "f740d8e0-3153-4ade-b08f-ab4752c5b667", + "z": 0, + "config": { + "dataStream": { + "dataSourceConfig": { + "version": "2.0", + "tables": [ + { + "config": { + "activePluginConfigIds": [ + "{{configId}}" + ], + "dataStream": { + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "headers": [], + "pathToData": "message_response.allsystems", + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "errorHandling": { + "type": "default" + }, + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "pluginConfigId": "{{configId}}" + } + }, + "tableName": "dataset1" + } + ], + "sql": "SELECT \r\n CASE\r\n WHEN computer_live_status = 1 THEN 'Live'\r\n ELSE 'Down'\r\n END AS State,\r\n resource_name AS system_name,\r\n Owner,\r\n critical_patch_count AS 'Critical',\r\n important_patch_count AS 'Important'\r\nFROM dataset1\r\nORDER BY resource_name\r\n\r\n" + }, + "metadata": [ + { + "shape": [ + "state", + { + "map": { + "warning": [], + "unmonitored": [], + "error": [ + "Down" + ], + "success": [ + "Live" + ], + "unknown": [] + } + } + ], + "name": "computer_state" + }, + { + "pattern": ".*" + } + ], + "id": "datastream-sql" + }, + "_type": "tile/data-stream", + "description": "Number of machines that require a reboot following patching", + "activePluginConfigIds": [ + "{{configId}}" + ], + "baseTile": "data-stream-base-tile", + "title": "Healthy Systems", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "State", + "system_name", + "owner", + "Critical", + "Important" + ], + "resizedColumns": { + "columnWidths": { + "critical_patch_count": 94 + } + }, + "hiddenColumns": [ + "computer_state[Expanded].rawState" + ] + } + } + } + } + } + ], + "version": 128, + "columns": 3 + } +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/rebootRequired.dash.json b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/rebootRequired.dash.json new file mode 100644 index 00000000..bf6764f0 --- /dev/null +++ b/ManageEngine-EndpointCentral/defaultContent/Endpoint Central/rebootRequired.dash.json @@ -0,0 +1,667 @@ +{ + "name": "Reboot Required", + "schemaVersion": "1.5", + "dashboard": { + "_type": "layout/grid", + "contents": [ + { + "static": false, + "w": 2, + "moved": false, + "h": 9, + "x": 3, + "y": 0, + "i": "271a26e8-91de-4117-aa56-8ba8380f376d", + "z": 0, + "config": { + "timeframe": "last24hours", + "dataStream": { + "pluginConfigId": "{{configId}}", + "filter": { + "multiOperation": "and", + "filters": [ + { + "column": "resourcetorebootdetails.reboot_req_status", + "operation": "equals", + "value": "true" + }, + { + "column": "service_pack", + "operation": "contains", + "value": "Windows" + }, + { + "column": "service_pack", + "operation": "contains", + "value": "Server" + } + ] + }, + "metadata": [ + { + "shape": [ + "state", + { + "map": { + "warning": [], + "unmonitored": [], + "error": [ + "2" + ], + "success": [ + "1" + ], + "unknown": [] + } + } + ], + "name": "computer_live_status" + }, + { + "shape": [ + "state", + { + "map": { + "warning": [ + "2" + ], + "unmonitored": [], + "error": [ + "3" + ], + "success": [ + "1" + ], + "unknown": [] + } + } + ], + "name": "resource_health_status" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "last_patched_time" + }, + { + "shape": [ + "date", + { + "format": "dd/mm/yyyy", + "timeZone": "Etc/UTC" + } + ], + "name": "agent_last_bootup_time" + }, + { + "pattern": ".*" + } + ], + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "pathToData": "message_response.allsystems", + "headers": [], + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "sort": { + "by": [ + [ + "os_name_uniqueValues", + "asc" + ] + ] + }, + "group": { + "by": [], + "aggregate": [] + } + }, + "_type": "tile/data-stream", + "description": "Number of machines that require a reboot following patching", + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Windows Servers", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "resource_name", + "last_patched_time", + "agent_last_bootup_time", + "computer_live_status", + "resource_health_status" + ], + "columnDisplayNames": {}, + "hiddenColumns": [ + "os_language", + "resource_id_string", + "branchmemberresourcerel.resource_id", + "branch_office_name", + "branch_office_id", + "mac_address", + "oslanguage.i18n", + "pmreshealthstatus.resource_id", + "customerinfo.customer_id", + "ip_address", + "resource_id", + "customer_name", + "status_image", + "pmresourcepatchcount.resource_id", + "os_language_abbr", + "resourcedeploymentstatus.resource_id", + "scan_remarks", + "os_platform", + "agent_logged_on_users", + "osflavor_id", + "search_tag", + "owner_email_id", + "patchmgmtosinfo.resource_id", + "description", + "fqdn_name", + "resource.resource_id", + "owner", + "timezone_offset", + "oslanguage.languageid", + "last_sync_time", + "location", + "customer_id", + "remarks", + "last_operation", + "agent_last_contact_time", + "agent_last_ds_contact_time", + "deployment_status", + "domain_netbios_name", + "installed_bios_patches", + "installed_driver_patches", + "installed_ms_patches", + "installed_tp_patches", + "last_action_initiated_on", + "last_scan_time", + "last_successful_scan", + "low_patch_count", + "missing_bios_patches", + "missing_driver_patches", + "critical_patch_count", + "important_patch_count", + "os_name", + "os_platform_name", + "resourcetorebootdetails.reboot_req_status", + "resourcetorebootdetails.resource_id", + "scan_status", + "service_pack", + "shutdown_status", + "shutdown_status_update_time", + "status_label", + "total_bios_patches", + "total_driver_patches", + "total_ms_patches", + "total_tp_patches", + "missing_ms_patches", + "missing_tp_patches", + "moderate_patch_count", + "resource_health_status[Expanded].rawState", + "computer_live_status[Expanded].rawState", + "managedcomputer.friendly_name", + "computer_status_update_time" + ] + } + } + } + } + }, + { + "static": false, + "w": 3, + "moved": false, + "h": 3, + "x": 0, + "y": 0, + "i": "9632cd8f-e442-48d2-8c93-cb412909c0bc", + "z": 0, + "config": { + "timeframe": "last24hours", + "dataStream": { + "pluginConfigId": "{{configId}}", + "filter": { + "multiOperation": "and", + "filters": [ + { + "column": "resourcetorebootdetails.reboot_req_status", + "operation": "equals", + "value": "true" + }, + { + "column": "service_pack", + "operation": "contains", + "value": "Windows" + }, + { + "column": "service_pack", + "operation": "notcontains", + "value": "Server" + }, + { + "column": "agent_last_bootup_time", + "tenseUnit": "before", + "unit": "days", + "operation": "datemorethan", + "value": "7" + } + ] + }, + "metadata": [ + { + "shape": [ + "state", + { + "map": { + "warning": [], + "unmonitored": [], + "error": [ + "2" + ], + "success": [ + "1" + ], + "unknown": [] + } + } + ], + "name": "computer_live_status" + }, + { + "shape": [ + "state", + { + "map": { + "warning": [ + "2" + ], + "unmonitored": [], + "error": [ + "3" + ], + "success": [ + "1" + ], + "unknown": [] + } + } + ], + "name": "resource_health_status" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "last_patched_time" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "agent_last_bootup_time" + }, + { + "pattern": ".*" + } + ], + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "pathToData": "message_response.allsystems", + "headers": [], + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "sort": { + "by": [ + [ + "os_name_uniqueValues", + "asc" + ] + ] + }, + "group": { + "by": [], + "aggregate": [] + } + }, + "_type": "tile/data-stream", + "description": "More than 7 days since rebooting", + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Windows Laptops >7Days", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "resource_name", + "last_patched_time", + "agent_last_bootup_time", + "owner", + "computer_live_status", + "resource_health_status" + ], + "columnDisplayNames": {}, + "hiddenColumns": [ + "os_language", + "resource_id_string", + "branchmemberresourcerel.resource_id", + "branch_office_name", + "branch_office_id", + "mac_address", + "oslanguage.i18n", + "pmreshealthstatus.resource_id", + "customerinfo.customer_id", + "ip_address", + "resource_id", + "customer_name", + "status_image", + "pmresourcepatchcount.resource_id", + "os_language_abbr", + "resourcedeploymentstatus.resource_id", + "scan_remarks", + "os_platform", + "osflavor_id", + "search_tag", + "owner_email_id", + "patchmgmtosinfo.resource_id", + "description", + "resource.resource_id", + "timezone_offset", + "oslanguage.languageid", + "last_sync_time", + "location", + "customer_id", + "remarks", + "last_operation", + "agent_last_contact_time", + "agent_last_ds_contact_time", + "computer_status_update_time", + "deployment_status", + "domain_netbios_name", + "installed_bios_patches", + "installed_driver_patches", + "installed_ms_patches", + "installed_tp_patches", + "last_action_initiated_on", + "last_scan_time", + "last_successful_scan", + "low_patch_count", + "missing_bios_patches", + "missing_driver_patches", + "critical_patch_count", + "important_patch_count", + "os_name", + "os_platform_name", + "resourcetorebootdetails.reboot_req_status", + "resourcetorebootdetails.resource_id", + "scan_status", + "service_pack", + "shutdown_status", + "shutdown_status_update_time", + "status_label", + "total_bios_patches", + "total_driver_patches", + "total_ms_patches", + "total_tp_patches", + "missing_ms_patches", + "missing_tp_patches", + "moderate_patch_count", + "resource_health_status[Expanded].rawState", + "computer_live_status[Expanded].rawState", + "managedcomputer.friendly_name", + "fqdn_name", + "agent_logged_on_users" + ] + } + } + } + } + }, + { + "static": false, + "w": 3, + "moved": false, + "h": 6, + "x": 0, + "y": 3, + "i": "be5a2e23-d89c-436b-a54f-967963c313b4", + "z": 0, + "config": { + "timeframe": "last24hours", + "dataStream": { + "pluginConfigId": "{{configId}}", + "filter": { + "multiOperation": "and", + "filters": [ + { + "column": "resourcetorebootdetails.reboot_req_status", + "operation": "equals", + "value": "true" + }, + { + "column": "service_pack", + "operation": "contains", + "value": "Windows" + }, + { + "column": "service_pack", + "operation": "notcontains", + "value": "Server" + } + ] + }, + "metadata": [ + { + "shape": [ + "state", + { + "map": { + "warning": [], + "unmonitored": [], + "error": [ + "2" + ], + "success": [ + "1" + ], + "unknown": [] + } + } + ], + "name": "computer_live_status" + }, + { + "shape": [ + "state", + { + "map": { + "warning": [ + "2" + ], + "unmonitored": [], + "error": [ + "3" + ], + "success": [ + "1" + ], + "unknown": [] + } + } + ], + "name": "resource_health_status" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "last_patched_time" + }, + { + "shape": [ + "date", + { + "timeZone": "Etc/UTC" + } + ], + "name": "agent_last_bootup_time" + }, + { + "pattern": ".*" + } + ], + "name": "configurableHttpRequestV2", + "dataSourceConfig": { + "endpointPath": "api/1.4/patch/allsystems", + "pathToData": "message_response.allsystems", + "headers": [], + "paging": { + "mode": "none" + }, + "httpMethod": "get", + "getArgs": [] + }, + "id": "{{dataStreams.configurableHttpRequestV2}}", + "sort": { + "by": [ + [ + "os_name_uniqueValues", + "asc" + ] + ] + }, + "group": { + "by": [], + "aggregate": [] + } + }, + "_type": "tile/data-stream", + "description": "Number of machines that require a reboot following patching", + "activePluginConfigIds": [ + "{{configId}}" + ], + "title": "Windows Laptops", + "visualisation": { + "type": "data-stream-table", + "config": { + "data-stream-table": { + "columnOrder": [ + "resource_name", + "last_patched_time", + "agent_last_bootup_time", + "owner", + "computer_live_status", + "resource_health_status" + ], + "columnDisplayNames": {}, + "hiddenColumns": [ + "os_language", + "resource_id_string", + "branchmemberresourcerel.resource_id", + "branch_office_name", + "branch_office_id", + "mac_address", + "oslanguage.i18n", + "pmreshealthstatus.resource_id", + "customerinfo.customer_id", + "ip_address", + "resource_id", + "customer_name", + "status_image", + "pmresourcepatchcount.resource_id", + "os_language_abbr", + "resourcedeploymentstatus.resource_id", + "scan_remarks", + "os_platform", + "osflavor_id", + "search_tag", + "owner_email_id", + "patchmgmtosinfo.resource_id", + "description", + "resource.resource_id", + "timezone_offset", + "oslanguage.languageid", + "last_sync_time", + "location", + "customer_id", + "remarks", + "last_operation", + "agent_last_contact_time", + "agent_last_ds_contact_time", + "computer_status_update_time", + "deployment_status", + "domain_netbios_name", + "installed_bios_patches", + "installed_driver_patches", + "installed_ms_patches", + "installed_tp_patches", + "last_action_initiated_on", + "last_scan_time", + "last_successful_scan", + "low_patch_count", + "missing_bios_patches", + "missing_driver_patches", + "critical_patch_count", + "important_patch_count", + "os_name", + "os_platform_name", + "resourcetorebootdetails.reboot_req_status", + "resourcetorebootdetails.resource_id", + "scan_status", + "service_pack", + "shutdown_status", + "shutdown_status_update_time", + "status_label", + "total_bios_patches", + "total_driver_patches", + "total_ms_patches", + "total_tp_patches", + "missing_ms_patches", + "missing_tp_patches", + "moderate_patch_count", + "resource_health_status[Expanded].rawState", + "computer_live_status[Expanded].rawState", + "managedcomputer.friendly_name", + "fqdn_name", + "agent_logged_on_users" + ] + } + } + } + } + } + ], + "version": 51, + "columns": 5 + } +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/defaultContent/manifest.json b/ManageEngine-EndpointCentral/defaultContent/manifest.json new file mode 100644 index 00000000..19c42a65 --- /dev/null +++ b/ManageEngine-EndpointCentral/defaultContent/manifest.json @@ -0,0 +1,8 @@ +{ + "items": [ + { + "name": "Endpoint Central", + "type": "folder" + } + ] +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/defaultContent/scopes.json b/ManageEngine-EndpointCentral/defaultContent/scopes.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/ManageEngine-EndpointCentral/defaultContent/scopes.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/icon.png b/ManageEngine-EndpointCentral/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2ecb8f772833881724a538a6275c93577abdd3c8 GIT binary patch literal 18561 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 literal 0 HcmV?d00001 diff --git a/ManageEngine-EndpointCentral/metadata.json b/ManageEngine-EndpointCentral/metadata.json new file mode 100644 index 00000000..f441f66b --- /dev/null +++ b/ManageEngine-EndpointCentral/metadata.json @@ -0,0 +1,45 @@ +{ + "name": "endpoint-central", + "displayName": "Endpoint Central", + "version": "1.0.0", + "author": { + "name": "Simon Argent", + "type": "community" + }, + "description": "Provides summaries for patch module like health status summary, scan summary etc.", + "category": "Monitoring", + "type": "hybrid", + "schemaVersion": "2.0", + "base": { + "plugin": "WebAPI", + "majorVersion": "1", + "config": { + "queryArgs": [ + { + "value": "300", + "key": "pagelimit" + } + ], + "oauth2TokenExtraArgs": [], + "oauth2ClientSecret": "{{clientsecret}}", + "oauth2ClientSecretLocationDuringAuth": "query", + "oauth2AuthUrl": "https://accounts.zoho.eu/oauth/v2/auth", + "oauth2TokenExtraHeaders": [], + "oauth2AuthExtraArgs": [ + { + "value": "offline", + "key": "access_type" + } + ], + "ignoreCertificateErrors": false, + "oauth2SendTokenInParameters": false, + "headers": [], + "authMode": "oauth2", + "oauth2GrantType": "authCode", + "baseUrl": "https://endpointcentral.manageengine.eu", + "oauth2TokenUrl": "https://accounts.zoho.eu/oauth/v2/token", + "oauth2ClientId": "{{clientid}}", + "oauth2Scope": "DesktopCentralCloud.PatchMgmt.READ" + } + } +} \ No newline at end of file diff --git a/ManageEngine-EndpointCentral/ui.json b/ManageEngine-EndpointCentral/ui.json new file mode 100644 index 00000000..12147ee5 --- /dev/null +++ b/ManageEngine-EndpointCentral/ui.json @@ -0,0 +1,30 @@ +[ + { + "type": "text", + "name": "clientid", + "label": "Client ID", + "placeholder": "Enter your Client ID", + "help": "Create a client in the ManageEngine Developer Portal (https://accounts.zoho.eu/developerconsole)", + "validation": { + "required": true + } + }, + { + "type": "password", + "name": "clientsecret", + "label": "Client Secret", + "placeholder": "Enter your Client Secret", + "help": "Create a client in the ManageEngine Developer Portal (https://accounts.zoho.eu/developerconsole)", + "validation": { + "required": true + } + }, + { + "type": "oAuth2", + "name": "oauth2AuthCodeSignIn", + "label": "Authorize", + "validation": { + "required": true + } + } +] \ No newline at end of file