From 61827efcc87644acd5e8bc62fc0ee4e826ebc7f8 Mon Sep 17 00:00:00 2001 From: sri-shetty <52978309+sri-shetty@users.noreply.github.com> Date: Thu, 23 Sep 2021 11:06:18 -0400 Subject: [PATCH] EXT-AIX_ORACLE new entity type (#322) --- definitions/ext-aix_oracle/dashboard.json | 418 ++++++++++++++++++ definitions/ext-aix_oracle/definition.yml | 17 + definitions/ext-aix_oracle/golden_metrics.yml | 27 ++ .../ext-aix_oracle/summary_metrics.yml | 24 + 4 files changed, 486 insertions(+) create mode 100644 definitions/ext-aix_oracle/dashboard.json create mode 100644 definitions/ext-aix_oracle/definition.yml create mode 100644 definitions/ext-aix_oracle/golden_metrics.yml create mode 100644 definitions/ext-aix_oracle/summary_metrics.yml diff --git a/definitions/ext-aix_oracle/dashboard.json b/definitions/ext-aix_oracle/dashboard.json new file mode 100644 index 000000000..5547a8c78 --- /dev/null +++ b/definitions/ext-aix_oracle/dashboard.json @@ -0,0 +1,418 @@ +{ + "name": "AIX Oracle Database Status", + "description": null, + "permissions": "PUBLIC_READ_WRITE", + "pages": [{ + "name": "AIX Oracle Database Status", + "description": null, + "widgets": [{ + "visualization": { + "id": "viz.table" + }, + "layout": { + "column": 1, + "row": 1, + "height": 3, + "width": 7 + }, + "title": "Oracle Server Onboarding ", + "rawConfiguration": { + "dataFormatters": [], + "facet": { + "showOtherSeries": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select latest(timestamp) from Oracle FACET hostname, database, instance_name, instance_mode, database_status SINCE 1 hour ago LIMIT MAX " + }] + } + }, + { + "visualization": { + "id": "viz.table" + }, + "layout": { + "column": 8, + "row": 1, + "height": 3, + "width": 3 + }, + "title": "Oracle Server Onboarding Status", + "rawConfiguration": { + "dataFormatters": [], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "SELECT latest(timestamp) from Oracle FACET databaseHost LIMIT MAX since 1 hour ago" + }] + } + }, + { + "visualization": { + "id": "viz.billboard" + }, + "layout": { + "column": 11, + "row": 1, + "height": 3, + "width": 2 + }, + "title": "Oracle Database Host Count", + "rawConfiguration": { + "dataFormatters": [], + "nrqlQueries": [{ + "accountId": 0, + "query": "SELECT uniqueCount(databaseHost) from Oracle" + }], + "thresholds": [] + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 1, + "row": 4, + "height": 3, + "width": 4 + }, + "title": "Average PGA Allocated ", + "rawConfiguration": { + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select latest(value) from Oracle where metric_name = 'Total PGA Allocated' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 5, + "row": 4, + "height": 3, + "width": 4 + }, + "title": "Avergae User Calls Per Second", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select latest(value) from Oracle where metric_name = 'User Calls Per Sec' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 9, + "row": 4, + "height": 3, + "width": 4 + }, + "title": "Average Temp Space", + "rawConfiguration": { + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select latest(value) from Oracle where metric_name ='Temp Space Used' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 1, + "row": 7, + "height": 3, + "width": 4 + }, + "title": "Average Session Count", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select latest(value) from Oracle where metric_name = 'Session Count' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 5, + "row": 7, + "height": 3, + "width": 4 + }, + "title": "Average Cell Physical IO Interconnect Bytes", + "rawConfiguration": { + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select latest(value) from Oracle where metric_name = 'Cell Physical IO Interconnect Bytes' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 9, + "row": 7, + "height": 3, + "width": 4 + }, + "title": "Average CPU Usage Per Txn", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'CPU Usage Per Txn' facet metric_name, database, hostname TIMESERIES 2 minutes limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 1, + "row": 10, + "height": 3, + "width": 4 + }, + "title": "Average Response Time Per Txn", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'Response Time Per Txn' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 5, + "row": 10, + "height": 3, + "width": 4 + }, + "title": "Average DB Block Changes per Txn", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'DB Block Changes Per Txn' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 9, + "row": 10, + "height": 3, + "width": 4 + }, + "title": "Avg Response Time Per Txn", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'Response Time Per Txn' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 1, + "row": 13, + "height": 3, + "width": 4 + }, + "title": "Avg Physical Write Per Txn", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'Physical Writes Per Txn' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 5, + "row": 13, + "height": 3, + "width": 4 + }, + "title": "Avg DB wait time ", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'Database Wait Time Ratio' facet metric_name, database, hostname TIMESERIES 2 minutes limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 1, + "row": 16, + "height": 3, + "width": 4 + }, + "title": "Avg Physical Write Per Txn", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'Physical Writes Per Txn' facet metric_name, database, hostname TIMESERIES limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.line" + }, + "layout": { + "column": 5, + "row": 16, + "height": 3, + "width": 4 + }, + "title": "Avg DB wait time ", + "rawConfiguration": { + "dataFormatters": [], + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select average(value) from Oracle where metric_name = 'Database Wait Time Ratio' facet metric_name, database, hostname TIMESERIES 2 minutes limit 1000" + }], + "yAxisLeft": { + "zero": true + } + } + }, + { + "visualization": { + "id": "viz.table" + }, + "layout": { + "column": 9, + "row": 19, + "height": 3, + "width": 4 + }, + "title": "Latest Tablespace Usage", + "rawConfiguration": { + "dataFormatters": [], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [{ + "accountId": 0, + "query": "select latest(used_percent) from Oracle where queryName = 'Tablespace_metric' facet hostname, databaseHost,tablespace_name, database since 30 minutes ago limit max" + }] + } + } + ] + }] +} \ No newline at end of file diff --git a/definitions/ext-aix_oracle/definition.yml b/definitions/ext-aix_oracle/definition.yml new file mode 100644 index 000000000..605285f46 --- /dev/null +++ b/definitions/ext-aix_oracle/definition.yml @@ -0,0 +1,17 @@ +domain: EXT +type: AIX_ORACLE +synthesis: + name: database + identifier: database + encodeIdentifierInGUID: true + conditions: + - attribute: eventType + value: Oracle + tags: + databaseHost: +dashboardTemplates: + newRelic: + template: dashboard.json +configuration: + entityExpirationTime: EIGHT_DAYS + alertable: true \ No newline at end of file diff --git a/definitions/ext-aix_oracle/golden_metrics.yml b/definitions/ext-aix_oracle/golden_metrics.yml new file mode 100644 index 000000000..01cd97b23 --- /dev/null +++ b/definitions/ext-aix_oracle/golden_metrics.yml @@ -0,0 +1,27 @@ +hostCpuUtilization: + title: Host CPU utilization + query: + select: filter(average(value), WHERE metric_name = 'Host CPU Utilization (%)') + eventId: entity.guid + eventName: database +ioMegabytesPerSecond: + title: IO Megabytes per Second + query: + select: filter(average(value), WHERE metric_name = 'I/O Megabytes per Second') + from: Oracle + eventId: entity.guid + eventName: database +sessions: + title: Sessions + query: + select: filter(latest(value), WHERE metric_name = 'Session Count') + from: Oracle + eventId: entity.guid + eventName: database +executionsPerSecond: + title: Executions per second + query: + select: filter(average(value), WHERE metric_name = 'Executions Per Sec') + from: Oracle + eventId: entity.guid + eventName: database \ No newline at end of file diff --git a/definitions/ext-aix_oracle/summary_metrics.yml b/definitions/ext-aix_oracle/summary_metrics.yml new file mode 100644 index 000000000..577484d24 --- /dev/null +++ b/definitions/ext-aix_oracle/summary_metrics.yml @@ -0,0 +1,24 @@ +hostCpu: + title: Host CPU utilization + unit: PERCENTAGE + query: + select: latest(value) + from: Oracle + where: metric_name = 'Host CPU Utilization (%)' + eventId: entity.guid +longTableScans: + title: Long table scans + unit: OPERATIONS_PER_SECOND + query: + select: average(value) + from: Oracle + where: metric_name = 'Long Table Scans Per Sec' + eventId: entity.guid +softParseRatio: + title: Soft parse ratio + unit: COUNT + query: + select: latest(value) + from: Oracle + where: metric_name = 'Soft Parse Ratio' + eventId: entity.guid \ No newline at end of file