diff --git a/alert-policies/nvidia-dcgm/HighTemperature.yml b/alert-policies/nvidia-dcgm/HighTemperature.yml new file mode 100644 index 0000000000..60232b317c --- /dev/null +++ b/alert-policies/nvidia-dcgm/HighTemperature.yml @@ -0,0 +1,27 @@ +name: High GPU Temperature + +description: |+ + TThis alert is triggered when the NVIDIA GPU Temperature is above 90%. + +type: STATIC +nrql: + query: "SELECT latest(DCGM_FI_DEV_GPU_TEMP) AS 'gpu temperature' FROM Metric WHERE metricName LIKE 'DCGM_FI_DEV_GPU_TEMP'" + +# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE) +valueFunction: SINGLE_VALUE + +# List of Critical and Warning thresholds for the condition +terms: + - priority: CRITICAL + # Operator used to compare against the threshold. + operator: ABOVE + # Value that triggers a violation + threshold: 90 + # Time in seconds; 120 - 3600 + thresholdDuration: 300 + # How many data points must be in violation for the duration + thresholdOccurrences: ALL + +# Duration after which a violation automatically closes +# Time in seconds; 300 - 2592000 (Default: 86400 [1 day]) +violationTimeLimitSeconds: 86400 diff --git a/alert-policies/nvidia-dcgm/XidError.yml b/alert-policies/nvidia-dcgm/XidError.yml new file mode 100644 index 0000000000..e5346761c1 --- /dev/null +++ b/alert-policies/nvidia-dcgm/XidError.yml @@ -0,0 +1,27 @@ +name: XID Error + +description: |+ + This alert is triggered when the error is higher than 3 for 5 minutes. + +type: STATIC +nrql: + query: "SELECT latest(DCGM_FI_DEV_XID_ERRORS) AS 'errors' FROM Metric WHERE metricName like 'DCGM_FI_DEV_XID_ERRORS'" + +# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE) +valueFunction: SINGLE_VALUE + +# List of Critical and Warning thresholds for the condition +terms: + - priority: CRITICAL + # Operator used to compare against the threshold. + operator: ABOVE + # Value that triggers a violation + threshold: 3 + # Time in seconds; 120 - 3600 + thresholdDuration: 300 + # How many data points must be in violation for the duration + thresholdOccurrences: ALL + +# Duration after which a violation automatically closes +# Time in seconds; 300 - 2592000 (Default: 86400 [1 day]) +violationTimeLimitSeconds: 86400 diff --git a/dashboards/golden-signals-dashboard/golden-signals-dashboard-01.png b/dashboards/golden-signals-dashboard/golden-signals-dashboard-01.png new file mode 100644 index 0000000000..e35d53d4a2 Binary files /dev/null and b/dashboards/golden-signals-dashboard/golden-signals-dashboard-01.png differ diff --git a/dashboards/golden-signals-dashboard/golden-signals-dashboard-02.png b/dashboards/golden-signals-dashboard/golden-signals-dashboard-02.png new file mode 100644 index 0000000000..6d7afddf97 Binary files /dev/null and b/dashboards/golden-signals-dashboard/golden-signals-dashboard-02.png differ diff --git a/dashboards/golden-signals-dashboard/golden-signals-dashboard-03.png b/dashboards/golden-signals-dashboard/golden-signals-dashboard-03.png new file mode 100644 index 0000000000..18fff71c4f Binary files /dev/null and b/dashboards/golden-signals-dashboard/golden-signals-dashboard-03.png differ diff --git a/dashboards/golden-signals-dashboard/golden-signals-dashboard-04.png b/dashboards/golden-signals-dashboard/golden-signals-dashboard-04.png new file mode 100644 index 0000000000..3bc418a505 Binary files /dev/null and b/dashboards/golden-signals-dashboard/golden-signals-dashboard-04.png differ diff --git a/dashboards/golden-signals-dashboard/golden-signals-dashboard.json b/dashboards/golden-signals-dashboard/golden-signals-dashboard.json new file mode 100644 index 0000000000..cdc758f678 --- /dev/null +++ b/dashboards/golden-signals-dashboard/golden-signals-dashboard.json @@ -0,0 +1,874 @@ +{ + "name": "Golden signals dashboard", + "description": "Dashboard to monitor golden signals across APM, Infrastructure, Synthetics, Browser and Mobile with template variables to dynamically filter widgets.", + "pages": [{ + "name": "Golden signals dashboard", + "description": null, + "widgets": [{ + "title": "", + "layout": { + "column": 1, + "row": 1, + "width": 12, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Golden Signals\n#### Monitoring the golden signals allows you to quickly see an overview of the health of your application.\n\n- [NerdGraph tutorial: View and configure an entity's golden metrics](https://docs.newrelic.com/docs/apis/nerdgraph/examples/golden-metrics-entities-nerdgraph-api-tutorial/)\n- [Why you need to monitor the four golden signals](https://newrelic.com/blog/best-practices/monitoring-golden-signals)\n- Databyte - [Configure the Golden Metric Charts in Workloads](https://www.youtube.com/watch?v=3JSb68Gdhlg)\n" + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 3, + "width": 12, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Application Performance \n" + } + }, + { + "title": "Response time (ms)", + "layout": { + "column": 1, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.apm.application.responseTimeMs) AS 'Response Time Ms' FROM Metric WHERE appName in ({{appname}}) LIMIT MAX TIMESERIES facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Throughput", + "layout": { + "column": 5, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT rate(count(newrelic.goldenmetrics.apm.application.throughput), 1 MINUTES) AS 'Throughput' FROM Metric WHERE appName in ({{appname}}) LIMIT MAX TIMESERIES facet appName\n" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Error rate", + "layout": { + "column": 9, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.apm.application.errorRate) AS 'Error Rate' FROM Metric WHERE appName in ({{appname}}) LIMIT MAX facet appName\n" + }], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": [{ + "alertSeverity": "CRITICAL", + "value": 5 + }, + { + "alertSeverity": "WARNING", + "value": 3 + } + ] + } + }, + { + "title": "Apdex", + "layout": { + "column": 1, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT apdex(`apm.service.apdex`) as 'APDEX' FROM Metric where appName in ({{appname}}) facet appName limit max" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "App availability", + "layout": { + "column": 5, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "FROM Transaction SELECT percentage(count(*), WHERE error is false) WHERE appName in ({{appname}}) LIMIT MAX facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Latency", + "layout": { + "column": 9, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT percentile(duration, 50, 90, 99) as 'Duration' from Transaction WHERE appName in ({{appname}}) LIMIT MAX " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 10, + "width": 12, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Infrastructure Performance " + } + }, + { + "title": "CPU usage (%)", + "layout": { + "column": 1, + "row": 11, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.infra.host.cpuUsage) AS 'Cpu Usage' FROM Metric WHERE entity.name in ({{hostname}}) LIMIT MAX TIMESERIES FACET entity.name" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Storage usage (%)", + "layout": { + "column": 5, + "row": 11, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.infra.host.storageUsage) AS 'Storage Usage' FROM Metric WHERE entity.name in ({{hostname}}) LIMIT MAX TIMESERIES FACET entity.name" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Memory usage (%)", + "layout": { + "column": 9, + "row": 11, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.infra.host.memoryUsage) AS 'Memory Usage' FROM Metric WHERE entity.name in ({{hostname}}) LIMIT MAX TIMESERIES FACET entity.name" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Network receive traffic (bytes/s)", + "layout": { + "column": 1, + "row": 14, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.infra.host.networkTrafficRx) AS 'Network Traffic Rx' FROM Metric WHERE entity.name in ({{hostname}}) LIMIT MAX TIMESERIES FACET entity.name" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Network transmit traffic (bytes/s)", + "layout": { + "column": 7, + "row": 14, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.infra.host.networkTrafficTx) AS 'Network Traffic Tx' FROM Metric WHERE entity.name in ({{hostname}}) LIMIT MAX TIMESERIES FACET entity.name" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 17, + "width": 12, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Browser Performance \n" + } + }, + { + "title": "Throughput (ppm)", + "layout": { + "column": 1, + "row": 18, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT rate(count(newrelic.goldenmetrics.browser.application.throughputPpm), 1 MINUTES) AS 'Throughput Ppm' FROM Metric WHERE appName in ({{browserappname}}) LIMIT MAX TIMESERIES facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Largest contentful paint (75 percentile) (s)", + "layout": { + "column": 5, + "row": 18, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT percentile(newrelic.goldenmetrics.browser.application.largestContentfulPaint75PercentileS, 75) AS 'Largest Contentful Paint 75 Percentile S' FROM Metric WHERE appName in ({{browserappname}}) LIMIT MAX TIMESERIES facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "First input delay (75 percentile) (ms)", + "layout": { + "column": 9, + "row": 18, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT percentile(newrelic.goldenmetrics.browser.application.firstInputDelay75PercentileMs, 75) AS 'First Input Delay 75 Percentile Ms' FROM Metric WHERE appName in ({{browserappname}}) LIMIT MAX TIMESERIES facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Errors", + "layout": { + "column": 1, + "row": 21, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT count(newrelic.goldenmetrics.browser.application.errors) AS 'Errors' FROM Metric WHERE appName in ({{browserappname}}) LIMIT MAX facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": [{ + "alertSeverity": "WARNING", + "value": 20 + }, + { + "alertSeverity": "CRITICAL", + "value": 30 + } + ] + } + }, + { + "title": "Pageload time (s)", + "layout": { + "column": 5, + "row": 21, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.browser.application.pageLoadSeconds) AS 'Page Load Seconds' FROM Metric WHERE appName in ({{browserappname}}) LIMIT MAX TIMESERIES facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Ajax throughput (rpm)", + "layout": { + "column": 9, + "row": 21, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT rate(count(newrelic.goldenmetrics.browser.application.throughputAjax), 1 MINUTES) AS 'Throughput Ajax' FROM Metric WHERE appName in ({{browserappname}}) LIMIT MAX TIMESERIES facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 24, + "width": 12, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Synthetics Performance\n" + } + }, + { + "title": "Median duration (s)", + "layout": { + "column": 1, + "row": 25, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT percentile(newrelic.goldenmetrics.synth.monitor.medianDurationS, 50) AS 'Median Duration S' FROM Metric WHERE monitorName in ({{monitorname}}) LIMIT MAX TIMESERIES FACET monitorName " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Failures", + "layout": { + "column": 7, + "row": 25, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT count(newrelic.goldenmetrics.synth.monitor.failures) AS 'Failures' FROM Metric WHERE monitorName in ({{monitorname}}) LIMIT MAX TIMESERIES FACET monitorName " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 28, + "width": 12, + "height": 1 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Mobile Performance " + } + }, + { + "title": "App launches", + "layout": { + "column": 1, + "row": 29, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT count(newrelic.goldenmetrics.mobile.application.appLaunchCountMetric) AS 'App Launch Count Metric' FROM Metric WHERE appName in ({{mobileappname}}) LIMIT MAX TIMESERIES facet appName" + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Crash Count", + "layout": { + "column": 5, + "row": 29, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT count(newrelic.goldenmetrics.mobile.application.crashCount) AS 'Crash Count' FROM Metric WHERE appName in ({{mobileappname}}) LIMIT MAX TIMESERIES FACET appName " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "HTTP response time (ms)", + "layout": { + "column": 9, + "row": 29, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.mobile.application.httpResponseTimeMsMetric) AS 'Http Response Time Ms Metric' FROM Metric WHERE appName in ({{mobileappname}}) LIMIT MAX TIMESERIES FACET appName " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Network failure count", + "layout": { + "column": 1, + "row": 32, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.mobile.application.networkFailuresCountMetric) AS 'Network Failures Count Metric' FROM Metric WHERE appName in ({{mobileappname}}) LIMIT MAX TIMESERIES FACET appName " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "HTTP error rate", + "layout": { + "column": 5, + "row": 32, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT average(newrelic.goldenmetrics.mobile.application.httpErrorsRateMetric) AS 'Http Errors Rate Metric' FROM Metric WHERE appName in ({{mobileappname}}) LIMIT MAX TIMESERIES FACET appName " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Requests per minute (req/min)", + "layout": { + "column": 9, + "row": 32, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [{ + "accountIds": [], + "query": "SELECT rate(count(newrelic.goldenmetrics.mobile.application.requestsPerMinute), 1 MINUTES) AS 'Requests Per Minute' FROM Metric WHERE appName in ({{mobileappname}}) LIMIT MAX TIMESERIES FACET appName " + }], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + }], + "variables": [{ + "name": "appname", + "items": null, + "defaultValues": [], + "nrqlQuery": { + "accountIds": [], + "query": "Select uniques(appName) from Transaction" + }, + "title": "Application Name", + "type": "NRQL", + "isMultiSelection": true, + "replacementStrategy": "STRING" + }, + { + "name": "hostname", + "items": null, + "defaultValues": [], + "nrqlQuery": { + "accountIds": [], + "query": "Select uniques(hostname) from SystemSample" + }, + "title": "Host Name", + "type": "NRQL", + "isMultiSelection": true, + "replacementStrategy": "STRING" + }, + { + "name": "monitorname", + "items": null, + "defaultValues": [], + "nrqlQuery": { + "accountIds": [], + "query": "SELECT uniques(monitorName) from SyntheticCheck LIMIT max" + }, + "title": "Monitor Name", + "type": "NRQL", + "isMultiSelection": true, + "replacementStrategy": "STRING" + }, + { + "name": "browserappname", + "items": null, + "defaultValues": [], + "nrqlQuery": { + "accountIds": [], + "query": "from PageView SELECT uniques(appName)" + }, + "title": "Browser App Name", + "type": "NRQL", + "isMultiSelection": true, + "replacementStrategy": "STRING" + }, + { + "name": "mobileappname", + "items": null, + "defaultValues": [], + "nrqlQuery": { + "accountIds": [], + "query": "from Mobile SELECT uniques(appName) SINCE 10 days ago" + }, + "title": "Mobile App Name", + "type": "NRQL", + "isMultiSelection": true, + "replacementStrategy": "STRING" + } + ] +} \ No newline at end of file diff --git a/dashboards/lambdatest/lambdatest-logs.json b/dashboards/lambdatest/lambdatest-logs.json new file mode 100644 index 0000000000..6b5ac498a7 --- /dev/null +++ b/dashboards/lambdatest/lambdatest-logs.json @@ -0,0 +1,508 @@ +{ + "name": "LambdaTest Dashboard", + "description": null, + "pages": [ + { + "name": "LambdaTest - Test Overview", + "description": null, + "widgets": [ + { + "title": "Test Runs", + "layout": { + "column": 1, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS 'Tests' FROM Log WHERE `service-name`='lambdatest' AND `newrelic.source` = 'api.logs' SINCE 1 week ago\n" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Tests Completed", + "layout": { + "column": 5, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS 'Tests' FROM Log WHERE `service-name`='lambdatest' AND `newrelic.source` = 'api.logs' AND `status`='Completed' SINCE 1 week ago\n" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Tests Passed", + "layout": { + "column": 9, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS 'Tests' FROM Log WHERE `service-name`='lambdatest' AND `newrelic.source` = 'api.logs' AND `status`='Passed' SINCE 1 week ago\n" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Tests Failed", + "layout": { + "column": 1, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS 'Tests' FROM Log WHERE `service-name`='lambdatest' AND `newrelic.source` = 'api.logs' AND `status`='Failed' SINCE 1 week ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Tests Errored", + "layout": { + "column": 7, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS 'Errored Tests' \nFROM Log \nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND (status = 'Queue_Timeout' OR status = 'Idle_Timeout') \nSINCE 1 week ago\n" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Top 10 - Tests By OS", + "layout": { + "column": 1, + "row": 7, + "width": 6, + "height": 4 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) FROM Log \nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND test_env_os != '' \nAND test_env_os != '--'\nAND test_env_os != '-'\nFACET test_env_os \nLIMIT 10\nSINCE 1 week ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Top 10 - Tests by Browsers", + "layout": { + "column": 7, + "row": 7, + "width": 6, + "height": 4 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) FROM Log \nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND test_env_browser != '' \nAND test_env_browser != '--'\nAND test_env_browser != '-'\nFACET test_env_browser \nLIMIT 10\nSINCE 1 week ago\n" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Tests Execution Trend", + "layout": { + "column": 1, + "row": 11, + "width": 12, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS 'Test_Execution_Count' \nFROM Log \nWHERE `service-name` = 'lambdatest' \nAND `newrelic.source` = 'api.logs' \nSINCE 7 day ago\nTIMESERIES 1 hour\nCOMPARE WITH 1 day ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Queue Usage Trend", + "layout": { + "column": 1, + "row": 14, + "width": 12, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS 'Queued_Tests_Count'\nFROM Log\nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND test_id IS NOT NULL \nAND test_created_at IS NOT NULL \nAND test_started_at IS NOT NULL\nAND `test_created_at` != `test_started_at`\nSINCE 7 days ago\nTIMESERIES 1 hour\nCOMPARE WITH 1 day ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + } + } + } + ] + }, + { + "name": "LambdaTest - Test Error Overview", + "description": null, + "widgets": [ + { + "title": "Test Errors", + "layout": { + "column": 1, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS Tests\nFROM Log\nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND status IN ('Lambda Error', 'Queue_Timeout', 'Idle_Timeout')\nAND test_id IS NOT NULL\nSINCE 1 week ago\n" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Idle Timeout", + "layout": { + "column": 4, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS Tests\nFROM Log\nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND `status` = 'Idle_Timeout'\nAND test_id IS NOT NULL\nSINCE 1 week ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Queue Timeout", + "layout": { + "column": 7, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS Tests\nFROM Log\nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND `status` = 'Queue_Timeout'\nAND test_id IS NOT NULL\nSINCE 1 week ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Lambda Error", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) AS Tests\nFROM Log\nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND `status` = 'Lambda Error'\nAND test_id IS NOT NULL\nSINCE 1 week ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Error Stats", + "layout": { + "column": 1, + "row": 3, + "width": 12, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) as Tests\nFROM Log\nWHERE status NOT IN ('Passed', 'Failed', 'Completed')\nFACET status\nSINCE 1 week ago TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Error Message Categoriztion", + "layout": { + "column": 1, + "row": 6, + "width": 12, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) FROM Log\nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND error_message IS NOT NULL\nAND `error_message` != '-'\nFACET error_message\nLIMIT 10\nSINCE 1 week ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Test Status Ratio", + "layout": { + "column": 1, + "row": 9, + "width": 12, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT \n FILTER(count(*), WHERE status IN ('Lambda Error', 'Queue_Timeout', 'Idle_Timeout', 'Failed')) AS 'Failed',\n FILTER(count(*), WHERE status NOT IN ('Lambda Error', 'Queue_Timeout', 'Idle_Timeout', 'Failed')) AS 'Success'\nFROM Log\nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND test_id IS NOT NULL \nAND status IS NOT NULL \nSINCE 1 week ago TIMESERIES 1 hour" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Test Failure by Name", + "layout": { + "column": 1, + "row": 12, + "width": 12, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(*) \nFROM Log \nWHERE `service-name`='lambdatest' \nAND `newrelic.source` = 'api.logs' \nAND status IN ('Idle_Timeout', 'Queue_Timeout', 'Lambda Error')\nFACET test_name, hourOf(timestamp)\nSINCE 1 week ago TIMESERIES 1 hour\n" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + } + ], + "variables": [] +} \ No newline at end of file diff --git a/dashboards/lambdatest/lambdatest01.png b/dashboards/lambdatest/lambdatest01.png new file mode 100644 index 0000000000..36f66f5c27 Binary files /dev/null and b/dashboards/lambdatest/lambdatest01.png differ diff --git a/dashboards/lambdatest/lambdatest02.png b/dashboards/lambdatest/lambdatest02.png new file mode 100644 index 0000000000..acbc5c6293 Binary files /dev/null and b/dashboards/lambdatest/lambdatest02.png differ diff --git a/dashboards/lambdatest/lambdatest03.png b/dashboards/lambdatest/lambdatest03.png new file mode 100644 index 0000000000..761926da08 Binary files /dev/null and b/dashboards/lambdatest/lambdatest03.png differ diff --git a/dashboards/lambdatest/lambdatest04.png b/dashboards/lambdatest/lambdatest04.png new file mode 100644 index 0000000000..26529ebba3 Binary files /dev/null and b/dashboards/lambdatest/lambdatest04.png differ diff --git a/dashboards/lambdatest/logo.png b/dashboards/lambdatest/logo.png new file mode 100644 index 0000000000..db3b782463 Binary files /dev/null and b/dashboards/lambdatest/logo.png differ diff --git a/dashboards/magento-business-insights/magentoBI.json b/dashboards/magento-business-insights/magentoBI.json index feea2f1a47..45f485c7ec 100644 --- a/dashboards/magento-business-insights/magentoBI.json +++ b/dashboards/magento-business-insights/magentoBI.json @@ -3592,8 +3592,8 @@ }, "nrqlQueries": [ { - "accountId": 0, - "query": "SELECT latest(host.cpuPercent) AS 'CPU used %' FROM Metric TIMESERIES" + "accountIds": [], + "query": "SELECT latest(host.cpuPercent) AS 'CPU used %' FROM Metric WHERE entity.name IN ({{hostName}}) TIMESERIES" } ], "platformOptions": { @@ -3622,8 +3622,8 @@ }, "nrqlQueries": [ { - "accountId": 0, - "query": "SELECT latest(host.memoryUsedPercent) AS 'Memory used %' FROM Metric TIMESERIES" + "accountIds": [], + "query": "SELECT latest(host.memoryUsedPercent) AS 'Memory used %' FROM Metric WHERE entity.name IN ({{hostName}}) TIMESERIES" } ], "platformOptions": { @@ -3652,8 +3652,8 @@ }, "nrqlQueries": [ { - "accountId": 0, - "query": "SELECT latest(host.disk.usedPercent) as 'Storage used %' FROM Metric TIMESERIES" + "accountIds": [], + "query": "SELECT latest(host.disk.usedPercent) as 'Storage used %' FROM Metric WHERE entity.name IN ({{hostName}}) TIMESERIES" } ], "platformOptions": { @@ -3679,8 +3679,8 @@ }, "nrqlQueries": [ { - "accountId": 0, - "query": "SELECT latest(host.disk.usedPercent) as 'Used %' FROM Metric FACET device" + "accountIds": [], + "query": "SELECT latest(host.disk.usedPercent) as 'Used %' FROM Metric WHERE entity.name IN ({{hostName}}) FACET device" } ], "platformOptions": { @@ -5416,6 +5416,25 @@ "type": "NRQL", "isMultiSelection": true, "replacementStrategy": "STRING" + }, + { + "name": "hostName", + "items": null, + "defaultValues": [ + { + "value": { + "string": "ip-172-31-8-210" + } + } + ], + "nrqlQuery": { + "accountIds": [], + "query": "SELECT uniques(entity.name) FROM Metric since 1 month ago" + }, + "title": "Host", + "type": "NRQL", + "isMultiSelection": true, + "replacementStrategy": "STRING" } ] } \ No newline at end of file diff --git a/dashboards/magento-business-insights/magentoBI01.png b/dashboards/magento-business-insights/magentoBI001.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI01.png rename to dashboards/magento-business-insights/magentoBI001.png diff --git a/dashboards/magento-business-insights/magentoBI02.png b/dashboards/magento-business-insights/magentoBI002.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI02.png rename to dashboards/magento-business-insights/magentoBI002.png diff --git a/dashboards/magento-business-insights/magentoBI03.png b/dashboards/magento-business-insights/magentoBI003.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI03.png rename to dashboards/magento-business-insights/magentoBI003.png diff --git a/dashboards/magento-business-insights/magentoBI04a.png b/dashboards/magento-business-insights/magentoBI004.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI04a.png rename to dashboards/magento-business-insights/magentoBI004.png diff --git a/dashboards/magento-business-insights/magentoBI05.png b/dashboards/magento-business-insights/magentoBI005.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI05.png rename to dashboards/magento-business-insights/magentoBI005.png diff --git a/dashboards/magento-business-insights/magentoBI06.png b/dashboards/magento-business-insights/magentoBI006.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI06.png rename to dashboards/magento-business-insights/magentoBI006.png diff --git a/dashboards/magento-business-insights/magentoBI07.png b/dashboards/magento-business-insights/magentoBI007.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI07.png rename to dashboards/magento-business-insights/magentoBI007.png diff --git a/dashboards/magento-business-insights/magentoBI08a.png b/dashboards/magento-business-insights/magentoBI008.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI08a.png rename to dashboards/magento-business-insights/magentoBI008.png diff --git a/dashboards/magento-business-insights/magentoBI09a.png b/dashboards/magento-business-insights/magentoBI009.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI09a.png rename to dashboards/magento-business-insights/magentoBI009.png diff --git a/dashboards/magento-business-insights/magentoBI10.png b/dashboards/magento-business-insights/magentoBI010.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI10.png rename to dashboards/magento-business-insights/magentoBI010.png diff --git a/dashboards/magento-business-insights/magentoBI11.png b/dashboards/magento-business-insights/magentoBI011.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI11.png rename to dashboards/magento-business-insights/magentoBI011.png diff --git a/dashboards/magento-business-insights/magentoBI12.png b/dashboards/magento-business-insights/magentoBI012.png similarity index 100% rename from dashboards/magento-business-insights/magentoBI12.png rename to dashboards/magento-business-insights/magentoBI012.png diff --git a/dashboards/nvidia-dcgm/nvidia-dcgm.json b/dashboards/nvidia-dcgm/nvidia-dcgm.json new file mode 100644 index 0000000000..b42d477172 --- /dev/null +++ b/dashboards/nvidia-dcgm/nvidia-dcgm.json @@ -0,0 +1,246 @@ +{ + "name": "NVIDIA-DCGM", + "description": null, + "pages": [ + { + "name": "Overview", + "description": null, + "widgets": [ + { + "title": "", + "layout": { + "column": 1, + "row": 1, + "width": 2, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "![NVIDIA DCGM](https://raw.githubusercontent.com/newrelic/newrelic-quickstarts/main/quickstarts/nvidia-dcgm/logo.png)" + } + }, + { + "title": "GPU Temperature ", + "layout": { + "column": 3, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT latest(DCGM_FI_DEV_GPU_TEMP ) AS 'gpu temperature' FROM Metric WHERE metricName LIKE 'DCGM_FI_DEV_GPU_TEMP' TIMESERIES " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "CELSIUS" + } + } + }, + { + "title": "Power usage(%)", + "layout": { + "column": 7, + "row": 1, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT average(DCGM_FI_DEV_POWER_USAGE) AS 'usage' FROM Metric WHERE metricName LIKE 'DCGM_FI_DEV_POWER_USAGE' " + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Total NVLink bandwidth", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT latest(DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL) AS 'nvlink bandwidth' FROM Metric WHERE metricName like 'DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL' TIMESERIES " + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 1, + "row": 3, + "width": 2, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "**About**\n\nInstrument your application with New Relic - [Add Data](https://one.newrelic.com/catalog-pack-details?state=4cf414ad-0a50-9fae-84b8-1925fbb2ebfb).\n\nInstrument NVIDIA DCGM with New Relic using the [documentation](https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/nvidia-dcgm-integration/).\n\n[Please rate this dashboard](https://docs.google.com/forms/d/e/1FAIpQLSclR38J8WbbB2J1tHnllKUkzWZkJhf4SrJGyavpMd4t82NjnQ/viewform?usp=pp_url&entry.1615922415=nvidia-dcgm) here and let us know how we can improve it for you." + } + }, + { + "title": "Clocks(MHz)", + "layout": { + "column": 3, + "row": 4, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT latest(DCGM_FI_DEV_MEM_CLOCK) AS 'MEM Clock', latest(DCGM_FI_DEV_SM_CLOCK) AS 'SM Clock' FROM Metric TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Framebuffer free (bytes)", + "layout": { + "column": 8, + "row": 4, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT latest(DCGM_FI_DEV_FB_FREE) AS 'Free', latest(DCGM_FI_DEV_FB_USED) AS 'Used' FROM Metric" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "XID errors", + "layout": { + "column": 11, + "row": 4, + "width": 2, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT latest(DCGM_FI_DEV_XID_ERRORS) AS 'errors' FROM Metric WHERE metricName like 'DCGM_FI_DEV_XID_ERRORS'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "GPU utilisation ", + "layout": { + "column": 1, + "row": 5, + "width": 2, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT average(DCGM_FI_DEV_GPU_UTIL) AS 'gpu utilisation' FROM Metric WHERE metricName LIKE 'DCGM_FI_DEV_GPU_UTIL'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + } + ], + "variables": [] +} \ No newline at end of file diff --git a/dashboards/nvidia-dcgm/nvidia-dcgm01.png b/dashboards/nvidia-dcgm/nvidia-dcgm01.png new file mode 100644 index 0000000000..8b9b404a6f Binary files /dev/null and b/dashboards/nvidia-dcgm/nvidia-dcgm01.png differ diff --git a/data-sources/lacework/config.yml b/data-sources/lacework/config.yml index 67a16a96b1..4dd9b5c2b2 100644 --- a/data-sources/lacework/config.yml +++ b/data-sources/lacework/config.yml @@ -1,18 +1,12 @@ id: lacework displayName: Lacework description: | - Lacework is a comprehensive cloud security platform. We aim to turn security into a data problem and replace the frictionful processes for things like breach investigations or achieving compliance standards with simple, contextualized workflows. - - Technically, our approach is that we replace the traditional 'rules' based mentality that requires you to predict attacker patterns ahead of time with a fully ML based approach. We baseline what normal user, application and network behaviors look like across your workloads and cloud accounts automatically and then only alert you to deviations from the norm. This significantly reduces the amount of toil in setting up and maintaining our solution, but also drastically improves the efficacy and amount of security alerts you will receive. - - The following Quickstart brings the curated security alerts for misconfigurations and anomalous security behaviors into the New Relic platform so you can easily triage against your wealth of observability data or easily transition from monitoring to security investigations from a single interface! - - If you encounter any issues, have feedback or would like more details on how to get started, please head over to support.lacework.com or send an email to adam.larson@lacework.net! + Lacework is a comprehensive cloud security platform. We aim to turn security into a data problem and replace frictionful processes with simple, contextualized workflows. icon: logo.svg install: primary: link: - url: https://support.lacework.com/hc/en-us/articles/360005842354-New-Relic + url: https://docs.lacework.net/onboarding/new-relic keywords: - security - compliance diff --git a/data-sources/lambdatest/config.yml b/data-sources/lambdatest/config.yml new file mode 100644 index 0000000000..d7563d1edd --- /dev/null +++ b/data-sources/lambdatest/config.yml @@ -0,0 +1,9 @@ +id: lambdatest +displayName: LambdaTest +description: | + LambdaTest is an AI-powered test orchestration and execution platform to run manual and automated tests at scale. +install: + primary: + link: + url: https://www.lambdatest.com/support/docs/new-relic-integration/ +icon: logo.svg \ No newline at end of file diff --git a/data-sources/lambdatest/logo.svg b/data-sources/lambdatest/logo.svg new file mode 100644 index 0000000000..03d0f6a2a2 --- /dev/null +++ b/data-sources/lambdatest/logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/data-sources/nvidia-dcgm/config.yml b/data-sources/nvidia-dcgm/config.yml new file mode 100644 index 0000000000..19e71ce6ef --- /dev/null +++ b/data-sources/nvidia-dcgm/config.yml @@ -0,0 +1,21 @@ +id: nvidia-dcgm +displayName: NVIDIA DCGM +description: | + Monitor and analyze your NVIDIA DCGM infrastructure with New Relic. +install: + primary: + link: + url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/nvidia-dcgm-integration/ +icon: logo.png +keywords: + - NVIDIA DCGM + - AI Acceleration + - Machine Learning Acceleration + - GPU Management + - AI Management + - Machine Learning Management + - Deep Learning Performance + - AI Performance + - GPU Optimization + - AI Optimization + - NR1_addData \ No newline at end of file diff --git a/data-sources/nvidia-dcgm/logo.png b/data-sources/nvidia-dcgm/logo.png new file mode 100644 index 0000000000..36d7822f35 Binary files /dev/null and b/data-sources/nvidia-dcgm/logo.png differ diff --git a/install/third-party/lacework/install.yml b/install/third-party/lacework/install.yml index f4a6888b9d..ee94e5561e 100644 --- a/install/third-party/lacework/install.yml +++ b/install/third-party/lacework/install.yml @@ -11,4 +11,4 @@ target: install: mode: link destination: - url: https://support.lacework.com/hc/en-us/articles/360005842354-New-Relic \ No newline at end of file + url: https://docs.lacework.net/onboarding/new-relic \ No newline at end of file diff --git a/quickstarts/golden-signals-dashboard/config.yml b/quickstarts/golden-signals-dashboard/config.yml new file mode 100644 index 0000000000..6b9e0bae5d --- /dev/null +++ b/quickstarts/golden-signals-dashboard/config.yml @@ -0,0 +1,79 @@ +id: b9e3fc9f-c54a-4e30-8f2a-0319a07f7ac3 +# Sets the URL name of the quickstart on public I/O (required) +slug: golden-signals-dashboard-for-new-relic + +# Displayed in the UI (required) +title: Golden signals for New Relic + +# Long-form description of the quickstart (required) +description: | + Dashboard to monitor golden signals across APM, Infrastructure, Synthetics, Browser and Mobile with template variables to dynamically filter widgets. + +# Displayed in search results and recommendations. Summarizes a quickstarts functionality. +summary: | + Monitoring the golden signals allows you to quickly see an overview of the health of your application. This dashboard lets you monitor golden signals across APM, Infrastructure, Synthetics, Browser and Mobile with template variables to dynamically filter widgets. + +# Support level: New Relic | Verified | Community (required) +level: Community + +# Authors of the quickstart (required) +authors: + - Zahra Siddiqa + +# Keywords for filtering / searching criteria in the UI +keywords: + - golden signals + - monitoring + - latency + - traffic + - errors + - error rates + - availability + +# # Reference to alert policies to be included in this quickstart +# alertPolicies: +# - condition-a +# - condition-b + +# Reference to dashboards to be included in this quickstart +dashboards: + - golden-signals-dashboard + +# Documentation references +documentation: + - name: Install APM agent + url: https://docs.newrelic.com/introduction-apm/ + description: Monitor everything from the hundreds of dependencies of a modern stack down to simple web-transaction times and throughput of an app. + + - name: Install Infrastructure agent + url: https://docs.newrelic.com/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent/ + description: New Relic's infrastructure monitoring agent collects data about your hosts. It also reports data from some third party services, if enabled, and also log data. + + - name: Set up Synthetic monitor + url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ + description: Synthetic monitoring helps you proactively catch and resolve issues before they affect your customers, all without an installation. + + - name: Install Browser agent + url: https://docs.newrelic.com/docs/browser/browser-monitoring/installation/install-browser-monitoring-agent/ + description: The browser agent is a snippet of JavaScript code that monitors the performance of your app/site. + + - name: Install Mobile agent + url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile/get-started/introduction-mobile-monitoring/ + description: New Relic's mobile monitoring capabilities provide deeper visibility into the performance and crash troubleshooting of your Android, iOS, or hybrid mobile applications. + +dataSourceIds: + - golang + - microsoftnet + - java + - node-js + - php + - python + - ruby + - new-relic-infrastructure-agent + - new-relic-synthetics + - new-relic-browser + - mobile-getting-started + +# Content / Design +icon: logo.svg +website: https://www.newrelic.com diff --git a/quickstarts/golden-signals-dashboard/logo.svg b/quickstarts/golden-signals-dashboard/logo.svg new file mode 100644 index 0000000000..565d92d4e7 --- /dev/null +++ b/quickstarts/golden-signals-dashboard/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/quickstarts/lacework/config.yml b/quickstarts/lacework/config.yml index 0f7ccbdab4..46253d17fd 100644 --- a/quickstarts/lacework/config.yml +++ b/quickstarts/lacework/config.yml @@ -2,11 +2,16 @@ id: 8a7a7220-e8ec-4959-b35d-0fe082be8039 slug: lacework title: Lacework summary: Integrate Lacework's security events into the New Relic platform -description: |- +description: | + ## Lacework introduction + Lacework is a comprehensive cloud security platform. We aim to turn security into a data problem and replace the frictionful processes for things like breach investigations or achieving compliance standards with simple, contextualized workflows. + Technically, our approach is that we replace the traditional 'rules' based mentality that requires you to predict attacker patterns ahead of time with a fully ML based approach. We baseline what normal user, application and network behaviors look like across your workloads and cloud accounts automatically and then only alert you to deviations from the norm. This significantly reduces the amount of toil in setting up and maintaining our solution, but also drastically improves the efficacy and amount of security alerts you will receive. - The following Quickstart brings the curated security alerts for misconfigurations and anomalous security behaviors into the New Relic platform so you can easily triage against your wealth of observability data or easily transition from monitoring to security investigations from a single interface! - If you encounter any issues, have feedback or would like more details on how to get started, please head over to support.lacework.com or send an email to adam.larson@lacework.net! + + This integration with Lacework and New Relic brings the curated security alerts for misconfigurations and anomalous security behaviors into the New Relic platform so you can easily triage against your wealth of observability data or easily transition from monitoring to security investigations from a single interface! + + For more information/support, head over to [support.lacework.com](https://support.lacework.com/)! icon: logo.jpg level: Verified website: https://lacework.com/ @@ -14,8 +19,8 @@ authors: - Lacework, Inc documentation: - name: Lacework installation docs - description: The only prerequisite is to setup the New Relic integration within the Lacework UI. Details on how to do that can be found below! - url: https://support.lacework.com/hc/en-us/articles/360005842354-New-Relic + description: Setup the New Relic integration within the Lacework UI. + url: https://docs.lacework.net/onboarding/new-relic keywords: - security - compliance diff --git a/quickstarts/lambdatest/config.yml b/quickstarts/lambdatest/config.yml new file mode 100644 index 0000000000..4547bd6d62 --- /dev/null +++ b/quickstarts/lambdatest/config.yml @@ -0,0 +1,63 @@ +id: d05d8fc5-b6cb-46aa-a5d8-06ef5d6fb0af +slug: lambdatest +title: LambdaTest +description: | + ## About LambdaTest + ​ + LambdaTest is an AI-powered test orchestration and execution platform to run manual and automated tests at scale. With LambdaTest, developers and testers can test their websites and mobile applications across 3000+ real browsers, devices, and operating systems. + + ## About LambdaTest and New Relic Integration + + The integration of LambdaTest with New Relic offers a seamless experience for users aiming to optimize and monitor their stats during automated test execution. By bridging the gap between testing and performance monitoring, this integration brings forward an out-of-the-box dashboard that enables users to visualize and understand their testing metrics in real-time, set against the backdrop of broader application performance insights offered by New Relic. + + ## LambdaTest Dashboard and Visualization + + Upon successful integration, the LambdaTest Dashboard in New Relic becomes a hub of insights. This tailored interface showcases key testing metrics, offering a comprehensive perspective on your automated testing endeavors. Gain a high-level view of test executions, failures, and compatibility issues, ensuring you're always in the know about the quality of your web or mobile applications. + + ### Test Overview + + - Holistic view of automated testing activities. + - Displays key metrics such as test execution counts, pass rates, durations, etc. + - Insights on website compatibility across different browsers and devices. + - Immediate understanding of application's cross-browser functionality. + + ### Test Errors Overview + + - Focuses on discrepancies and anomalies in tests. + - Deep insights into test failures. + - Highlights the nature and frequency of errors. + - Provides information on environments where errors occurred. + +# Displayed in search results and recommendations. Summarizes a quickstarts functionality. + +summary: | + LambdaTest offers a streamlined entry into automated testing. With just a few clicks, users can instantly set up, monitor, and evaluate their application's performance. +level: Community +authors: + - Prateek Saini + - LambdaTest +keywords: + - lambdatest + - logs + - newrelic partner + - devops + - cicd + - testing + - cross-browser + - featured + - NR1_addData + +documentation: + - name: LambdaTest installation docs + description: Setup the New Relic integration within the LambdaTest UI. + url: https://www.lambdatest.com/support/docs/new-relic-integration/ +# Reference to install plans located under /install directory +# Allows us to construct reusable "install plans" and just use their ID in the quickstart config + +dataSourceIds: + - lambdatest + +icon: logo.svg +website: https://www.lambdatest.com/ +dashboards: + - lambdatest \ No newline at end of file diff --git a/quickstarts/lambdatest/logo.svg b/quickstarts/lambdatest/logo.svg new file mode 100644 index 0000000000..03d0f6a2a2 --- /dev/null +++ b/quickstarts/lambdatest/logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/quickstarts/nvidia-dcgm/config.yml b/quickstarts/nvidia-dcgm/config.yml new file mode 100644 index 0000000000..937e1bf5d2 --- /dev/null +++ b/quickstarts/nvidia-dcgm/config.yml @@ -0,0 +1,46 @@ +id: 7f86bb7f-0502-418b-aae7-4ad327964874 +slug: nvidia-dcgm +description: | + ## Why monitor NVIDIA DCGM? + monitoring NVIDIA DCGM is essential for maintaining the health and efficiency of your GPU infrastructure in a data center. It helps with performance optimization, fault detection, resource management, energy efficiency, and overall data center health, while also aiding in troubleshooting, security, and compliance. + + ## Comprehensive monitoring quickstart for NVIDIA DCGM + New Relic comprehensive monitoring of your GPU infrastructure in your data center. This setup will allow you to monitor GPU performance and health while leveraging the capabilities of New Relic for data visualization, alerting, and analysis. + + ## What’s included in this quickstart? + New Relic NVIDIA DCGM monitoring quickstart provides quality out-of-the-box reporting: + - Dashboards (power usage, GPU utilisation, clocks, etc) + - Alerts for NVIDIA DCGM (GPU temperature, Xid error) + + +summary: | + Monitor and analyze your NVIDIA DCGM infrastructure with New Relic. +icon: logo.png +level: New Relic +authors: + - New Relic + - Ramana Reddy +title: NVIDIA DCGM +documentation: + - name: NVIDIA DCGM integration documentation + description: | + Monitor and instrument your NVIDIA DCGM with New Relic to gain deep insights into your performance. + url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/nvidia-dcgm-integration/ +keywords: + - NVIDIA DCGM + - AI Acceleration + - Machine Learning Acceleration + - GPU Management + - AI Management + - Machine Learning Management + - Deep Learning Performance + - AI Performance + - GPU Optimization + - AI Optimization + - NR1_addData +dataSourceIds: + - nvidia-dcgm +dashboards: + - nvidia-dcgm +alertPolicies: + - nvidia-dcgm \ No newline at end of file diff --git a/quickstarts/nvidia-dcgm/logo.png b/quickstarts/nvidia-dcgm/logo.png new file mode 100644 index 0000000000..36d7822f35 Binary files /dev/null and b/quickstarts/nvidia-dcgm/logo.png differ diff --git a/quickstarts/shopify/config.yml b/quickstarts/shopify/config.yml new file mode 100644 index 0000000000..7bcc7d6fbf --- /dev/null +++ b/quickstarts/shopify/config.yml @@ -0,0 +1,44 @@ +id: 022f9ce9-38b4-47f4-94b6-aa543a0c8952 +slug: shopify +title: Shopify +description: | + ## About Shopify + + Shopify is unified solution that will help you start your business, create a website, sell your product, and even market/manage your business in one place. + + ### About this integration + + This integration provides a quick and easy way to monitor your Shopify web application, by giving you key browsing metrics like throughput, error rate, traces, and page views. + + ### Setup + + To set up this integration, you will just need to add the [New Relic browser agent code](https://onenr.io/0MRNpYqNqQn) into your Shopify application source code. You can find your Shopify source code by following these stesps in your [Shopify Portal](admin.shopify.com): + + 1. Open **Themes** inside of your online store. + 2. Click the ellipsis (**...**) next to the Customize option, then select **Edit code**. + 3. Under the **layout** section, look for your main file for your theme called **theme.liquid**. + + Once your in the source code, you can paste the New Relic browser agent code and save it. + + ### Visualizing your Shopify application data + + Once the setup is complete, you can see all of your real time User monitoring data in the new entity created in your New Relic account! You can find the entity in [New Relic](https://one.newrelic.com) under the entity name you created in the agent creation flow. +summary: | + Shopify is a solution that simplifies ecommerce applications and solution stack. +authors: + - New Relic + - Joseph Counts +keywords: + - traffic + - replay + - simulate + - report + - newrelic partner +dataSourceIds: + - shopify +documentation: + - name: New Relic browser agent documentation + url: https://docs.newrelic.com/docs/browser/browser-monitoring/installation/install-browser-monitoring-agent/ + description: You can follow this guide to set up our browser agent with your shopify website. +icon: logo.jpg +website: https://shopify.com diff --git a/quickstarts/shopify/logo.jpg b/quickstarts/shopify/logo.jpg new file mode 100644 index 0000000000..8b496c30f4 Binary files /dev/null and b/quickstarts/shopify/logo.jpg differ