From e8732c107f717c2e3cb5c2ca51c7975c2b1161ed Mon Sep 17 00:00:00 2001 From: jcountsNR Date: Tue, 13 Aug 2024 12:22:51 -0700 Subject: [PATCH 01/43] feat: Overhaul of DB quickstart --- dashboards/databricks/databricks.json | 427 ------ dashboards/databricks/databricks.png | Bin 459988 -> 0 bytes dashboards/spark/spark.json | 1544 ++++++++++++++++++++ dashboards/spark/spark01.png | Bin 0 -> 307889 bytes dashboards/spark/spark02.png | Bin 0 -> 304747 bytes dashboards/spark/spark03.png | Bin 0 -> 268186 bytes dashboards/spark/spark04.png | Bin 0 -> 345854 bytes data-sources/databricks/config.yml | 6 +- install/third-party/databricks/install.yml | 4 +- quickstarts/databricks/config.yml | 18 +- 10 files changed, 1557 insertions(+), 442 deletions(-) delete mode 100644 dashboards/databricks/databricks.json delete mode 100644 dashboards/databricks/databricks.png create mode 100644 dashboards/spark/spark.json create mode 100644 dashboards/spark/spark01.png create mode 100644 dashboards/spark/spark02.png create mode 100644 dashboards/spark/spark03.png create mode 100644 dashboards/spark/spark04.png diff --git a/dashboards/databricks/databricks.json b/dashboards/databricks/databricks.json deleted file mode 100644 index e67b0ae002..0000000000 --- a/dashboards/databricks/databricks.json +++ /dev/null @@ -1,427 +0,0 @@ -{ - "name": "Databricks: Spark - Overview v2", - "description": "", - "pages": [ - { - "name": "Spark - Overview", - "description": "", - "widgets": [ - { - "visualization": { - "id": "viz.markdown" - }, - "layout": { - "column": 1, - "row": 1, - "height": 2, - "width": 1 - }, - "title": "", - "rawConfiguration": { - "text": "\n![Add Images](https://d2.alternativeto.net/dist/icons/apache-spark_147518.png?width=128&height=128&mode=crop&upscale=false)" - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.billboard" - }, - "layout": { - "column": 2, - "row": 1, - "height": 2, - "width": 1 - }, - "title": "Spark Application Count", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT uniqueCount(spark.app.ID) AS '# of Apps' since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.billboard" - }, - "layout": { - "column": 3, - "row": 1, - "height": 2, - "width": 1 - }, - "title": "Workers", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT uniqueCount(spark.executor.ID) AS '# of Workers' where spark.executor.ID != 'driver' since 1 minute ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.billboard" - }, - "layout": { - "column": 4, - "row": 1, - "height": 2, - "width": 1 - }, - "title": "Job Tasks Running", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric select uniqueCount(spark.job.StageIds) AS 'Jobs Running' where spark.job.Status = 'RUNNING' since 1 minute ago " - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.billboard" - }, - "layout": { - "column": 5, - "row": 1, - "height": 2, - "width": 1 - }, - "title": "Stages Running", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric select filter(uniqueCount(spark.job.StageIds), WHERE spark.job.Status = 'RUNNING') as 'Stages Running' since 1 minute ago " - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.billboard" - }, - "layout": { - "column": 6, - "row": 1, - "height": 2, - "width": 1 - }, - "title": "Tasks Running", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT round(rate(sum(spark.job.numactivetasks), 5 seconds)) as 'Tasks Running' WHERE spark.job.Status = 'RUNNING' since 1 minute ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 7, - "row": 1, - "height": 2, - "width": 2 - }, - "title": "Cluster Load", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "SELECT average(loadAverageOneMinute), uniqueCount(hostname) AS 'Hosts', sum(processorCount) AS 'CPUs' FROM SystemSample since 15 minutes ago until 1 minute ago TIMESERIES" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.table" - }, - "layout": { - "column": 9, - "row": 1, - "height": 3, - "width": 4 - }, - "title": "Spark Node CPU Utilization", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "from SystemSample SELECT latest(cpuPercent) as 'CPU %', latest(coreCount) as 'Cores' FACET hostname where hostname LIKE '%-%-%-%-%-%-%' LIMIT 50 SINCE 1 minute ago " - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 1, - "row": 3, - "height": 2, - "width": 2 - }, - "title": "GC Time", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT latest(spark.executor.totalgctime) AS 'Garbage Collection' facet spark.executor.ID since 1 hour ago TIMESERIES " - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.area" - }, - "layout": { - "column": 3, - "row": 3, - "height": 2, - "width": 3 - }, - "title": "Cores Used", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT latest(spark.app.Cores) AS 'Cluster Cores' since 1 hour ago TIMESERIES " - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 6, - "row": 3, - "height": 2, - "width": 3 - }, - "title": "Jobs", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT filter(uniqueCount(spark.job.StageIds), WHERE spark.job.Status ='RUNNING') as 'RUNNING' TIMESERIES since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.table" - }, - "layout": { - "column": 9, - "row": 4, - "height": 3, - "width": 4 - }, - "title": "Spark Node Memory Utilization", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "from SystemSample SELECT 100 * average(memoryUsedBytes) / (average(memoryFreeBytes) + average(memoryUsedBytes)) as PctUsed, average(memoryFreeBytes)/1000000 AS 'Avg MB Free' FACET hostname WHERE hostname LIKE '%-%-%-%-%-%-%' LIMIT 50 SINCE 1 minute ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 1, - "row": 5, - "height": 2, - "width": 4 - }, - "title": "Job Stages", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT filter(uniqueCount(spark.job.StageIds), WHERE spark.job.Status ='SUCCEEDED') as 'Succeeded', filter(uniqueCount(spark.job.StageIds), WHERE spark.job.Status = 'RUNNING') as 'Running', filter(uniqueCount(spark.job.StageIds), WHERE spark.job.Status = 'FAILED') as 'Failed' TIMESERIES since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 5, - "row": 5, - "height": 2, - "width": 4 - }, - "title": "Job Tasks", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric select latest(spark.job.numcompletedtasks) as 'Completed Tasks', latest(spark.job.numtasks) as 'Running Tasks' FACET spark.job.Status TIMESERIES since 1 hours ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 1, - "row": 7, - "height": 2, - "width": 4 - }, - "title": "Shuffle Read/Write Records", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT latest(spark.executor.totalshuffleread) AS 'Reads', latest(spark.executor.totalshufflewrite) AS 'Writes' TIMESERIES since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 5, - "row": 7, - "height": 2, - "width": 4 - }, - "title": "Shuffle Read/Write Bytes", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric select latest(spark.stage.shufflereadbytes) AS 'Read Bytes', latest(spark.stage.shufflewritebytes) AS 'Write Bytes' TIMESERIES since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.pie" - }, - "layout": { - "column": 9, - "row": 7, - "height": 4, - "width": 4 - }, - "title": "Processes Utilization", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "SELECT count(*), average(threadCount), average(cpuPercent), average(cpuSystemPercent) FROM ProcessSample FACET commandName WHERE hostname LIKE '%-%-%-%-%-%-%' SINCE 5 minutes ago limit 10" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 1, - "row": 9, - "height": 2, - "width": 4 - }, - "title": "Stage Input/Output Records", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT latest(spark.stage.inputrecords) AS 'Input', latest(spark.stage.outputrecords) AS 'Output' TIMESERIES since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 5, - "row": 9, - "height": 2, - "width": 4 - }, - "title": "Stage Input/Output Bytes", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT latest(spark.stage.inputbytes) AS 'Input Bytes', latest(spark.stage.outputbytes) AS 'Output Bytes' TIMESERIES since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - }, - { - "visualization": { - "id": "viz.line" - }, - "layout": { - "column": 1, - "row": 11, - "height": 2, - "width": 4 - }, - "title": "RDD Blocks", - "rawConfiguration": { - "nrqlQueries": [ - { - "accountId": 0, - "query": "FROM Metric SELECT latest(spark.executor.rddblocks) AS BlocksUsed TIMESERIES since 1 hour ago" - } - ] - }, - "linkedEntityGuids": null - } - ] - } - ] - } \ No newline at end of file diff --git a/dashboards/databricks/databricks.png b/dashboards/databricks/databricks.png deleted file mode 100644 index 1032a913279ccc4264abbb9d8cc89b3175b6be01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459988 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

{hI&nM4k4)|3q~=4hRmg)VzUw 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≈h&h9O2|bN#zO({c*2$S+Pp?n!*<;g|f9T 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

TtiNMpbTpT2YxA4 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 N_H}*D!mIZl{y!l+zCQo} literal 0 HcmV?d00001 diff --git a/dashboards/spark/spark02.png b/dashboards/spark/spark02.png new file mode 100644 index 0000000000000000000000000000000000000000..66d4c858e31a607b4b7e383e44202ea94f08d565 GIT binary patch literal 304747 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 {|zWp-Z3>D^^*1BeI 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

bdzTsaJtf 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

-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
*-ovKMf_BINs=yV@E6{&vX@t5__DLaY{$9}!y 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 YIpb3`{yic;tpC%#qJKH>;+-e|2j^M{J^%m! literal 0 HcmV?d00001 diff --git a/data-sources/databricks/config.yml b/data-sources/databricks/config.yml index 0280273bd0..8aabe5b3be 100644 --- a/data-sources/databricks/config.yml +++ b/data-sources/databricks/config.yml @@ -1,14 +1,12 @@ id: databricks displayName: Databricks Integration - description: | - Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration quickstart. Our integration provides a script run in a notebook to generate an installation script, which you can attach to a cluster and populate Spark metrics to New relic Insights events. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this quickstart. + Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this integration. icon: logo.png install: primary: link: - url: https://github.com/newrelic-experimental/nri-spark#databricks-init-script-creator-notebook - + url: https://github.com/newrelic-experimental/newrelic-databricks-integration keywords: - nrlabs - nrlabs-data diff --git a/install/third-party/databricks/install.yml b/install/third-party/databricks/install.yml index 312b21f1f7..30fe93d3bf 100644 --- a/install/third-party/databricks/install.yml +++ b/install/third-party/databricks/install.yml @@ -2,7 +2,7 @@ id: third-party-databricks name: Databricks title: Databricks integration description: | - Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration quickstart. Our integration provides a script run in a notebook to generate an installation script, which you can attach to a cluster and populate Spark metrics to New relic Insights events. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this quickstart. + Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this integration. target: type: integration @@ -13,4 +13,4 @@ level: Community install: mode: link destination: - url: https://github.com/newrelic-experimental/nri-spark#databricks-init-script-creator-notebook + url: https://github.com/newrelic-experimental/newrelic-databricks-integration \ No newline at end of file diff --git a/quickstarts/databricks/config.yml b/quickstarts/databricks/config.yml index ccf552078f..6e2fb80d27 100644 --- a/quickstarts/databricks/config.yml +++ b/quickstarts/databricks/config.yml @@ -1,13 +1,13 @@ id: 533cdd19-8232-42cb-b134-e7d17bfff581 slug: databricks -title: Databricks Integration +title: Databricks Spark Integration description: | - Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration quickstart. - Our integration provides a script run in a notebook to generate an installation script, which you can attach to a cluster and populate Spark metrics to New relic Insights events. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this quickstart. + Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration. + This integration collects Spark telemetry, Workflow telemetry, and Cost and Billing information from Databricks. - Databricks cluster’s driver node runs each job in scheduled stages. Individual stages are broken down into tasks and distributed across executor nodes. Our New Relic Spark integration collects detailed job and stage metrics so you can get granular insight into job performance at a glance. For example , break down the Job metric by status (successful, pending, or failed) to see in real-time if a high number of jobs are failing, which could indicate a code error or memory issue at the executor level. Metrics on the number of jobs in realtime can also help you make decisions for provisioning clusters in the future. + The New Relic Databricks integration can collect telemetry from Spark running on Databricks. By default, the integration will automatically connect to and collect telemetry from the Spark deployments in all clusters created via the UI or API in the specified workspace. summary: | - Monitor Databricks Spark applications with New Relic Spark integration using notebook script + Monitor Databricks Spark applications with the New Relic Databricks integration icon: logo.png level: Community website: https://databricks.com/ @@ -23,13 +23,13 @@ keywords: authors: - New Relic Labs documentation: - - name: Databricks init script creator notebook + - name: Databricks integration docs description: | - Databricks notebook to create init script to be used during initialization of Databricks cluster - url: https://github.com/newrelic-experimental/nri-spark#databricks-init-script-creator-notebook + Collect Spark telemetry data with the New Relic Databricks integration + url: https://github.com/newrelic-experimental/newrelic-databricks-integration installPlans: - third-party-databricks dataSourceIds: - databricks dashboards: - - databricks + - spark From d4758a7c7093e8658180165d1060f97bd184ebe8 Mon Sep 17 00:00:00 2001 From: jcountsNR Date: Tue, 13 Aug 2024 13:18:08 -0700 Subject: [PATCH 02/43] chore: Fix datasource error --- data-sources/databricks/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-sources/databricks/config.yml b/data-sources/databricks/config.yml index 8aabe5b3be..ab70d2bbc8 100644 --- a/data-sources/databricks/config.yml +++ b/data-sources/databricks/config.yml @@ -1,7 +1,7 @@ id: databricks displayName: Databricks Integration description: | - Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this integration. + This integration collects Spark telemetry, Workflow telemetry, and Cost and Billing information from Databricks. icon: logo.png install: primary: From 8db0ebf3e775913acb55622a56558823c2200e3d Mon Sep 17 00:00:00 2001 From: jcountsNR Date: Thu, 15 Aug 2024 10:47:03 -0700 Subject: [PATCH 03/43] chore: Fix spark naming --- .../databricks-spark.json} | 2 +- .../databricks-spark01.png} | Bin .../databricks-spark02.png} | Bin .../databricks-spark03.png} | Bin .../databricks-spark04.png} | Bin quickstarts/databricks/config.yml | 6 +++--- 6 files changed, 4 insertions(+), 4 deletions(-) rename dashboards/{spark/spark.json => databricks-spark/databricks-spark.json} (99%) rename dashboards/{spark/spark01.png => databricks-spark/databricks-spark01.png} (100%) rename dashboards/{spark/spark02.png => databricks-spark/databricks-spark02.png} (100%) rename dashboards/{spark/spark03.png => databricks-spark/databricks-spark03.png} (100%) rename dashboards/{spark/spark04.png => databricks-spark/databricks-spark04.png} (100%) diff --git a/dashboards/spark/spark.json b/dashboards/databricks-spark/databricks-spark.json similarity index 99% rename from dashboards/spark/spark.json rename to dashboards/databricks-spark/databricks-spark.json index 761fac9afa..780f9b20d6 100644 --- a/dashboards/spark/spark.json +++ b/dashboards/databricks-spark/databricks-spark.json @@ -1,5 +1,5 @@ { - "name": "Apache Spark", + "name": "Databricks Spark", "description": null, "pages": [ { diff --git a/dashboards/spark/spark01.png b/dashboards/databricks-spark/databricks-spark01.png similarity index 100% rename from dashboards/spark/spark01.png rename to dashboards/databricks-spark/databricks-spark01.png diff --git a/dashboards/spark/spark02.png b/dashboards/databricks-spark/databricks-spark02.png similarity index 100% rename from dashboards/spark/spark02.png rename to dashboards/databricks-spark/databricks-spark02.png diff --git a/dashboards/spark/spark03.png b/dashboards/databricks-spark/databricks-spark03.png similarity index 100% rename from dashboards/spark/spark03.png rename to dashboards/databricks-spark/databricks-spark03.png diff --git a/dashboards/spark/spark04.png b/dashboards/databricks-spark/databricks-spark04.png similarity index 100% rename from dashboards/spark/spark04.png rename to dashboards/databricks-spark/databricks-spark04.png diff --git a/quickstarts/databricks/config.yml b/quickstarts/databricks/config.yml index 6e2fb80d27..117e719eec 100644 --- a/quickstarts/databricks/config.yml +++ b/quickstarts/databricks/config.yml @@ -2,12 +2,12 @@ id: 533cdd19-8232-42cb-b134-e7d17bfff581 slug: databricks title: Databricks Spark Integration description: | - Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration. + Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark clusters with our New Relic Spark integration. This integration collects Spark telemetry, Workflow telemetry, and Cost and Billing information from Databricks. The New Relic Databricks integration can collect telemetry from Spark running on Databricks. By default, the integration will automatically connect to and collect telemetry from the Spark deployments in all clusters created via the UI or API in the specified workspace. summary: | - Monitor Databricks Spark applications with the New Relic Databricks integration + Monitor Databricks Spark clusters with the New Relic Databricks integration icon: logo.png level: Community website: https://databricks.com/ @@ -32,4 +32,4 @@ installPlans: dataSourceIds: - databricks dashboards: - - spark + - databricks-spark From c3130110d8076deddcb4a7bfa0062928906f1079 Mon Sep 17 00:00:00 2001 From: jcountsNR Date: Fri, 16 Aug 2024 10:09:38 -0700 Subject: [PATCH 04/43] chore: resolve dashbaord issue --- dashboards/databricks-spark/databricks-spark.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dashboards/databricks-spark/databricks-spark.json b/dashboards/databricks-spark/databricks-spark.json index 780f9b20d6..f75fb807b9 100644 --- a/dashboards/databricks-spark/databricks-spark.json +++ b/dashboards/databricks-spark/databricks-spark.json @@ -1539,6 +1539,5 @@ } ] } - ], - "variables": [] + ] } \ No newline at end of file From a9c9c1328096581286e653b63ccc843be762f995 Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 13:09:09 -0700 Subject: [PATCH 05/43] chore: Remove references to validate install plans in actions --- .../reusable.quickstart_submission.yml | 24 -------- .github/workflows/validate_install_plans.yml | 55 ------------------- utils/package.json | 1 - 3 files changed, 80 deletions(-) delete mode 100644 .github/workflows/validate_install_plans.yml diff --git a/.github/workflows/reusable.quickstart_submission.yml b/.github/workflows/reusable.quickstart_submission.yml index bb76fdbe72..1d0911cc26 100644 --- a/.github/workflows/reusable.quickstart_submission.yml +++ b/.github/workflows/reusable.quickstart_submission.yml @@ -26,30 +26,6 @@ env: DRY_RUN: ${{ inputs.dry-run }} jobs: - submit-install-plans: - name: Submit install plans - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - # Ensure we have the most recent commit to `main` - with: - ref: "main" - fetch-depth: 0 - - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - - name: Update install plans - env: - NR_API_URL: ${{ secrets.nr-api-url }} - NR_API_TOKEN: ${{ secrets.nr-api-token }} - GITHUB_TOKEN: ${{ secrets.github-token }} - NEW_RELIC_LICENSE_KEY: ${{ secrets.nr-license-key }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - cd utils && yarn create-validate-install-plans "$URL" "$DRY_RUN" - submit-data-sources: name: Submit data sources runs-on: ubuntu-latest diff --git a/.github/workflows/validate_install_plans.yml b/.github/workflows/validate_install_plans.yml deleted file mode 100644 index 92d65891a7..0000000000 --- a/.github/workflows/validate_install_plans.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Validate install plans - -on: - workflow_run: - workflows: ["Validation Gate"] - types: - - completed - -jobs: - validate-install-plan-schema: - name: Validate install plan schema - runs-on: ubuntu-latest - steps: - - name: Download artifact - uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e - with: - workflow: validation_gate.yml - run_id: ${{ github.event.workflow_run.id }} - - - name: Get PR number - id: get_pr_number - run: | - export PR_NUMBER=$(cat artifact/pr_number.txt) - echo "pr-number=$PR_NUMBER" >> $GITHUB_ENV - - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - ref: "refs/pull/${{ env.pr-number }}/merge" - - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - - name: Validate new files - id: validation - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NR_API_URL: ${{ secrets.NR_API_URL }} - NR_API_TOKEN: ${{ secrets.NR_API_TOKEN }} - NEW_RELIC_NO_CONFIG_FILE: true - NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} - NEW_RELIC_APP_NAME: ${{ secrets.NEW_RELIC_APP_NAME }} - NEW_RELIC_HOST: staging-collector.newrelic.com - NODE_ENV: production - PR_NUMBER: ${{ env.pr-number }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - DRY_RUN=true - cd utils && yarn create-validate-install-plans $URL $DRY_RUN - - name: Add commit status - if: always() - uses: "./.github/actions/add-commit-status" - with: - statusContext: "Validation / Install plan schema compliance" - state: ${{ job.status }} diff --git a/utils/package.json b/utils/package.json index 8f19b3e9d8..0d12c3087f 100644 --- a/utils/package.json +++ b/utils/package.json @@ -7,7 +7,6 @@ "scripts": { "validate-quickstart-install-plans": "ts-node validate-quickstart-install-plans.ts", "validate-quickstart-data-sources": "ts-node validate-quickstart-data-sources.ts", - "create-validate-install-plans": "ts-node create-validate-install-plans.ts", "create-validate-data-sources": "ts-node create-validate-data-sources.ts", "create-validate-pr-quickstarts": "ts-node create_validate_pr_quickstarts.ts", "check-dashboard-name-uniqueness": "ts-node check_dashboard_name_uniqueness.ts", From 0a57ae0edb384eb17f81be31a745bb826cf5c424 Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 13:32:07 -0700 Subject: [PATCH 06/43] chore: Remove install plan utils + actions --- .../__tests__/validate_install_plans.test.js | 40 ---- .../validate_install_quickstart_plans.test.js | 160 ------------- utils/create-validate-install-plans.ts | 91 -------- utils/data-source-from-install-plan.ts | 210 ------------------ utils/lib/InstallPlan.ts | 189 ---------------- utils/types/InstallPlanConfig.ts | 47 ---- utils/types/InstallPlanMutationVariables.ts | 59 ----- utils/validate-quickstart-install-plans.ts | 76 ------- 8 files changed, 872 deletions(-) delete mode 100644 utils/__tests__/validate_install_plans.test.js delete mode 100644 utils/__tests__/validate_install_quickstart_plans.test.js delete mode 100644 utils/create-validate-install-plans.ts delete mode 100644 utils/data-source-from-install-plan.ts delete mode 100644 utils/lib/InstallPlan.ts delete mode 100644 utils/types/InstallPlanConfig.ts delete mode 100644 utils/types/InstallPlanMutationVariables.ts delete mode 100644 utils/validate-quickstart-install-plans.ts diff --git a/utils/__tests__/validate_install_plans.test.js b/utils/__tests__/validate_install_plans.test.js deleted file mode 100644 index abe065d1ab..0000000000 --- a/utils/__tests__/validate_install_plans.test.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -import { getInstallPlanId } from '../create-validate-install-plans'; - -import {readFileSync} from 'fs'; -const fs = {readFileSync}; - -jest.mock('@actions/core'); -jest.spyOn(global.console, 'error').mockImplementation(() => {}); -jest.spyOn(fs, 'readFileSync'); - -jest.mock('../lib/github-api-helpers', () => ({ - ...jest.requireActual('../lib/github-api-helpers'), - filterInstallPlans: jest.fn(), -})); - -jest.mock('../lib/nr-graphql-helpers', () => ({ - ...jest.requireActual('../lib/nr-graphql-helpers'), - fetchNRGraphqlResults: jest.fn(), -})); - -const validInstallFilename = - 'utils/mock_files/install/mock-install-1/install.yml'; -const invalidInstallFilename1 = - 'utils/mock_files/install/invalid-mock-install-2/install.yml'; - -describe('create-validate-install-plans', () => { - afterEach(() => { - jest.resetAllMocks(); - }); - - test('getInstallPlanId should return id for valid path', async () => { - expect(getInstallPlanId(validInstallFilename)).toBe('mock-install-1'); - }); - - test('errors with invalid install plan', async () => { - expect(getInstallPlanId(invalidInstallFilename1)).toBe(''); - expect(fs.readFileSync).not.toHaveBeenCalled(); - }); -}); diff --git a/utils/__tests__/validate_install_quickstart_plans.test.js b/utils/__tests__/validate_install_quickstart_plans.test.js deleted file mode 100644 index 00544ada6b..0000000000 --- a/utils/__tests__/validate_install_quickstart_plans.test.js +++ /dev/null @@ -1,160 +0,0 @@ -'use strict'; - -import { validateInstallPlanIds } from '../validate-quickstart-install-plans'; -import Quickstart from '../lib/Quickstart'; -import InstallPlan from '../lib/InstallPlan'; -import * as githubHelpers from '../lib/github-api-helpers'; - -jest.mock('@actions/core'); -jest.spyOn(global.console, 'error').mockImplementation(() => {}); - -jest.mock('../lib/github-api-helpers', () => ({ - ...jest.requireActual('../lib/github-api-helpers'), - filterQuickstartConfigFiles: jest.fn(), -})); - -jest.mock('../lib/Quickstart'); -jest.mock('../lib/InstallPlan'); - -const validQuickstartFilename = 'quickstarts/mock-quickstart-2/config.yml'; -const invalidQuickstartFilename1 = 'quickstarts/mock-quickstart-1/config.yml'; -const invalidQuickstartFilename2 = 'quickstarts/mock-quickstart-3/config.yml'; -const validQuickstartWithoutInstallPlan = - 'quickstarts/mock-quickstart-5/config.yml'; - -const mockGithubAPIFiles = (filenames) => - filenames.map((filename) => ({ - sha: '', - filename: `utils/mock_files/${filename}`, - status: 'added', - additions: 0, - deletions: 0, - changes: 0, - blob_url: '', - raw_url: '', - contents_url: '', - patch: '', - })); - -describe('Action: validate install plan id', () => { - afterEach(() => { - jest.resetAllMocks(); - }); - - test('succeeds with valid install plan id', () => { - const files = mockGithubAPIFiles([validQuickstartFilename]); - githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - Quickstart.mockImplementation(() => { - return { config: { installPlans: ['valid-id'] } }; - }); - InstallPlan.mockImplementation(() => { - return { isValid: true }; - }); - - validateInstallPlanIds(files); - expect(global.console.error).not.toHaveBeenCalled(); - }); - - test(`succeeds when valid quickstart doesn't contain any install plan`, () => { - const files = mockGithubAPIFiles([validQuickstartWithoutInstallPlan]); - githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - Quickstart.mockImplementation(() => { - return { config: { installPlans: [] } }; - }); - InstallPlan.mockImplementation(() => { - return { isValid: true }; - }); - - validateInstallPlanIds(files); - expect(global.console.error).not.toHaveBeenCalled(); - expect(InstallPlan).toHaveBeenCalledTimes(0); - }); - - test('fails with invalid install plan id', () => { - const files = mockGithubAPIFiles([invalidQuickstartFilename1]); - githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - Quickstart.mockImplementation(() => { - return { config: { installPlans: ['invalid-id'] } }; - }); - InstallPlan.mockImplementation(() => { - return { isValid: false }; - }); - - validateInstallPlanIds(files); - expect(global.console.error).toHaveBeenCalledTimes(4); - }); - - test('fails with one invalid and one install plan id for singular quickstart', () => { - const files = mockGithubAPIFiles([invalidQuickstartFilename2]); - githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - Quickstart.mockImplementation(() => { - return { config: { installPlans: ['valid-id', 'invalid-id'] } }; - }); - InstallPlan.mockImplementationOnce(() => { - return { isValid: true }; - }).mockImplementationOnce(() => { - return { isValid: false }; - }); - - validateInstallPlanIds(files); - expect(global.console.error).toHaveBeenCalledTimes(4); - }); - - test('fails with mix of valid and invalid quickstart', () => { - const files = mockGithubAPIFiles([ - invalidQuickstartFilename1, - invalidQuickstartFilename2, - validQuickstartFilename, - ]); - githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - Quickstart.mockImplementationOnce(() => { - return { - config: { installPlans: ['invalid-id'] }, - }; - }) - .mockImplementationOnce(() => { - return { - config: { installPlans: ['invalid-id-2'] }, - }; - }) - .mockImplementationOnce(() => { - return { - config: { installPlans: ['valid-id'] }, - }; - }); - InstallPlan.mockImplementationOnce(() => { - return { isValid: false }; - }) - .mockImplementationOnce(() => { - return { isValid: false }; - }) - .mockImplementationOnce(() => { - return { isValid: true }; - }); - - validateInstallPlanIds(files); - expect(global.console.error).toHaveBeenCalledTimes(5); - }); - - test('does not fail for deleted quickstart', () => { - const removedQuickstartFilename = 'fake-removed-quickstart/config.yml'; - const files = mockGithubAPIFiles([removedQuickstartFilename]); - files[0].status = 'removed'; - githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - Quickstart.mockImplementation(() => { - return { - config: { installPlans: ['valid-id'] }, - }; - }); - - validateInstallPlanIds(files); - expect(global.console.error).toHaveBeenCalledTimes(0); - expect(Quickstart).toHaveBeenCalledTimes(0); - }); -}); diff --git a/utils/create-validate-install-plans.ts b/utils/create-validate-install-plans.ts deleted file mode 100644 index b989051b33..0000000000 --- a/utils/create-validate-install-plans.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { prop, passedProcessArguments } from './lib/helpers'; -import { - fetchPaginatedGHResults, - filterOutTestFiles, - isNotRemoved, -} from './lib/github-api-helpers'; -import { translateMutationErrors, chunk } from './lib/nr-graphql-helpers'; -import { recordNerdGraphResponse, CUSTOM_EVENT } from './newrelic/customEvent'; -import InstallPlan, { InstallPlanMutationResponse } from './lib/InstallPlan'; -import { InstallPlanConfig } from './types/InstallPlanConfig'; -import * as path from 'path'; -import * as fs from 'fs'; -import * as yaml from 'js-yaml'; -import { NerdGraphResponseWithLocalErrors } from './types/nerdgraph'; - -const INSTALL_CONFIG_REGEXP = new RegExp('install/.+/install.+(yml|yaml)'); - -export const getInstallPlanId = (filename: string) => { - const filePath = path.resolve(__dirname, '..', filename); - if (!fs.existsSync(filePath)) { - return ''; - } - const config = yaml.load( - fs.readFileSync(filePath).toString('utf-8') - ) as InstallPlanConfig; - return config.id; -}; - -/** - * Entrypoint. - */ -const main = async () => { - const [GITHUB_API_URL, dryRun] = passedProcessArguments(); - const githubToken = process.env.GITHUB_TOKEN; - const isDryRun = dryRun === 'true'; - - if (!githubToken) { - console.error('GITHUB_TOKEN is not defined.'); - process.exit(1); - } - - // Get all files from PR - const files = await fetchPaginatedGHResults(GITHUB_API_URL, githubToken); - - // Get all install-plan mutation variables - const plans = filterOutTestFiles(files) - .filter(isNotRemoved) - .map(prop('filename')) - .filter((filename) => INSTALL_CONFIG_REGEXP.test(filename)) - .map((filename) => getInstallPlanId(filename)) - .filter(Boolean) - .map((installId) => new InstallPlan(installId)); - - let results: (NerdGraphResponseWithLocalErrors & { - name: string; - })[] = []; - // Submit all of the mutations (in chunks of 5) - for (const c of chunk(plans, 5)) { - const res = await Promise.all( - c.map((plan) => plan.submitMutation(isDryRun)) - ); - - results = [...results, ...res]; - } - - // Find the failed mutations and report - const failures = results.filter((r) => r.errors && r.errors.length); - - failures.forEach(({ errors, name }) => - translateMutationErrors(errors!, name) - ); - - const hasFailed = failures.length > 0; - - // Record event in New Relic - const event = isDryRun - ? CUSTOM_EVENT.VALIDATE_INSTALL_PLANS - : CUSTOM_EVENT.UPDATE_INSTALL_PLANS; - - await recordNerdGraphResponse(hasFailed, event); - - if (hasFailed) { - process.exit(1); - } -}; - -if (require.main === module) { - main(); -} - -export default main; diff --git a/utils/data-source-from-install-plan.ts b/utils/data-source-from-install-plan.ts deleted file mode 100644 index 8f59a81c67..0000000000 --- a/utils/data-source-from-install-plan.ts +++ /dev/null @@ -1,210 +0,0 @@ -import * as path from 'path'; -import * as fs from 'fs'; -import * as yaml from 'js-yaml'; - -import InstallPlan from './lib/InstallPlan'; -import Quickstart from './lib/Quickstart'; -import { passedProcessArguments } from './lib/helpers'; - -import type { - DataSourceConfig, - DataSourceConfigInstallDirective, -} from './types/DataSourceConfig'; -import type { InstallPlanInstall } from './types/InstallPlanConfig'; - -// Get all the quickstarts for icon lookup -const ALL_QUICKSTARTS = Quickstart.getAll(); - -/** - * Maps the configuration for an install plan directive to the format needed - * for a data source primary / fallback installation. - * - * In the event that we come accross a targeted install, we return `undefined` - * since this is not something we can handle with data source installs. - */ -const ipInstallToDsInstall = ({ - mode, - destination, -}: InstallPlanInstall): DataSourceConfigInstallDirective | undefined => { - switch (mode) { - case 'link': - return { - link: { - url: destination.url, - }, - }; - case 'nerdlet': - return { - nerdlet: { - nerdletId: destination.nerdletId, - // NOTE: install plans have this type as `{ [x:string]: ngql }` and - // data sources have this type as `Record`. These are - // functionally the same thing, but we need to cast this with `as` to - // ensure typescript is happy. - nerdletState: destination.nerdletState as Record, - // NOTE: install plans do _not_ have any concept of `requiresAccount` - // so we are defaulting this to `false`. - requiresAccount: false, - }, - }; - default: - // NOTE: Data sources can only be link or nerdlet installs, but install - // plans can have a `targetedInstall` mode as well. In the event that we - // come accross this type of install, we are going to ignore it. - return undefined; - } -}; - -/** - * Given the title for an _install plan_ this will attempt to find a matching - * _quickstart_ and return it's icon. May return `undefined` if no matching - * quickstart is found. - */ -const getIconFromQuickstart = (title: string): string | undefined => { - const quickstart = ALL_QUICKSTARTS.find( - (qs) => qs.config.title.toLowerCase() === title.toLowerCase() - ); - - let icon = quickstart?.config.icon; - - if (quickstart) { - /* - identifier is returning /config.yml so currently this is - replacing the last part of the path with /${quickstart.config.icon} - Might be a better way to do this - */ - icon = path.join( - quickstart.basePath, - quickstart?.identifier.replace(/\/[^\/]*$/, `/${quickstart.config.icon}`) - ); - } - - return icon; -}; - -const createDataSourceConfig = ({ config }: InstallPlan): DataSourceConfig => { - const THIRD_PARTY_PREFIX = 'third-party-'; - const configId = config.id.includes(THIRD_PARTY_PREFIX) - ? config.id.split('third-party-')[1] - : config.id; - - const dsConfig: DataSourceConfig = { - id: configId, - displayName: config.title, - description: config.description, - install: { - // NOTE: the primary installation for a data source is required, but our - // conversion function can possibly return `undefined`. We're adding a `!` - // here because we can reasonbly assume we will _always_ have a non-targed - // primary install. This assumption might be incorrect in a couple of - // instances, so we should verify that all created data sources have a - // primary install. - primary: ipInstallToDsInstall(config.install)!, - }, - }; - - // Attempt to find an icon for the data source by trying to find quickstarts - // with the same name as the install plan. - const icon = getIconFromQuickstart(config.title); - if (icon) { - dsConfig.icon = icon; - } - - // NOTE: it's possible for an install plan to _not_ have a fallback. - if (config.fallback) { - dsConfig.install.fallback = ipInstallToDsInstall(config.fallback); - } - - return dsConfig; -}; - -/* - * The sheet we've been preparing for the scripts has a row with data source id, and - * if its needing to be created it has TO_BE_CREATED. We are using a csv of the sheet - * and just filtering the rows by TO_BE_CREATED and mapping to just the install plan id - */ -const getToBeCreatedIdsFromCsv = (csvPath: string): string[] => { - const fullCSVPath = path.resolve(__dirname, csvPath); - const csvString = fs.readFileSync(fullCSVPath, { encoding: 'utf-8' }); - - const csvRows = csvString.split('\r\n'); - - return csvRows - .filter((row) => row.includes('TO_BE_CREATED')) - .map((newDS) => newDS.split(',')[0]); -}; - -/** - * Helper script that will take an input in the form of a list of install plan - * IDs and will create files for new _data sources_ based on those install - * plans. - */ -const main = () => { - /** - * Script expects a relative path to the csv containing install - * plan ids and associated data source ids that need to be created - */ - const [csvRelativePath] = passedProcessArguments(); - - const ids = getToBeCreatedIdsFromCsv(csvRelativePath); - const plans = ids.map((id) => new InstallPlan(id)); - // filter out the install plans that use a targetedInstall as the primary - // install directive. - const { validPlans, targetedPlans } = plans.reduce<{ - validPlans: InstallPlan[]; - targetedPlans: InstallPlan[]; - }>( - (acc, plan) => { - return plan.config.install.mode === 'targetedInstall' - ? { ...acc, targetedPlans: [...acc.targetedPlans, plan] } - : { ...acc, validPlans: [...acc.validPlans, plan] }; - }, - { validPlans: [], targetedPlans: [] } - ); - - const configs = validPlans.map(createDataSourceConfig); - - for (const config of configs) { - // create a new directory in the data-sources directory - const dirpath = path.resolve(__dirname, '../data-sources/', config.id); - fs.mkdirSync(dirpath); - - if (config.icon) { - const quickstartIconPath = config.icon; - config.icon = quickstartIconPath.split('/').pop(); - - fs.copyFile( - quickstartIconPath, - path.join(dirpath, `/${config.icon}`), - (err) => { - if (err) { - console.error('Could not copy icon: ', err); - } - } - ); - } - - // create a new config file - const filePath = path.resolve(dirpath, 'config.yml'); - const yamlOptions = { - lineWidth: -1, - }; - - const fileContent = yaml.dump(config, yamlOptions); - fs.writeFileSync(filePath, fileContent, { encoding: 'utf8' }); - } - - // for debugging purposes - console.log( - 'The following install plans have TARGETED install directives and a data source has not been created for them:' - ); - for (const plan of targetedPlans) { - console.log(`\t${plan.config.id}`); - } -}; - -if (require.main === module) { - main(); -} - -export default main; diff --git a/utils/lib/InstallPlan.ts b/utils/lib/InstallPlan.ts deleted file mode 100644 index f5bf4c2746..0000000000 --- a/utils/lib/InstallPlan.ts +++ /dev/null @@ -1,189 +0,0 @@ -import * as path from 'path'; -import * as glob from 'glob'; -import * as fs from 'fs'; -import * as yaml from 'js-yaml'; - -import Component from './Component'; -import { fetchNRGraphqlResults } from './nr-graphql-helpers'; -import { INSTALL_PLAN_MUTATION } from '../constants'; - -import type { - InstallPlanConfig, - InstallPlanConfigTargetOS, - InstallPlanInstall, -} from '../types/InstallPlanConfig'; -import type { - InstallPlanDirectiveInput, - InstallPlanMutationVariable, - InstallPlanTargetInput, -} from '../types/InstallPlanMutationVariables'; - -export interface InstallPlanMutationResponse { - installPlanStep: { - id: string; - }; -} - -class InstallPlan extends Component { - /** - * @returns Filepath for the configuration file (from top-level directory). - */ - getConfigFilePath() { - // Lines next few lines are a hack to allow us to pass in the - // install plan id as the identifier instead - // of its path under the `install/` directory, - // this code then parses all install plans and sets - // the correct path to the requested install plan - const id = this.identifier; - const allInstallPlans = getAllInstallPlanFiles(this.basePath).map((p) => ({ - filePath: p, - content: yaml.load( - fs.readFileSync(p).toString('utf-8') - ) as InstallPlanConfig, - })); - const installPlan = allInstallPlans.find((i) => i.content?.id === id); - this.identifier = path.dirname( - Component.removeBasePath( - installPlan?.filePath ?? '', - path.join(this.basePath, 'install') - ) - ); - - const filePaths = glob.sync( - path.join( - this.basePath, - 'install', - this.identifier, - 'install.+(yml|yaml)' - ) - ); - - if (!Array.isArray(filePaths) || filePaths.length !== 1) { - this.isValid = false; - return ''; - } - - return Component.removeBasePath(filePaths[0], this.basePath); - } - - getConfigContent() { - return this._getYamlConfigContent(); - } - - /** - * Get the variables for the **Quickstart** mutation. - * - * @returns The ID for this install plan - */ - getMutationVariables(): string{ - if (!this.isValid) { - console.error( - `Install plan is invalid.\nPlease check the install plan at ${this.identifier}\n` - ); - } - return this.config.id; - } - - /** - * Submits a mutation to NerdGraph for a single install plan. - */ - public async submitMutation(dryRun = true) { - if (!this.isValid) { - console.error( - `Install plan is invalid.\nPlease check the install plan at ${this.identifier}\n` - ); - } - - const { data, errors } = await fetchNRGraphqlResults< - InstallPlanMutationVariable, - InstallPlanMutationResponse - >({ - queryString: INSTALL_PLAN_MUTATION, - variables: this._getComponentMutationVariables(dryRun), - }); - - return { name: this.config.name, data, errors }; - } - - /** - * Get the **component-specific** mutation variables. - * - * @todo: add this to the abstract class (or create an interface) - */ - private _getComponentMutationVariables( - dryRun: boolean - ): InstallPlanMutationVariable { - const { id, description, name, title, install, fallback, target } = - this.config ?? {}; - - return { - dryRun, - id, - description, - displayName: name && name.trim(), - heading: title && title.trim(), - primary: install && this._parseInstallDirective(install), - fallback: fallback && this._parseInstallDirective(fallback), - target: target && this._buildInstallPlanTargetVariable(), - }; - } - - /** - * Helper method that returns the directive, regardless of type. - */ - private _parseInstallDirective( - directive: InstallPlanInstall - ): InstallPlanDirectiveInput { - const { mode, destination } = directive; - - switch (mode) { - case 'targetedInstall': - return { - targeted: { recipeName: destination && destination.recipeName }, - }; - - case 'link': - return { link: { url: destination && destination.url } }; - - case 'nerdlet': - return { - nerdlet: { - nerdletId: destination && destination.nerdletId, - nerdletState: - destination && JSON.stringify(destination.nerdletState), - }, - }; - - // Defaults to submitting an invalid directive, so that validation can catch it - default: - return { mode, destination: undefined }; - } - } - - /** - * Builds the target parameter from the config into the variables for NR Request. - */ - private _buildInstallPlanTargetVariable(): InstallPlanTargetInput { - const { target } = this.config; - - const type = target.type.toUpperCase(); - const destination = target.destination.toUpperCase(); - - const upperCaseTarget = { type, destination } as InstallPlanTargetInput; - - if ('os' in target && Array.isArray(target.os)) { - upperCaseTarget.os = target.os.map( - (str) => str.toUpperCase() as Uppercase - ); - } - - return upperCaseTarget; - } -} - -const getAllInstallPlanFiles = ( - basePath: string = path.join(__dirname, '..', '..') -): string[] => - glob.sync(path.join(basePath, 'install', '**', 'install.+(yml|yaml)')); - -export default InstallPlan; diff --git a/utils/types/InstallPlanConfig.ts b/utils/types/InstallPlanConfig.ts deleted file mode 100644 index 4494d22c60..0000000000 --- a/utils/types/InstallPlanConfig.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Types in this file correspond to usage in config files. - * - * Names and fields may overlap with types used in interactions with NerdGraph. - */ - -export interface InstallPlanConfig { - id: string; - name: string; - title: string; - description: string; - target: InstallPlanTarget; - install: InstallPlanInstall; - fallback?: InstallPlanInstall; -} - -export interface InstallPlanTarget { - destination: InstallPlanConfigTargetDestination; - os?: InstallPlanConfigTargetOS[]; - type: InstallPlanConfigTargetType; -} - -export type InstallPlanInstall = - | { mode: 'link'; destination: { url: string } } - | { - mode: 'nerdlet'; - destination: { - nerdletId: string; - nerdletState?: { [x: string]: string }; - }; - } - | { mode: 'targetedInstall'; destination: { recipeName: string } }; - -export type InstallPlanConfigTargetType = - | 'integration' - | 'agent' - | 'on_host_integration' - | 'unknown'; - -export type InstallPlanConfigTargetOS = 'darwin' | 'linux' | 'windows'; - -export type InstallPlanConfigTargetDestination = - | 'application' - | 'cloud' - | 'host' - | 'kubernetes' - | 'unknown'; diff --git a/utils/types/InstallPlanMutationVariables.ts b/utils/types/InstallPlanMutationVariables.ts deleted file mode 100644 index 78eb276b49..0000000000 --- a/utils/types/InstallPlanMutationVariables.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { - InstallPlanConfigTargetOS, - InstallPlanConfigTargetType, - InstallPlanConfigTargetDestination, -} from './InstallPlanConfig'; - -export interface InstallPlanMutationVariable { - dryRun: boolean; - description: string; - displayName: string; - fallback?: InstallPlanDirectiveInput; - heading: string; - id: string; - primary: InstallPlanDirectiveInput; - target: InstallPlanTargetInput; -} - -export interface InstallPlanTargetInput { - destination: InstallPlanDestination; - os?: InstallPlanOperatingSystem[]; - type: InstallPlanTargetType; -} - -export type InstallPlanDirectiveInput = - | TargetedInstallDirective - | LinkDirective - | NerdletDirective - | DefaultDirective; - -interface TargetedInstallDirective { - targeted: { - recipeName: string; - }; -} - -interface LinkDirective { - link: { - url: string; - }; -} - -interface NerdletDirective { - nerdlet: { - nerdletId: string; - nerdletState?: string; - }; -} - -interface DefaultDirective { - mode: string; - destination?: undefined; -} - -export type InstallPlanDestination = - Uppercase; - -export type InstallPlanOperatingSystem = Uppercase; - -export type InstallPlanTargetType = Uppercase; diff --git a/utils/validate-quickstart-install-plans.ts b/utils/validate-quickstart-install-plans.ts deleted file mode 100644 index d7394bb160..0000000000 --- a/utils/validate-quickstart-install-plans.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { - fetchPaginatedGHResults, - filterQuickstartConfigFiles, - filterOutTestFiles, - GithubAPIPullRequestFile, - isNotRemoved, -} from './lib/github-api-helpers'; - -import Quickstart from './lib/Quickstart'; -import InstallPlan from './lib/InstallPlan'; -import { passedProcessArguments } from './lib/helpers'; - -/** - * Main validation logic ensuring install plans specified in config files actually exist - */ -export const validateInstallPlanIds = ( - githubFiles: GithubAPIPullRequestFile[] -) => { - const configFiles: GithubAPIPullRequestFile[] = - filterQuickstartConfigFiles(githubFiles); - const existingConfigFiles: GithubAPIPullRequestFile[] = - configFiles.filter(isNotRemoved); // Filter out deleted files - - const quickstarts = existingConfigFiles.map( - ({ filename }) => new Quickstart(filename) - ); - - const quickstartsWithInvalidInstall = quickstarts - .map((quickstart) => { - const invalidIds = - quickstart.config.installPlans?.filter((installPlanId) => { - return !new InstallPlan(installPlanId).isValid; - }) ?? []; - - return { - quickstart, - invalidInstallPlans: invalidIds, - }; - }) - .filter((q) => q.invalidInstallPlans.length > 0); - - if (quickstartsWithInvalidInstall.length > 0) { - console.error( - `ERROR: Found install plans with no corresponding install plan id.\n` - ); - console.error(`An install plan id must match an existing install plan id.`); - quickstartsWithInvalidInstall.forEach((m) => - console.error( - `- ${m.invalidInstallPlans.join(', ')} in ${m.quickstart.configPath}` - ) - ); - console.error( - `\nPlease change to an existing install plan id or remove the ids.` - ); - - if (require.main === module) { - process.exit(1); - } - } -}; - -const main = async () => { - const [GITHUB_API_URL] = passedProcessArguments(); - const githubToken = process.env.GITHUB_TOKEN; - - if (!githubToken) { - console.error('GITHUB_TOKEN is not defined.'); - process.exit(1); - } - const files = await fetchPaginatedGHResults(GITHUB_API_URL, githubToken); - validateInstallPlanIds(filterOutTestFiles(files)); -}; - -if (require.main === module) { - main(); -} From fc3776ebcbe970a10fff3bf4417465f22651ee44 Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 13:40:45 -0700 Subject: [PATCH 07/43] chore: Remove reference to install plan job --- .github/workflows/reusable.quickstart_submission.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable.quickstart_submission.yml b/.github/workflows/reusable.quickstart_submission.yml index 1d0911cc26..16bd346dfe 100644 --- a/.github/workflows/reusable.quickstart_submission.yml +++ b/.github/workflows/reusable.quickstart_submission.yml @@ -51,7 +51,7 @@ jobs: cd utils && yarn create-validate-data-sources "$URL" "$DRY_RUN" submit-quickstarts: - needs: [submit-install-plans, submit-data-sources] + needs: [submit-data-sources] name: Submit quickstarts runs-on: ubuntu-latest steps: From ea10b6d5b3dbc91d87c3d564733d11cc1c43ec05 Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 13:41:02 -0700 Subject: [PATCH 08/43] test: Remove test file --- utils/lib/__tests__/InstallPlan.test.js | 94 ------------------------- 1 file changed, 94 deletions(-) delete mode 100644 utils/lib/__tests__/InstallPlan.test.js diff --git a/utils/lib/__tests__/InstallPlan.test.js b/utils/lib/__tests__/InstallPlan.test.js deleted file mode 100644 index 9d5be7fda8..0000000000 --- a/utils/lib/__tests__/InstallPlan.test.js +++ /dev/null @@ -1,94 +0,0 @@ -import * as fs from 'fs'; -import * as yaml from 'js-yaml'; -import * as path from 'path'; - -import InstallPlan from '../InstallPlan'; -const MOCK_FILES_BASEPATH = path.resolve(__dirname, '../../mock_files'); - -const mockInstall3 = yaml.load( - fs - .readFileSync( - path.resolve( - __dirname, - '../../mock_files/install/mock-install-3/install.yml' - ) - ) - .toString('utf-8') -); - -describe('InstallPlan', () => { - describe('getConfigFilePath', () => { - test('should return a valid path to the config file', () => { - const plan = new InstallPlan('mock-install-1', MOCK_FILES_BASEPATH); - - expect(plan.isValid).toBeTruthy(); - }); - - test('should set valid to false if the config file can not be found', () => { - const plan = new InstallPlan('foobar'); - - expect(plan.isValid).toBeFalsy(); - expect(plan.configPath).toEqual(''); - }); - }); - - describe('getConfigContent', () => { - test('should return config if valid', () => { - const plan = new InstallPlan('test-install-install', MOCK_FILES_BASEPATH); - - expect(plan.isValid).toBeTruthy(); - }); - }); - - describe('getMutationVariables', () => { - test('returns id of install plan', () => { - const install = new InstallPlan('mock-install-1', MOCK_FILES_BASEPATH); - expect(install.getMutationVariables()).toEqual('mock-install-1'); - }); - }); - - describe('_getComponentMutationVariables', () => { - test('returns correct mutation variables for valid install plan', () => { - const install = new InstallPlan( - 'test-install-install', - MOCK_FILES_BASEPATH - ); - const vars = install._getComponentMutationVariables(true); - expect(vars).toEqual({ - id: mockInstall3.id, - dryRun: true, - description: mockInstall3.description, - displayName: mockInstall3.name, - target: { - destination: mockInstall3.target.destination?.toUpperCase(), - os: mockInstall3.target.os?.map((s) => s.toUpperCase()), - type: mockInstall3.target.type?.toUpperCase(), - }, - heading: mockInstall3.title, - primary: { - targeted: { - recipeName: mockInstall3.install.destination.recipeName, - }, - }, - fallback: { - link: { url: mockInstall3.fallback.destination.url }, - }, - }); - }); - - test('returns variables for invalid install plan', () => { - const install = new InstallPlan('mock-fake', MOCK_FILES_BASEPATH); - const vars = install._getComponentMutationVariables(true); - expect(vars).toEqual({ - id: undefined, - dryRun: true, - description: undefined, - displayName: undefined, - target: undefined, - heading: undefined, - primary: undefined, - fallback: undefined, - }); - }); - }); -}); From 88851dd21d68ba91471d026550c7cb9a538f21a1 Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 13:41:18 -0700 Subject: [PATCH 09/43] chore: Remove unneeded migration script --- .../assign-data-sources-to-quickstarts.ts | 117 ------------------ 1 file changed, 117 deletions(-) delete mode 100644 utils/migration_scripts/assign-data-sources-to-quickstarts.ts diff --git a/utils/migration_scripts/assign-data-sources-to-quickstarts.ts b/utils/migration_scripts/assign-data-sources-to-quickstarts.ts deleted file mode 100644 index 74650d1e67..0000000000 --- a/utils/migration_scripts/assign-data-sources-to-quickstarts.ts +++ /dev/null @@ -1,117 +0,0 @@ -import * as fs from 'fs'; -import * as yaml from 'js-yaml'; -import * as path from 'path'; - -import Quickstart from '../lib/Quickstart'; -import { passedProcessArguments } from '../lib/helpers'; - -const parseCSV = (csvString: string) => { - const csvRows = csvString.split('\r\n'); - - return csvRows.reduce((acc: Record, row: string, idx) => { - if (idx === 0) { - return acc; - } - - const rowValues = row.split(','); - const nextAcc = { ...acc, [rowValues[0]]: rowValues[1] }; - - return nextAcc; - }, {}); -}; - -const NOT_DATASOURCE_IDS = ['TO_BE_CREATED', 'MANUAL']; - -const main = async () => { - const [csvRelativePath] = passedProcessArguments(); - const quickstarts = Quickstart.getAll(); - - const fullCSVPath = path.resolve(__dirname, csvRelativePath); - - const csvString = fs.readFileSync(fullCSVPath, { encoding: 'utf-8' }); - const installPlansToDataSources = parseCSV(csvString); - - const installPlanIdsWithoutDataSource: string[] = []; - - quickstarts.forEach((quickstart) => { - const installPlanIds = quickstart.config.installPlans ?? []; - const existingDataSourceIds = quickstart.config.dataSourceIds ?? []; - - if (installPlanIds.length === 0) { - return; - } - - const newDataSourceIds = installPlanIds.reduce( - (acc: string[], installPlanId) => { - const dataSourceId: string = - installPlansToDataSources[installPlanId] ?? undefined; - - if (dataSourceId === undefined) { - installPlanIdsWithoutDataSource.push(installPlanId); - return acc; - } - - if (NOT_DATASOURCE_IDS.includes(dataSourceId)) { - return acc; - } - - return [...acc, dataSourceId]; - }, - [] - ); - - const nextDataSourceIds = [ - ...new Set([...existingDataSourceIds, ...newDataSourceIds]), - ]; - - if (nextDataSourceIds.length === 0) { - return; - } - - const qsYaml = yaml.load( - fs.readFileSync(quickstart.configPath, { encoding: 'utf-8' }) - ) as Record; - - qsYaml['dataSourceIds'] = nextDataSourceIds; - - // Get positions of top level keys and move dataSourceIds to be adjacent to installPlans fields - // This gets used in the sortKeys option for the yaml dump - const yamlKeys = Object.keys(qsYaml); - yamlKeys.splice(yamlKeys.indexOf('dataSourceIds'), 1); - yamlKeys.splice(yamlKeys.indexOf('installPlans') + 1, 0, 'dataSourceIds'); - - const yamlOptions = { - lineWidth: -1, // Unlimited - sortKeys: (a: string, b: string) => { - const aIdx = yamlKeys.indexOf(a); - const bIdx = yamlKeys.indexOf(b); - - // Incase we encounter a non-top level key, preserve the order - if (aIdx === -1 || bIdx === -1) { - return 0; - } - - if (aIdx < bIdx) { - return -1; - } else if (aIdx > bIdx) { - return 1; - } else { - return 0; - } - }, - }; - - fs.writeFileSync( - path.resolve(quickstart.basePath, quickstart.identifier), - yaml.dump(qsYaml, yamlOptions) - ); - }); - - console.log('Data source assignment to quickstarts complete.'); - console.log( - `Install plan ids without a datasource: ${installPlanIdsWithoutDataSource.length}`, - installPlanIdsWithoutDataSource - ); -}; - -main(); From ae9f9ed3b60333f38e4ed4a96359d3d27df9b5fe Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 15:30:11 -0700 Subject: [PATCH 10/43] chore: Remove job --- .github/workflows/validate_packs.yml | 40 ---------------------------- 1 file changed, 40 deletions(-) diff --git a/.github/workflows/validate_packs.yml b/.github/workflows/validate_packs.yml index 2df675b546..be85d7a1e7 100644 --- a/.github/workflows/validate_packs.yml +++ b/.github/workflows/validate_packs.yml @@ -163,46 +163,6 @@ jobs: statusContext: "Validation / Validate Quickstart Schema" state: ${{ job.status }} - validate-install-plan-ids: - name: Validate install plan ids - runs-on: ubuntu-latest - steps: - - name: Download artifact - uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e - with: - workflow: validation_gate.yml - run_id: ${{ github.event.workflow_run.id }} - - - name: Get PR number - id: get_pr_number - run: | - export PR_NUMBER=$(cat artifact/pr_number.txt) - echo "pr-number=$PR_NUMBER" >> $GITHUB_ENV - - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - ref: "refs/pull/${{ env.pr-number }}/merge" - - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - - name: Validate new files - id: validation - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_NUMBER: ${{ env.pr-number }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - cd utils && yarn validate-quickstart-install-plans "$URL" - - - name: Add commit status - if: always() - uses: "./.github/actions/add-commit-status" - with: - statusContext: "Validation / Install plan ids exist" - state: ${{ job.status }} - validate-data-source-ids: name: Validate data source ids runs-on: ubuntu-latest From d60e709f4e2bbd299b0589d80fae4231d3f67496 Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 15:30:23 -0700 Subject: [PATCH 11/43] chore: Remove reference --- CONTRIBUTING.md | 3 ++- utils/__tests__/test-utilities.js | 1 - utils/constants.ts | 2 +- utils/package.json | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e08f2ae64c..77200322ad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,8 +30,9 @@ - [Dashboard name uniqueness](#dashboard-name-uniqueness) - [Dashboard screenshots](#dashboard-screenshots) - [Alerts](#alerts) + - [Alert condition fields](#alert-condition-fields) - - [Install Plans (DEPRECATED)](#install-plans-deprecated) + - [Data sources](#data-sources-1) - [Data source fields](#data-source-fields) - [Data source install fields](#data-source-install-fields) diff --git a/utils/__tests__/test-utilities.js b/utils/__tests__/test-utilities.js index 3a5dcc72a2..ef281660bf 100644 --- a/utils/__tests__/test-utilities.js +++ b/utils/__tests__/test-utilities.js @@ -38,7 +38,6 @@ const mockGitHubResponseFilenames = [ 'utils/lib/github-api-helpers.js', 'utils/helpers.js', 'utils/package.json', - 'utils/validate-install-plan.js', 'utils/yarn.lock', ]; diff --git a/utils/constants.ts b/utils/constants.ts index 12267b2409..0348f96848 100644 --- a/utils/constants.ts +++ b/utils/constants.ts @@ -15,7 +15,7 @@ export const DATA_SOURCE_CONFIG_REGEXP = new RegExp( ); export const COMPONENT_PREFIX_REGEXP = - /^(dashboards|alert-policies|install-plans|data-sources)\//; + /^(dashboards|alert-policies|data-sources)\//; /** * Because brand new quickstarts added via a PR do not have an ID until they are assigned one at release, diff --git a/utils/package.json b/utils/package.json index 0d12c3087f..e0d555336b 100644 --- a/utils/package.json +++ b/utils/package.json @@ -5,7 +5,6 @@ "author": "NewRelic", "license": "Apache-2.0", "scripts": { - "validate-quickstart-install-plans": "ts-node validate-quickstart-install-plans.ts", "validate-quickstart-data-sources": "ts-node validate-quickstart-data-sources.ts", "create-validate-data-sources": "ts-node create-validate-data-sources.ts", "create-validate-pr-quickstarts": "ts-node create_validate_pr_quickstarts.ts", From 462e9b7820761d02d4c2b52662f9d0c203229d45 Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 15:31:01 -0700 Subject: [PATCH 12/43] chore: Remove check for install plan errors --- .../create-validate-pr-quickstarts.test.js | 67 +++++++------------ utils/create_validate_pr_quickstarts.ts | 19 +----- 2 files changed, 27 insertions(+), 59 deletions(-) diff --git a/utils/__tests__/create-validate-pr-quickstarts.test.js b/utils/__tests__/create-validate-pr-quickstarts.test.js index 992f84ac98..519ef2f969 100644 --- a/utils/__tests__/create-validate-pr-quickstarts.test.js +++ b/utils/__tests__/create-validate-pr-quickstarts.test.js @@ -3,7 +3,6 @@ import { createValidateQuickstarts } from '../create_validate_pr_quickstarts'; import Quickstart from '../lib/Quickstart'; -import InstallPlan from '../lib/InstallPlan'; import * as githubHelpers from '../lib/github-api-helpers'; jest.mock('@actions/core'); @@ -17,7 +16,6 @@ jest.mock('../lib/github-api-helpers', () => ({ })); jest.mock('../lib/Quickstart'); -jest.mock('../lib/InstallPlan'); const validQuickstartFilename = 'quickstarts/mock-quickstart-2/config.yml'; @@ -33,17 +31,6 @@ const mockNGQuickstartErr = (data) => ({ ], }); -const mockNGInstallPlanErr = (data) => ({ - data, - errors: [ - { - extensions: { - argumentPath: [`installPlanStepIds`], - }, - message: `contains an install plan step that does not exist`, - }, - ], -}); const mockGithubAPIFiles = (filenames) => filenames.map((filename) => ({ @@ -82,9 +69,6 @@ describe('create-validate-pr-quickstarts', () => { }), }; }); - InstallPlan.mockImplementationOnce(() => { - return { isValid: true }; - }); const hasErrored = await createValidateQuickstarts('url', 'token'); expect(hasErrored).toBe(false); @@ -107,38 +91,35 @@ describe('create-validate-pr-quickstarts', () => { .mockResolvedValueOnce(mockNGQuickstartErr({})), }; }); - InstallPlan.mockImplementationOnce(() => { - return { isValid: true }; - }); const hasErrored = await createValidateQuickstarts('url', 'token'); expect(hasErrored).toBe(true); }); - test('does not fail for install plan id error', async () => { - const files = mockGithubAPIFiles([validQuickstartFilename]); - githubHelpers.fetchPaginatedGHResults.mockResolvedValueOnce(files); - githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - Quickstart.mockImplementation(() => { - return { - config: { - installPlans: ['valid-id'], - }, - isValid: true, - validate: jest.fn().mockImplementation(() => true), - submitMutation: jest - .fn() - .mockResolvedValueOnce(mockNGInstallPlanErr({})), - }; - }); - InstallPlan.mockImplementationOnce(() => { - return { isValid: true }; - }); - - const hasErrored = await createValidateQuickstarts('url', 'token'); - expect(hasErrored).toBe(false); - }); + // test('does not fail for install plan id error', async () => { + // const files = mockGithubAPIFiles([validQuickstartFilename]); + // githubHelpers.fetchPaginatedGHResults.mockResolvedValueOnce(files); + // githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); + + // Quickstart.mockImplementation(() => { + // return { + // config: { + // installPlans: ['valid-id'], + // }, + // isValid: true, + // validate: jest.fn().mockImplementation(() => true), + // submitMutation: jest + // .fn() + // .mockResolvedValueOnce(mockNGInstallPlanErr({})), + // }; + // }); + // InstallPlan.mockImplementationOnce(() => { + // return { isValid: true }; + // }); + + // const hasErrored = await createValidateQuickstarts('url', 'token'); + // expect(hasErrored).toBe(false); + // }); test('does not process removed file', async () => { const files = mockGithubAPIFiles([validQuickstartFilename]); diff --git a/utils/create_validate_pr_quickstarts.ts b/utils/create_validate_pr_quickstarts.ts index 6b949d66fd..af0e0ef936 100644 --- a/utils/create_validate_pr_quickstarts.ts +++ b/utils/create_validate_pr_quickstarts.ts @@ -32,12 +32,6 @@ type ResponseWithErrors = name: string; }; -// filter out errors where install plan id does not exist -const installPlanErrorExists = (error: Error | NerdGraphError): boolean => - 'extensions' in error && - error?.extensions?.argumentPath?.includes('installPlanStepIds') && - error?.message?.includes('contains an install plan step that does not exist'); - const dataSourceErrorExists = (error: Error | NerdGraphError): boolean => 'extensions' in error && error?.extensions?.argumentPath?.includes('dataSourceIds') && @@ -47,19 +41,12 @@ export const countAndOutputErrors = ( graphqlResponses: ResponseWithErrors[] ): number => graphqlResponses.reduce((all, { errors, name }) => { - const installPlanErrors = - (errors?.filter(installPlanErrorExists) as NerdGraphError[]) ?? []; const dataSourceErrors = (errors?.filter(dataSourceErrorExists) as NerdGraphError[]) ?? []; const remainingErrors = - errors - ?.filter((error) => !installPlanErrorExists(error)) - ?.filter((error) => !dataSourceErrorExists(error)) ?? []; - - translateMutationErrors(remainingErrors, name, [ - ...installPlanErrors, - ...dataSourceErrors, - ]); + errors?.filter((error) => !dataSourceErrorExists(error)) ?? []; + + translateMutationErrors(remainingErrors, name, [...dataSourceErrors]); return all + remainingErrors.length; }, 0); From 03a4a2f267f8269be6d45fa6c6ec322c156996aa Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 15:31:17 -0700 Subject: [PATCH 13/43] chore: Stop returning installPlan steps --- utils/lib/Quickstart.ts | 2 -- utils/lib/__tests__/Quickstart.test.js | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/utils/lib/Quickstart.ts b/utils/lib/Quickstart.ts index 546f4bf4cc..c8e04f8239 100644 --- a/utils/lib/Quickstart.ts +++ b/utils/lib/Quickstart.ts @@ -153,7 +153,6 @@ class Quickstart { icon, keywords, summary, - installPlans, dataSourceIds, id, level, @@ -179,7 +178,6 @@ class Quickstart { ), summary: summary && summary.trim(), supportLevel: SUPPORT_LEVEL_ENUMS[level], - installPlanStepIds: installPlans, dataSourceIds: dataSourceIds, }; diff --git a/utils/lib/__tests__/Quickstart.test.js b/utils/lib/__tests__/Quickstart.test.js index 677d831191..b0f30a0d62 100644 --- a/utils/lib/__tests__/Quickstart.test.js +++ b/utils/lib/__tests__/Quickstart.test.js @@ -154,7 +154,6 @@ describe('Quickstart', () => { authors: [{ name: 'John Smith' }], keywords: ['list', 'of', 'searchable', 'keywords'], categoryTerms: undefined, - installPlanStepIds: ['mock-install-1'], dataSourceIds: ['test-data-source'], icon: `${GITHUB_RAW_BASE_URL}/quickstarts/mock-quickstart-1/logo.png`, sourceUrl: `${GITHUB_REPO_BASE_URL}/quickstarts/mock-quickstart-1`, @@ -179,7 +178,7 @@ describe('Quickstart', () => { expect(variables.id).toEqual('mock-2-id'); expect(variables.quickstartMetadata.alertConditions).toHaveLength(2); expect(variables.quickstartMetadata.dashboards).toHaveLength(1); - expect(variables.quickstartMetadata.installPlanStepIds).toHaveLength(1); + expect(variables.quickstartMetadata.installPlanStepIds).toBe(undefined); expect(variables.quickstartMetadata.dataSourceIds).toHaveLength(1); }); From aaa1af6d5581caf5922e2757b9f0d1dac07f085b Mon Sep 17 00:00:00 2001 From: Lucia Brammer Date: Tue, 20 Aug 2024 15:31:26 -0700 Subject: [PATCH 14/43] chore: Remove installPlans from mocks --- .../install/mock-install-1/install.yml | 22 ------------------- .../install/mock-install-2/install.yml | 22 ------------------- .../install/mock-install-3/install.yml | 21 ------------------ .../install/mock-install-4/install.yml | 0 .../quickstarts/mock-quickstart-1/config.yml | 5 ----- .../quickstarts/mock-quickstart-10/config.yml | 6 ----- .../quickstarts/mock-quickstart-11/config.yml | 7 +----- .../quickstarts/mock-quickstart-2/config.yml | 6 ----- .../quickstarts/mock-quickstart-3/config.yml | 6 ----- .../nested-quickstart/config.yml | 5 ----- .../quickstarts/mock-quickstart-9/config.yml | 6 ----- 11 files changed, 1 insertion(+), 105 deletions(-) delete mode 100644 utils/mock_files/install/mock-install-1/install.yml delete mode 100644 utils/mock_files/install/mock-install-2/install.yml delete mode 100644 utils/mock_files/install/mock-install-3/install.yml delete mode 100644 utils/mock_files/install/mock-install-4/install.yml diff --git a/utils/mock_files/install/mock-install-1/install.yml b/utils/mock_files/install/mock-install-1/install.yml deleted file mode 100644 index 8d50424ac9..0000000000 --- a/utils/mock_files/install/mock-install-1/install.yml +++ /dev/null @@ -1,22 +0,0 @@ -id: mock-install-1 -name: Test Install Agent -title: Test Install Install -description: | - this is some description - -target: - type: agent - destination: host - os: - - linux - - windows - -install: - mode: targetedInstall - destination: - recipeName: test-install-installer - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/install-infrastructure-agent/linux-installation/install-infrastructure-monitoring-agent-linux/#manual-install diff --git a/utils/mock_files/install/mock-install-2/install.yml b/utils/mock_files/install/mock-install-2/install.yml deleted file mode 100644 index 68c754714c..0000000000 --- a/utils/mock_files/install/mock-install-2/install.yml +++ /dev/null @@ -1,22 +0,0 @@ -id: mock-install-2 -name: Test Install Agent -title: Test Install Install -description: | - this is some description - -target: - type: agent - destination: host - os: - - linux - - windows - -install: - mode: targetedInstall - destination: - recipeName: test-install-installer - -fallback: - mode: link - destination: - url: invalid-url diff --git a/utils/mock_files/install/mock-install-3/install.yml b/utils/mock_files/install/mock-install-3/install.yml deleted file mode 100644 index 3d49aa3431..0000000000 --- a/utils/mock_files/install/mock-install-3/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: test-install-install -title: Test Install Install -description: | - this is some description - -target: - type: agent - destination: host - os: - - linux - - windows - -install: - mode: targetedInstall - destination: - recipeName: test-install-installer - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/install-infrastructure-agent/linux-installation/install-infrastructure-monitoring-agent-linux/#manual-install diff --git a/utils/mock_files/install/mock-install-4/install.yml b/utils/mock_files/install/mock-install-4/install.yml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/utils/mock_files/quickstarts/mock-quickstart-1/config.yml b/utils/mock_files/quickstarts/mock-quickstart-1/config.yml index 1d817169a4..967285b995 100644 --- a/utils/mock_files/quickstarts/mock-quickstart-1/config.yml +++ b/utils/mock_files/quickstarts/mock-quickstart-1/config.yml @@ -26,11 +26,6 @@ keywords: - searchable - keywords -# Reference to install plans located under /install directory -# Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - mock-install-1 - dataSourceIds: - test-data-source diff --git a/utils/mock_files/quickstarts/mock-quickstart-10/config.yml b/utils/mock_files/quickstarts/mock-quickstart-10/config.yml index 7917d9d287..603b0cb5cb 100644 --- a/utils/mock_files/quickstarts/mock-quickstart-10/config.yml +++ b/utils/mock_files/quickstarts/mock-quickstart-10/config.yml @@ -27,11 +27,6 @@ keywords: - searchable - keywords -# Reference to install plans located under /install directory -# Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - mock-install-1 - documentation: - name: Installation Docs url: docs.newrelic.com @@ -50,4 +45,3 @@ alertPolicies: dataSourceIds: - test-data-source - nodejs - diff --git a/utils/mock_files/quickstarts/mock-quickstart-11/config.yml b/utils/mock_files/quickstarts/mock-quickstart-11/config.yml index 56fa840563..1bb3c7a930 100644 --- a/utils/mock_files/quickstarts/mock-quickstart-11/config.yml +++ b/utils/mock_files/quickstarts/mock-quickstart-11/config.yml @@ -21,11 +21,6 @@ authors: # No keywords -# Reference to install plans located under /install directory -# Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - mock-install-1 - dataSourceIds: - test-data-source @@ -36,4 +31,4 @@ documentation: # Content / Design icon: logo.png -website: https://www.newrelic.com \ No newline at end of file +website: https://www.newrelic.com diff --git a/utils/mock_files/quickstarts/mock-quickstart-2/config.yml b/utils/mock_files/quickstarts/mock-quickstart-2/config.yml index 6597b162ca..624a1e507e 100644 --- a/utils/mock_files/quickstarts/mock-quickstart-2/config.yml +++ b/utils/mock_files/quickstarts/mock-quickstart-2/config.yml @@ -27,11 +27,6 @@ keywords: - searchable - keywords -# Reference to install plans located under /install directory -# Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - mock-install-1 - documentation: - name: Installation Docs url: docs.newrelic.com @@ -49,4 +44,3 @@ alertPolicies: dataSourceIds: - test-data-source - diff --git a/utils/mock_files/quickstarts/mock-quickstart-3/config.yml b/utils/mock_files/quickstarts/mock-quickstart-3/config.yml index af222d5e72..9c1135bf3d 100644 --- a/utils/mock_files/quickstarts/mock-quickstart-3/config.yml +++ b/utils/mock_files/quickstarts/mock-quickstart-3/config.yml @@ -26,12 +26,6 @@ keywords: - searchable - keywords -# Reference to install plans located under /install directory -# Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - infra-agent-targeted - - fake-install-plan - dashboards: - not-real-dash diff --git a/utils/mock_files/quickstarts/mock-quickstart-7/nested-quickstart/config.yml b/utils/mock_files/quickstarts/mock-quickstart-7/nested-quickstart/config.yml index 4fc4e01bbd..c63a29b9d0 100644 --- a/utils/mock_files/quickstarts/mock-quickstart-7/nested-quickstart/config.yml +++ b/utils/mock_files/quickstarts/mock-quickstart-7/nested-quickstart/config.yml @@ -26,11 +26,6 @@ keywords: - searchable - keywords -# Reference to install plans located under /install directory -# Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - fake-install-plan - documentation: - name: Installation Docs url: docs.newrelic.com diff --git a/utils/mock_files/quickstarts/mock-quickstart-9/config.yml b/utils/mock_files/quickstarts/mock-quickstart-9/config.yml index 88ca075a32..d0780977d6 100644 --- a/utils/mock_files/quickstarts/mock-quickstart-9/config.yml +++ b/utils/mock_files/quickstarts/mock-quickstart-9/config.yml @@ -27,11 +27,6 @@ keywords: - searchable - keywords -# Reference to install plans located under /install directory -# Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - mock-install-1 - documentation: - name: Installation Docs url: docs.newrelic.com @@ -49,4 +44,3 @@ alertPolicies: dataSourceIds: - nodejs - From 50dcd887d6fbbb617b736bc66ee6439f2bf40c02 Mon Sep 17 00:00:00 2001 From: jcountsNR Date: Tue, 20 Aug 2024 15:37:30 -0700 Subject: [PATCH 15/43] chore: Restore install plan --- install/third-party/databricks/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/third-party/databricks/install.yml b/install/third-party/databricks/install.yml index 30fe93d3bf..584a4fe362 100644 --- a/install/third-party/databricks/install.yml +++ b/install/third-party/databricks/install.yml @@ -2,7 +2,7 @@ id: third-party-databricks name: Databricks title: Databricks integration description: | - Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this integration. + Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration quickstart. Our integration provides a script run in a notebook to generate an installation script, which you can attach to a cluster and populate Spark metrics to New relic Insights events. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this quickstart. target: type: integration @@ -13,4 +13,4 @@ level: Community install: mode: link destination: - url: https://github.com/newrelic-experimental/newrelic-databricks-integration \ No newline at end of file + url: https://github.com/newrelic-experimental/nri-spark#databricks-init-script-creator-notebook \ No newline at end of file From 43878199beb803e7179c5ad6d1207d8a4ec3f746 Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Wed, 21 Aug 2024 04:04:32 +0000 Subject: [PATCH 16/43] chore: generate UUID(s) [skip ci] --- quickstarts/jfrog-platform-cloud/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/quickstarts/jfrog-platform-cloud/config.yml b/quickstarts/jfrog-platform-cloud/config.yml index 6d1fbb962f..3e5e422230 100644 --- a/quickstarts/jfrog-platform-cloud/config.yml +++ b/quickstarts/jfrog-platform-cloud/config.yml @@ -1,3 +1,4 @@ +id: 932a9cb3-ba60-4766-a8c5-261ac3d06d84 slug: jfrog-platform-cloud title: JFrog Software Supply Chain Cloud Platform description: | From c82771b25eaa3cb2eaa8e6019fc1923940626cb0 Mon Sep 17 00:00:00 2001 From: Alec Swanson Date: Thu, 22 Aug 2024 11:05:17 -0700 Subject: [PATCH 17/43] triggering the build From 15dc89ddfb6d52c921366aaa708c40562365051e Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Fri, 23 Aug 2024 14:36:25 -0700 Subject: [PATCH 18/43] refactor: Clean up references to install plans --- .../reusable.quickstart_submission.yml | 18 +- CONTRIBUTING.md | 27 +- docs/graphql-schema-docs.md | 1741 +++-------------- images/install-plan.png | Bin 195957 -> 0 bytes .../create-validate-pr-quickstarts.test.js | 34 +- utils/__tests__/test-utilities.js | 1 - utils/constants.ts | 31 - utils/lib/__tests__/Quickstart.test.js | 8 +- utils/lib/github-api-helpers.ts | 11 - utils/lib/nr-graphql-helpers.ts | 6 +- utils/newrelic/customEvent.ts | 4 - utils/types/QuickstartConfig.ts | 1 - utils/types/QuickstartMutationVariable.ts | 1 - 13 files changed, 341 insertions(+), 1542 deletions(-) delete mode 100644 images/install-plan.png diff --git a/.github/workflows/reusable.quickstart_submission.yml b/.github/workflows/reusable.quickstart_submission.yml index 16bd346dfe..4857fa880c 100644 --- a/.github/workflows/reusable.quickstart_submission.yml +++ b/.github/workflows/reusable.quickstart_submission.yml @@ -1,4 +1,4 @@ -# Reusable workflow for creating, updating, or validating quickstarts and install plans for a single environment. +# Reusable workflow for creating, updating, or validating quickstarts for a single environment. name: Quickstart submission on: @@ -34,11 +34,11 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # Ensure we have the most recent commit to `main` with: - ref: "main" + ref: 'main' fetch-depth: 0 - name: Setup workspace - uses: "./.github/actions/bootstrap" + uses: './.github/actions/bootstrap' - name: Update data sources env: @@ -59,11 +59,11 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # Ensure we have the most recent commit to `main` with: - ref: "main" + ref: 'main' fetch-depth: 0 - name: Setup workspace - uses: "./.github/actions/bootstrap" + uses: './.github/actions/bootstrap' - name: Update quickstarts env: @@ -84,11 +84,11 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # Ensure we have the most recent commit to `main` with: - ref: "main" + ref: 'main' fetch-depth: 0 - name: Setup workspace - uses: "./.github/actions/bootstrap" + uses: './.github/actions/bootstrap' - name: Update dashboards with required datasources from quickstarts env: @@ -109,11 +109,11 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # Ensure we have the most recent commit to `main` with: - ref: "main" + ref: 'main' fetch-depth: 0 - name: Setup workspace - uses: "./.github/actions/bootstrap" + uses: './.github/actions/bootstrap' - name: Update dashboards with required datasources from quickstarts env: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 77200322ad..6bef31b4df 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -117,7 +117,7 @@ title: Example quickstart description: | ## Long form description - * with + * with * markdown * support @@ -561,31 +561,6 @@ example-alert-condition2.yml For documentation on the rest of the alert condition fields, please review the [Introduction to alerts](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/learn-alerts/introduction-alerts) -### Install plans **(DEPRECATED)** - -Install plans are now deprecated in favor of using data sources. To learn about data sources and their fields, view the [data sources section](#data-sources-1) below. If you are migrating from install plans to data sources, the following fields can be used equivalently on data sources when creating a COMMUNITY data source. The fields `title` and `target` do not have an equivalent on data sources. - -| Install plan field | Data souce field | -| ------------------- | ----------------------------------------------------------------- | -| id | `id` | -| name | `displayName` | -| description | `description` | -| install | `install` | -| install.mode | `install.primary.nerdlet` or `install.primary.link` † | -| install.destination | `install.primary.nerdlet.nerdletId` or `install.primary.link.url` | -| fallback | `install.fallback` | - -† _The `install.primary` or `install.fallback` field on data source does not support `targetedInstall`. We are deprecating the use of targeted installs in favor of using CORE data sources. You can learn more about CORE data sources under the [data sources section](#data-sources-1). If you are currently using a targeted install mode and need help with converting a targeted install plan to a CORE data source, please reach out to our team for assistance._ - -_Example of targeted install:_ - -```yaml -install: - mode: targetedInstall - destination: - recipeName: fake-install-recipe -``` - ### Data sources Data sources represent a _single_ type of instrumentation, such as an agent, attributes on a transaction, a cloud provider integration, a third-party integration, etc. diff --git a/docs/graphql-schema-docs.md b/docs/graphql-schema-docs.md index 0320413894..5f2074549f 100644 --- a/docs/graphql-schema-docs.md +++ b/docs/graphql-schema-docs.md @@ -6,9 +6,6 @@ * [Objects](#objects) * [Nr1CatalogInstallAlertPolicyTemplateResult](#nr1cataloginstallalertpolicytemplateresult) * [Nr1CatalogInstallDashboardTemplateResult](#nr1cataloginstalldashboardtemplateresult) - * [Nr1CatalogInstallPlan](#nr1cataloginstallplan) - * [Nr1CatalogInstallPlanStep](#nr1cataloginstallplanstep) - * [Nr1CatalogInstallPlanTarget](#nr1cataloginstallplantarget) * [Nr1CatalogQuickstart](#nr1catalogquickstart) * [Nr1CatalogQuickstartAlert](#nr1catalogquickstartalert) * [Nr1CatalogQuickstartAlertCondition](#nr1catalogquickstartalertcondition) @@ -18,28 +15,18 @@ * [Nr1CatalogQuickstartDashboardMetadata](#nr1catalogquickstartdashboardmetadata) * [Nr1CatalogQuickstartDocumentation](#nr1catalogquickstartdocumentation) * [Nr1CatalogQuickstartDocumentationMetadata](#nr1catalogquickstartdocumentationmetadata) - * [Nr1CatalogQuickstartInstallPlan](#nr1catalogquickstartinstallplan) - * [Nr1CatalogQuickstartInstallPlanMetadata](#nr1catalogquickstartinstallplanmetadata) * [Nr1CatalogQuickstartMetadata](#nr1catalogquickstartmetadata) * [Nr1CatalogQuickstartsListing](#nr1catalogquickstartslisting) * [Inputs](#inputs) * [Nr1CatalogInstallDirectiveInput](#nr1cataloginstalldirectiveinput) - * [Nr1CatalogInstallPlanDirectiveInput](#nr1cataloginstallplandirectiveinput) - * [Nr1CatalogInstallPlanStepInput](#nr1cataloginstallplanstepinput) - * [Nr1CatalogInstallPlanTargetInput](#nr1cataloginstallplantargetinput) * [Nr1CatalogQuickstartMetadataAlertConditionInput](#nr1catalogquickstartmetadataalertconditioninput) * [Nr1CatalogQuickstartMetadataDashboardInput](#nr1catalogquickstartmetadatadashboardinput) * [Nr1CatalogQuickstartMetadataDocumentationInput](#nr1catalogquickstartmetadatadocumentationinput) * [Nr1CatalogQuickstartMetadataInput](#nr1catalogquickstartmetadatainput) * [Enums](#enums) - * [Nr1CatalogInstallPlanDestination](#nr1cataloginstallplandestination) - * [Nr1CatalogInstallPlanDirectiveMode](#nr1cataloginstallplandirectivemode) - * [Nr1CatalogInstallPlanOperatingSystem](#nr1cataloginstallplanoperatingsystem) - * [Nr1CatalogInstallPlanTargetType](#nr1cataloginstallplantargettype) * [Nr1CatalogInstallerType](#nr1cataloginstallertype) * [Nr1CatalogQuickstartAlertConditionType](#nr1catalogquickstartalertconditiontype) * [Interfaces](#interfaces) - * [Nr1CatalogInstallPlanDirective](#nr1cataloginstallplandirective) * [Nr1CatalogInstaller](#nr1cataloginstaller) * [Nr1CatalogQuickstartComponent](#nr1catalogquickstartcomponent) * [Nr1CatalogQuickstartComponentMetadata](#nr1catalogquickstartcomponentmetadata) @@ -174,9 +161,9 @@ The template that was used for the installation * [#help-nr1-dev-experience](htt -### Nr1CatalogInstallPlan +### Nr1CatalogQuickstart -An installer that uses install plan steps * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Information about the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -199,11 +186,11 @@ An installer that uses install plan steps * [#help-nr1-dev-experience](https://n -steps -[Nr1CatalogInstallPlanStep!]! +featured +Boolean! -The list of install plan steps necessary to execute the installation of the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Determines if this is a featured quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -217,11 +204,11 @@ The list of install plan steps necessary to execute the installation of the quic -type -Nr1CatalogInstallerType! +id +ID! -The type of installer * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The unique identifier for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -234,39 +221,12 @@ The type of installer * [#help-nr1-dev-experience](https://newrelic.slack.com/ar - - - -### Nr1CatalogInstallPlanStep - -Information pertaining to a specific step in the installation plan * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - +
FieldArgumentTypeDescription
descriptionStringmetadataNr1CatalogQuickstartMetadata -A short form description for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -280,11 +240,11 @@ A short form description for the install plan step * [#help-nr1-dev-experience](
displayNameString!sourceUrlString -The human-readable name for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Specifies the URL where the source definition for the quickstart can be found * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -298,11 +258,11 @@ The human-readable name for the install plan step * [#help-nr1-dev-experience](h
fallbackNr1CatalogInstallPlanDirectivesupportLevelNr1CatalogSupportLevel! -Provides context about how the fallback install plan step should proceed * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Level of support expected for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -315,12 +275,12 @@ Provides context about how the fallback install plan step should proceed * [#hel
headingString! +
+ +### Nr1CatalogQuickstartAlert -Used as a heading for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Information about an alert in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -331,14 +291,23 @@ Used as a heading for the install plan step * [#help-nr1-dev-experience](https:/ - + + + + + + + + + + - + - - - - - - - + +
FieldArgumentTypeDescription
idid ⚠️ ID! -The unique identifier for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The unique identifier for the alert * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -349,32 +318,20 @@ The unique identifier for the install plan step * [#help-nr1-dev-experience](htt -
primaryNr1CatalogInstallPlanDirective! - -Provides context about how the primary install plan step should proceed * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - +

⚠️ DEPRECATED

+
+This field is no longer supported. Please use Nr1CatalogQuickstartAlertCondition instead. +
targetNr1CatalogInstallPlanTarget!metadata ⚠️Nr1CatalogQuickstartAlertMetadata! -Provides context about where the install will occur * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the alert * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -385,14 +342,20 @@ Provides context about where the install will occur * [#help-nr1-dev-experience] +

⚠️ DEPRECATED

+
+ +This field is no longer supported. Please use Nr1CatalogQuickstartAlertCondition instead. + +
-### Nr1CatalogInstallPlanTarget +### Nr1CatalogQuickstartAlertCondition -Represents the location of an install * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Information about an alert condition in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -415,29 +378,11 @@ Represents the location of an install * [#help-nr1-dev-experience](https://newre -destination -Nr1CatalogInstallPlanDestination! - - -Provides context on the location the install will take place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - -os -[Nr1CatalogInstallPlanOperatingSystem!]! +id +ID! -Provides context for the operating system that will be targeted * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The unique identifier for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -451,11 +396,11 @@ Provides context for the operating system that will be targeted * [#help-nr1-dev -type -Nr1CatalogInstallPlanTargetType! +metadata +Nr1CatalogQuickstartAlertConditionMetadata! -Provides context for the type of installation that will take place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -471,9 +416,9 @@ Provides context for the type of installation that will take place * [#help-nr1- -### Nr1CatalogQuickstart +### Nr1CatalogQuickstartAlertConditionMetadata -Information about the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the alert condition in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -496,47 +441,11 @@ Information about the quickstart * [#help-nr1-dev-experience](https://newrelic.s -featured -Boolean! - - -Determines if this is a featured quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - -id -ID! - - -The unique identifier for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - -metadata -Nr1CatalogQuickstartMetadata +description +String -Metadata associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -550,11 +459,11 @@ Metadata associated with the quickstart * [#help-nr1-dev-experience](https://new -sourceUrl +displayName String -Specifies the URL where the source definition for the quickstart can be found * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -568,11 +477,11 @@ Specifies the URL where the source definition for the quickstart can be found * -supportLevel -Nr1CatalogSupportLevel! +type +Nr1CatalogQuickstartAlertConditionType! -Level of support expected for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Determines the type of alert condition that will be created * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -588,9 +497,9 @@ Level of support expected for the quickstart * [#help-nr1-dev-experience](https: -### Nr1CatalogQuickstartAlert +### Nr1CatalogQuickstartAlertMetadata -Information about an alert in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the alert in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -613,11 +522,11 @@ Information about an alert in a quickstart * [#help-nr1-dev-experience](https:// -id ⚠️ -ID! +description ⚠️ +String -The unique identifier for the alert * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the alert. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -637,11 +546,11 @@ This field is no longer supported. Please use Nr1CatalogQuickstartAlertCondition -metadata ⚠️ -Nr1CatalogQuickstartAlertMetadata! +displayName ⚠️ +String -Metadata associated with the alert * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the alert. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -663,9 +572,9 @@ This field is no longer supported. Please use Nr1CatalogQuickstartAlertCondition -### Nr1CatalogQuickstartAlertCondition +### Nr1CatalogQuickstartDashboard -Information about an alert condition in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Information about a dashboard in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -692,7 +601,7 @@ Information about an alert condition in a quickstart * [#help-nr1-dev-experience ID! -The unique identifier for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The unique identifier for the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -707,10 +616,10 @@ The unique identifier for the alert condition * [#help-nr1-dev-experience](https metadata -Nr1CatalogQuickstartAlertConditionMetadata! +Nr1CatalogQuickstartDashboardMetadata! -Metadata associated with the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -726,9 +635,9 @@ Metadata associated with the alert condition * [#help-nr1-dev-experience](https: -### Nr1CatalogQuickstartAlertConditionMetadata +### Nr1CatalogQuickstartDashboardMetadata -Metadata associated with the alert condition in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the dashboard in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -755,7 +664,7 @@ Metadata associated with the alert condition in a quickstart * [#help-nr1-dev-ex String -A short form description for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -773,7 +682,7 @@ A short form description for the alert condition * [#help-nr1-dev-experience](ht String -The human-readable name for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -787,11 +696,11 @@ The human-readable name for the alert condition * [#help-nr1-dev-experience](htt -type -Nr1CatalogQuickstartAlertConditionType! +previews +[Nr1CatalogPreview!]! -Determines the type of alert condition that will be created * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of previews for the dashboard, such as screenshots. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -807,9 +716,9 @@ Determines the type of alert condition that will be created * [#help-nr1-dev-exp -### Nr1CatalogQuickstartAlertMetadata +### Nr1CatalogQuickstartDocumentation -Metadata associated with the alert in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Information about a documentation component in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -832,11 +741,11 @@ Metadata associated with the alert in a quickstart * [#help-nr1-dev-experience]( -description ⚠️ -String +metadata +Nr1CatalogQuickstartDocumentationMetadata! -A short form description for the alert. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -847,20 +756,14 @@ A short form description for the alert. * [#help-nr1-dev-experience](https://new -

⚠️ DEPRECATED

-
- -This field is no longer supported. Please use Nr1CatalogQuickstartAlertCondition instead. - -
- -displayName ⚠️ -String - + + -The human-readable name for the alert. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +### Nr1CatalogQuickstartDocumentationMetadata + +Metadata associated with the documentation component in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -871,20 +774,23 @@ The human-readable name for the alert. * [#help-nr1-dev-experience](https://newr -

⚠️ DEPRECATED

-
- -This field is no longer supported. Please use Nr1CatalogQuickstartAlertCondition instead. -
- + + + + + + + - -
FieldArgumentTypeDescription
- -### Nr1CatalogQuickstartDashboard + + + +description +String + -Information about a dashboard in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -895,23 +801,14 @@ Information about a dashboard in a quickstart * [#help-nr1-dev-experience](https - - - - - - - - + - - - - + + - - + +
FieldArgumentTypeDescription
idID!displayNameString -The unique identifier for the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -925,11 +822,11 @@ The unique identifier for the dashboard * [#help-nr1-dev-experience](https://new
metadataNr1CatalogQuickstartDashboardMetadata!urlString! -Metadata associated with the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The documentation URL * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -945,9 +842,9 @@ Metadata associated with the dashboard * [#help-nr1-dev-experience](https://newr
-### Nr1CatalogQuickstartDashboardMetadata +### Nr1CatalogQuickstartMetadata -Metadata associated with the dashboard in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the quickstart that is available in New Relic I/O * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -970,11 +867,11 @@ Metadata associated with the dashboard in a quickstart * [#help-nr1-dev-experien -description -String +authors +[Nr1CatalogAuthor!]! -A short form description for the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Authors for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -988,11 +885,11 @@ A short form description for the dashboard. * [#help-nr1-dev-experience](https:/ -displayName -String +categories +[Nr1CatalogCategory!]! -The human-readable name for the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The list of categories for filtering, searching, and grouping associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1006,11 +903,11 @@ The human-readable name for the dashboard. * [#help-nr1-dev-experience](https:// -previews -[Nr1CatalogPreview!]! +categoryTerms +[String!]! -A list of previews for the dashboard, such as screenshots. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The list of category terms associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1023,39 +920,12 @@ A list of previews for the dashboard, such as screenshots. * [#help-nr1-dev-expe - - - -### Nr1CatalogQuickstartDocumentation - -Information about a documentation component in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - + + - -
FieldArgumentTypeDescription
metadataNr1CatalogQuickstartDocumentationMetadata!dataSources[Nr1CatalogDataSource!]! -Metadata associated with the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The list of data sources associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1068,39 +938,12 @@ Metadata associated with the dashboard * [#help-nr1-dev-experience](https://newr
- -### Nr1CatalogQuickstartDocumentationMetadata - -Metadata associated with the documentation component in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - + + - -
FieldArgumentTypeDescription
description String -A short form description for the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the quickstart. Used throughout the platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1118,7 +961,7 @@ A short form description for the documentation component. * [#help-nr1-dev-exper String -The human-readable name for the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the quickstart. Used throughout the New Relic One platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1132,11 +975,11 @@ The human-readable name for the documentation component. * [#help-nr1-dev-experi
urlString!iconNr1CatalogIcon -The documentation URL * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The corresponding icon for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1149,12 +992,12 @@ The documentation URL * [#help-nr1-dev-experience](https://newrelic.slack.com/ar
- -### Nr1CatalogQuickstartInstallPlan + +installer ⚠️ +Nr1CatalogInstaller + -Information about an install plan component in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Information about how a quickstart is installed * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1165,23 +1008,20 @@ Information about an install plan component in a quickstart * [#help-nr1-dev-exp +

⚠️ DEPRECATED

+
- - - - - - - +This field is in a deprecation period. Please refer to `dataSources` for how a quickstart is installed. + + + - - - - + + - -
FieldArgumentTypeDescription
metadata ⚠️Nr1CatalogQuickstartInstallPlanMetadata!keywords[String!]! -Metadata associated with the install plan * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of keywords for filtering and searching * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1192,20 +1032,14 @@ Metadata associated with the install plan * [#help-nr1-dev-experience](https://n -

⚠️ DEPRECATED

-
- -This field is no longer supported. Please use installer instead. - -
- -### Nr1CatalogQuickstartInstallPlanMetadata + +quickstartComponents +[Nr1CatalogQuickstartComponent!]! + -Metadata associated with the install plan in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +List of components in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1216,23 +1050,14 @@ Metadata associated with the install plan in a quickstart * [#help-nr1-dev-exper - - - - - - - - + - - - - + + - +
FieldArgumentTypeDescription
description ⚠️StringslugString! -A short form description for the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The URL friendly name of the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1243,20 +1068,14 @@ A short form description for the documentation component. * [#help-nr1-dev-exper -

⚠️ DEPRECATED

-
- -This field is no longer supported. Please use installer instead. - -
displayName ⚠️summary String -The human-readable name for the install plan component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short summary detailing the functionality of the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1267,20 +1086,14 @@ The human-readable name for the install plan component. * [#help-nr1-dev-experie -

⚠️ DEPRECATED

-
- -This field is no longer supported. Please use installer instead. - -
-### Nr1CatalogQuickstartMetadata +### Nr1CatalogQuickstartsListing -Metadata associated with the quickstart that is available in New Relic I/O * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Paginated information about Quickstarts * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1303,11 +1116,11 @@ Metadata associated with the quickstart that is available in New Relic I/O * [#h -authors -[Nr1CatalogAuthor!]! +nextCursor +String -Authors for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Cursor used to fetch the next set of results * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1321,11 +1134,11 @@ Authors for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.c -categories -[Nr1CatalogCategory!]! +results +[Nr1CatalogQuickstart!]! -The list of categories for filtering, searching, and grouping associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The list of quickstart results * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1339,11 +1152,11 @@ The list of categories for filtering, searching, and grouping associated with th -categoryTerms -[String!]! +totalCount +Int! -The list of category terms associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The total number of quickstart results * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1356,169 +1169,181 @@ The list of category terms associated with the quickstart * [#help-nr1-dev-exper - -dataSources -[Nr1CatalogDataSource!]! - + + -The list of data sources associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +## Inputs + +### Nr1CatalogInstallDirectiveInput + +Set of attributes which represent how an install takes place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`) - + + + + + + + + + - - + + - - + + - - - - +
FieldTypeDescription
descriptionStringlinkNr1CatalogLinkInstallDirectiveInput -A short form description for the quickstart. Used throughout the platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Link information for this directive. Cannot be used with a nerdlet directive. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`)
displayNameStringnerdletNr1CatalogNerdletInstallDirectiveInput -The human-readable name for the quickstart. Used throughout the New Relic One platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Nerdlet information for this directive. Cannot be used with a link directive. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`)
iconNr1CatalogIcon +
-The corresponding icon for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +### Nr1CatalogQuickstartMetadataAlertConditionInput + +Metadata associated with the alert condition in this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`) - + + + + + + + + + - - + + - - + + - - + + - - + + - - + +
FieldTypeDescription
installer ⚠️Nr1CatalogInstallerdescriptionString -Information about how a quickstart is installed * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the alert condition. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) - - + * visibility(flag:`DevEx/nrio_mutations`) -

⚠️ DEPRECATED

-
-This field is in a deprecation period. Please refer to `dataSources` for how a quickstart is installed. -
keywords[String!]!displayNameString! -A list of keywords for filtering and searching * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the alert condition. Used throughout the New Relic One platform when displaying the alert condition. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`)
quickstartComponents[Nr1CatalogQuickstartComponent!]!rawConfigurationNr1CatalogRawConfiguration! -List of components in a quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The raw JSON configuration for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`)
slugString!sourceUrlString -The URL friendly name of the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The source of the alert configuration * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`)
summaryStringtypeNr1CatalogQuickstartAlertConditionType! -A short summary detailing the functionality of the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Determines the type of alert condition that will be created * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`) @@ -1527,16 +1352,16 @@ A short summary detailing the functionality of the quickstart * [#help-nr1-dev-e
-### Nr1CatalogQuickstartsListing +### Nr1CatalogQuickstartMetadataDashboardInput -Paginated information about Quickstarts * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the dashboard in this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`) @@ -1544,75 +1369,54 @@ Paginated information about Quickstarts * [#help-nr1-dev-experience](https://new - - + - + - - + + - - + + - - -
FieldArgumentField Type Description
nextCursordescription String -Cursor used to fetch the next set of results * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`)
results[Nr1CatalogQuickstart!]!displayNameString! -The list of quickstart results * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the dashboard. Used throughout the New Relic One platform when displaying the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) * No additional info link provided - * visibility(customer) + * visibility(flag:`DevEx/nrio_mutations`)
totalCountInt!rawConfigurationNr1CatalogRawConfiguration! -The total number of quickstart results * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - -
- -## Inputs - -### Nr1CatalogInstallDirectiveInput - -Set of attributes which represent how an install takes place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The raw JSON configuration for the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1623,22 +1427,14 @@ Set of attributes which represent how an install takes place * [#help-nr1-dev-ex - - - - - - - + - - - - + + - - + +
FieldTypeDescription
linkNr1CatalogLinkInstallDirectiveInputscreenshots[Nr1CatalogScreenshotInput!] -Link information for this directive. Cannot be used with a nerdlet directive. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of previews for the dashboard, such as screenshots. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1652,11 +1448,11 @@ Link information for this directive. Cannot be used with a nerdlet directive. *
nerdletNr1CatalogNerdletInstallDirectiveInputsourceUrlString -Nerdlet information for this directive. Cannot be used with a link directive. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The source of the dashboard configuration * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1672,9 +1468,9 @@ Nerdlet information for this directive. Cannot be used with a link directive. *
-### Nr1CatalogInstallPlanDirectiveInput +### Nr1CatalogQuickstartMetadataDocumentationInput -Set of attributes which represent how an install takes place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the documentation in this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1696,11 +1492,11 @@ Set of attributes which represent how an install takes place * [#help-nr1-dev-ex -destination -String +description +String! -Value that pairs with the mode to enable the installation step. Supported values are a recipe_name, nerdlet_id, or a link * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1714,11 +1510,11 @@ Value that pairs with the mode to enable the installation step. Supported values -link -Nr1CatalogLinkDirectiveInput +displayName +String! -Link information for this directive. Cannot be used with nerdlet or targeted directives. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the documentation component. Used throughout the New Relic One platform when displaying the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1732,11 +1528,11 @@ Link information for this directive. Cannot be used with nerdlet or targeted dir -mode -Nr1CatalogInstallPlanDirectiveMode +url +String! -The type of installation that will take place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The documentation URL * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1749,12 +1545,12 @@ The type of installation that will take place * [#help-nr1-dev-experience](https - -nerdlet -Nr1CatalogNerdletDirectiveInput - + + + +### Nr1CatalogQuickstartMetadataInput -Nerdlet information for this directive. Cannot be used with link or targeted directives. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Metadata associated with the quickstart that will be available in New Relic Instant Observability * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1765,14 +1561,22 @@ Nerdlet information for this directive. Cannot be used with link or targeted dir - + + + + + + + + + - - + + - -
FieldTypeDescription
targetedNr1CatalogTargetedDirectiveInputalertConditions[Nr1CatalogQuickstartMetadataAlertConditionInput!] -Targeted information for this directive. Cannot be used with link or nerdlet directives. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of alert condition components that are included in the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1785,12 +1589,12 @@ Targeted information for this directive. Cannot be used with link or nerdlet dir
- -### Nr1CatalogInstallPlanStepInput + +authors +[Nr1CatalogAuthorInput!]! + -Metadata associated with a specific step in the install plan * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Authors for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1801,22 +1605,14 @@ Metadata associated with a specific step in the install plan * [#help-nr1-dev-ex - - - - - - - + - - - - + + - - + + - - + + - + - - + + - - + + - - + + - -
FieldTypeDescription
descriptionString!categoryTerms[String!] -A short form description for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The list of category terms associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1830,11 +1626,11 @@ A short form description for the install plan step * [#help-nr1-dev-experience](
displayNameString!dashboards[Nr1CatalogQuickstartMetadataDashboardInput!] -The human-readable name for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of dashboard components that are included in the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1848,11 +1644,11 @@ The human-readable name for the install plan step * [#help-nr1-dev-experience](h
fallbackNr1CatalogInstallPlanDirectiveInputdataSourceIds[ID!] -Provides context about how the fallback install plan step should proceed * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of data source ids corresponding to the data sources associated with this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1866,11 +1662,11 @@ Provides context about how the fallback install plan step should proceed * [#hel
headingdescription String! -Used as a heading for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short form description for the quickstart. Used throughout the platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1884,11 +1680,11 @@ Used as a heading for the install plan step * [#help-nr1-dev-experience](https:/
idID!displayNameString! -The unique identifier for the install plan step * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The human-readable name for the quickstart. Used throughout the New Relic One platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1902,11 +1698,11 @@ The unique identifier for the install plan step * [#help-nr1-dev-experience](htt
primaryNr1CatalogInstallPlanDirectiveInput!documentation[Nr1CatalogQuickstartMetadataDocumentationInput!] -Provides context about how the primary install plan step should proceed * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of documentation components that are included in the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1920,11 +1716,11 @@ Provides context about how the primary install plan step should proceed * [#help
targetNr1CatalogInstallPlanTargetInput!iconString! -Provides context about where the install will occur * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The public url of an icon for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1937,12 +1733,12 @@ Provides context about where the install will occur * [#help-nr1-dev-experience]
- -### Nr1CatalogInstallPlanTargetInput + +keywords +[String!] + -Represents the location of an install * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A list of keywords for filtering and searching * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1953,22 +1749,14 @@ Represents the location of an install * [#help-nr1-dev-experience](https://newre - - - - - - - + - - - - + + - - + + - - + + - -
FieldTypeDescription
destinationNr1CatalogInstallPlanDestination!slugString -Provides context on the location the install will take place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +The URL friendly name for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -1982,11 +1770,11 @@ Provides context on the location the install will take place * [#help-nr1-dev-ex
os[Nr1CatalogInstallPlanOperatingSystem!]sourceUrlString -Operating system for the install * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +Specifies the URL where the source definition for the quickstart can be found * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -2000,11 +1788,11 @@ Operating system for the install * [#help-nr1-dev-experience](https://newrelic.s
typeNr1CatalogInstallPlanTargetType!summaryString! -Provides context for the type of installation that will take place * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) +A short summary detailing the functionality of the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided * [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) @@ -2017,600 +1805,10 @@ Provides context for the type of installation that will take place * [#help-nr1-
- -### Nr1CatalogQuickstartMetadataAlertConditionInput - -Metadata associated with the alert condition in this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
descriptionString - -A short form description for the alert condition. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
displayNameString! - -The human-readable name for the alert condition. Used throughout the New Relic One platform when displaying the alert condition. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
rawConfigurationNr1CatalogRawConfiguration! - -The raw JSON configuration for the alert condition * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
sourceUrlString - -The source of the alert configuration * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
typeNr1CatalogQuickstartAlertConditionType! - -Determines the type of alert condition that will be created * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
- -### Nr1CatalogQuickstartMetadataDashboardInput - -Metadata associated with the dashboard in this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
descriptionString - -A short form description for the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
displayNameString! - -The human-readable name for the dashboard. Used throughout the New Relic One platform when displaying the dashboard. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
rawConfigurationNr1CatalogRawConfiguration! - -The raw JSON configuration for the dashboard * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
screenshots[Nr1CatalogScreenshotInput!] - -A list of previews for the dashboard, such as screenshots. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
sourceUrlString - -The source of the dashboard configuration * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
- -### Nr1CatalogQuickstartMetadataDocumentationInput - -Metadata associated with the documentation in this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescription
descriptionString! - -A short form description for the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
displayNameString! - -The human-readable name for the documentation component. Used throughout the New Relic One platform when displaying the documentation component. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
urlString! - -The documentation URL * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
- -### Nr1CatalogQuickstartMetadataInput - -Metadata associated with the quickstart that will be available in New Relic Instant Observability * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +
FieldTypeDescription
alertConditions[Nr1CatalogQuickstartMetadataAlertConditionInput!] - -A list of alert condition components that are included in the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
authors[Nr1CatalogAuthorInput!]! - -Authors for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
categoryTerms[String!] - -The list of category terms associated with the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
dashboards[Nr1CatalogQuickstartMetadataDashboardInput!] - -A list of dashboard components that are included in the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
dataSourceIds[ID!] - -A list of data source ids corresponding to the data sources associated with this quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
descriptionString! - -A short form description for the quickstart. Used throughout the platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
displayNameString! - -The human-readable name for the quickstart. Used throughout the New Relic One platform when displaying the quickstart. * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
documentation[Nr1CatalogQuickstartMetadataDocumentationInput!] - -A list of documentation components that are included in the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
iconString! - -The public url of an icon for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
installPlanStepIds[ID!] - -A list of install plan step ids corresponding to the steps of the installation plan * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
keywords[String!] - -A list of keywords for filtering and searching * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
slugString - -The URL friendly name for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
sourceUrlString - -Specifies the URL where the source definition for the quickstart can be found * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
summaryString! - -A short summary detailing the functionality of the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(flag:`DevEx/nrio_mutations`) - - - -
supportLevelNr1CatalogSupportLevel +
supportLevelNr1CatalogSupportLevel Level of support for the quickstart * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) * Team ID: No team ID provided @@ -2630,249 +1828,6 @@ Level of support for the quickstart * [#help-nr1-dev-experience](https://newreli ## Enums -### Nr1CatalogInstallPlanDestination - -Possible destinations for the install plan target * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValueDescription
APPLICATION - -Application (APM) install - -
CLOUD - -Cloud provider install - -
HOST - -Host install - -
KUBERNETES - -Kubernetes install - -
UNKNOWN - -Unknown install - special case when the target where the install takes place is unknown (such as guided install) - -
- -### Nr1CatalogInstallPlanDirectiveMode - -Possible modes for an install plan directive * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - - - - - - - - -
ValueDescription
LINK - -Directs the installation toward an external link - -
NERDLET - -Directs the installation to open a stacked Nerdlet to perform the installation - -
TARGETED - -Directs the installation toward a specific target - -
- -### Nr1CatalogInstallPlanOperatingSystem - -Possible types for the install plan operating system * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - - - - - - - - -
ValueDescription
DARWIN - -Mac operating system - -
LINUX - -Linux operating system - -
WINDOWS - -Windows operating system - -
- -### Nr1CatalogInstallPlanTargetType - -Possible types for the install plan target * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValueDescription
AGENT - -Agent install - -
INTEGRATION - -Integration install - -
ON_HOST_INTEGRATION - -On host integration install - -
UNKNOWN - -Unknown install - special case when the target where the install takes place is unknown (such as guided install) - -
- -### Nr1CatalogInstallerType - -Type of installer * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - -
ValueDescription
INSTALL_PLAN - -Install plan - -
- ### Nr1CatalogQuickstartAlertConditionType Possible types of configured alert conditions * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) @@ -2928,52 +1883,6 @@ A static alert condition ## Interfaces - -### Nr1CatalogInstallPlanDirective - -Information about an install plan directive * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - - - - - - - - - - - - - - - - - - -
FieldArgumentTypeDescription
modeNr1CatalogInstallPlanDirectiveMode! - -The mode of the install plan directive * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) - * Team ID: No team ID provided - -* [catalog-service-elixir repo](https://source.datanerd.us/nr1-dev-experience/catalog-service-elixir) - -* No additional info link provided - - * visibility(customer) - - - -
- ### Nr1CatalogInstaller Information about how a quickstart is installed * [#help-nr1-dev-experience](https://newrelic.slack.com/archives/CPE597DNY) diff --git a/images/install-plan.png b/images/install-plan.png deleted file mode 100644 index cb5cde59008bebb51c462760970691a21daa2038..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195957 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 N(MoUOU(GJ~+DLuLr7rj7k_5uGIf22?mUZ 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%0ABV4Azyb=l~KgIIurUGvWhaHEb5mtpm*; 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

B=A?WoM9qXn42b(Qo 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 diff --git a/utils/__tests__/create-validate-pr-quickstarts.test.js b/utils/__tests__/create-validate-pr-quickstarts.test.js index 519ef2f969..90d5c376b1 100644 --- a/utils/__tests__/create-validate-pr-quickstarts.test.js +++ b/utils/__tests__/create-validate-pr-quickstarts.test.js @@ -31,7 +31,6 @@ const mockNGQuickstartErr = (data) => ({ ], }); - const mockGithubAPIFiles = (filenames) => filenames.map((filename) => ({ sha: '', @@ -58,9 +57,7 @@ describe('create-validate-pr-quickstarts', () => { Quickstart.mockImplementation(() => { return { - config: { - installPlans: ['valid-id'], - }, + config: {}, isValid: true, validate: jest.fn().mockImplementation(() => true), submitMutation: jest.fn().mockResolvedValueOnce({ @@ -81,9 +78,7 @@ describe('create-validate-pr-quickstarts', () => { Quickstart.mockImplementation(() => { return { - config: { - installPlans: ['valid-id'], - }, + config: {}, isValid: true, validate: jest.fn().mockImplementation(() => true), submitMutation: jest @@ -96,31 +91,6 @@ describe('create-validate-pr-quickstarts', () => { expect(hasErrored).toBe(true); }); - // test('does not fail for install plan id error', async () => { - // const files = mockGithubAPIFiles([validQuickstartFilename]); - // githubHelpers.fetchPaginatedGHResults.mockResolvedValueOnce(files); - // githubHelpers.filterQuickstartConfigFiles.mockReturnValueOnce(files); - - // Quickstart.mockImplementation(() => { - // return { - // config: { - // installPlans: ['valid-id'], - // }, - // isValid: true, - // validate: jest.fn().mockImplementation(() => true), - // submitMutation: jest - // .fn() - // .mockResolvedValueOnce(mockNGInstallPlanErr({})), - // }; - // }); - // InstallPlan.mockImplementationOnce(() => { - // return { isValid: true }; - // }); - - // const hasErrored = await createValidateQuickstarts('url', 'token'); - // expect(hasErrored).toBe(false); - // }); - test('does not process removed file', async () => { const files = mockGithubAPIFiles([validQuickstartFilename]); files[0].status = 'removed'; diff --git a/utils/__tests__/test-utilities.js b/utils/__tests__/test-utilities.js index ef281660bf..da1353cf02 100644 --- a/utils/__tests__/test-utilities.js +++ b/utils/__tests__/test-utilities.js @@ -34,7 +34,6 @@ const mockGitHubResponseFilenames = [ 'dashboards/python/pysqlite/python.json', 'quickstarts/python/pysqlite/logo.svg', '.github/workflows/validate_packs.yml', - 'utils/__tests__/validate_install_plans.test.js', 'utils/lib/github-api-helpers.js', 'utils/helpers.js', 'utils/package.json', diff --git a/utils/constants.ts b/utils/constants.ts index 0348f96848..13d5b9ce84 100644 --- a/utils/constants.ts +++ b/utils/constants.ts @@ -44,37 +44,6 @@ export const QUICKSTART_MUTATION = gql` } `; -export const INSTALL_PLAN_MUTATION = gql` - # gql - mutation QuickstartRepoInstallPlanMutation( - $description: String! - $dryRun: Boolean - $displayName: String! - $fallback: Nr1CatalogInstallPlanDirectiveInput - $heading: String! - $id: ID! - $primary: Nr1CatalogInstallPlanDirectiveInput! - $target: Nr1CatalogInstallPlanTargetInput! - ) { - nr1CatalogSubmitInstallPlanStep( - dryRun: $dryRun - installPlanStep: { - description: $description - displayName: $displayName - fallback: $fallback - heading: $heading - id: $id - primary: $primary - target: $target - } - ) { - installPlanStep { - id - } - } - } -`; - export const DATA_SOURCE_MUTATION = gql` mutation QuickstartRepoDataSourceMutation( $dryRun: Boolean diff --git a/utils/lib/__tests__/Quickstart.test.js b/utils/lib/__tests__/Quickstart.test.js index b0f30a0d62..b28572a87c 100644 --- a/utils/lib/__tests__/Quickstart.test.js +++ b/utils/lib/__tests__/Quickstart.test.js @@ -119,14 +119,13 @@ describe('Quickstart', () => { qs.validate(); - expect(invalidComponents).toHaveLength(1) + expect(invalidComponents).toHaveLength(1); const invalidComponent = invalidComponents[0]; - expect(invalidComponent.identifier).toBe('mock-alert-policy-3') + expect(invalidComponent.identifier).toBe('mock-alert-policy-3'); expect(qs.isValid).toBe(false); - - }) + }); }); describe('getMutationVariables', () => { @@ -178,7 +177,6 @@ describe('Quickstart', () => { expect(variables.id).toEqual('mock-2-id'); expect(variables.quickstartMetadata.alertConditions).toHaveLength(2); expect(variables.quickstartMetadata.dashboards).toHaveLength(1); - expect(variables.quickstartMetadata.installPlanStepIds).toBe(undefined); expect(variables.quickstartMetadata.dataSourceIds).toHaveLength(1); }); diff --git a/utils/lib/github-api-helpers.ts b/utils/lib/github-api-helpers.ts index a89d5e9965..40c2eb41f3 100644 --- a/utils/lib/github-api-helpers.ts +++ b/utils/lib/github-api-helpers.ts @@ -112,17 +112,6 @@ export const filterOutTestFiles = ( ); }; -/** - * Filters results from the Github API down to install plan config files - * @param {Array} files the results from Github API - * @returns {Array} install plan config files from Github API - */ -export const filterInstallPlans = ( - files: GithubAPIPullRequestFile[] -): GithubAPIPullRequestFile[] => { - return files.filter(({ filename }) => INSTALL_CONFIG_REGEXP.test(filename)); -}; - /** * Filters results from the Github API down to data source config files * @param files the results from Github API diff --git a/utils/lib/nr-graphql-helpers.ts b/utils/lib/nr-graphql-helpers.ts index 9cddf80096..7f5fc9fd86 100644 --- a/utils/lib/nr-graphql-helpers.ts +++ b/utils/lib/nr-graphql-helpers.ts @@ -41,7 +41,7 @@ export type ErrorOrNerdGraphError = Error | NerdGraphError; * @returns {Promise} An object with the results or errors of a GraphQL request */ export const fetchNRGraphqlResults = async ( - queryBody: NerdGraphRequest, + queryBody: NerdGraphRequest ): Promise> => { const NR_API_URL = process.env.NR_API_URL || ''; const NR_API_TOKEN = process.env.NR_API_TOKEN || ''; @@ -111,10 +111,6 @@ export const fetchNRGraphqlResults = async ( /** * Handle errors from GraphQL request for quickstart mutation - * @param {Object[]} errors - An array of any errors found - * @param {String} filePath - The path related to the validation error - * @param {Object[]} [installPlanErrors=[]] - Array of install plan errors which are handled differently - * @returns {void} */ export const translateMutationErrors = ( errors: ErrorOrNerdGraphError[], diff --git a/utils/newrelic/customEvent.ts b/utils/newrelic/customEvent.ts index 97ee41a7ad..8dd7d85722 100644 --- a/utils/newrelic/customEvent.ts +++ b/utils/newrelic/customEvent.ts @@ -15,10 +15,6 @@ export enum CUSTOM_EVENT { VALIDATE_DATA_SOURCES = 'ValidateDataSources', /** Event name which corresponds to tracking the submission or update of data sources. */ UPDATE_DATA_SOURCES = 'UpdateDataSources', - /** Event name which corresponds to tracking the validation of install plans. */ - VALIDATE_INSTALL_PLANS = 'ValidateInstallPlans', - /** Event name which corresponds to tracking the submission or update of install plans. */ - UPDATE_INSTALL_PLANS = 'UpdateInstallPlans', /** Event name which corresponds to tracking the setting of dashboard required data sources. */ SET_DASHBOARD_REQUIRED_DATASOURCES = 'SetDashboardRequiredDataSources', /** Event name which corresponds to tracking the setting of alert policy required data sources. */ diff --git a/utils/types/QuickstartConfig.ts b/utils/types/QuickstartConfig.ts index 621481592d..63286b1f9d 100644 --- a/utils/types/QuickstartConfig.ts +++ b/utils/types/QuickstartConfig.ts @@ -27,7 +27,6 @@ export interface QuickstartConfig { icon: string; keywords?: string[]; summary: string; - installPlans?: string[]; id: string; level: QuickstartConfigSupportLevel; alertPolicies?: string[]; diff --git a/utils/types/QuickstartMutationVariable.ts b/utils/types/QuickstartMutationVariable.ts index fd0d691697..d652a97275 100644 --- a/utils/types/QuickstartMutationVariable.ts +++ b/utils/types/QuickstartMutationVariable.ts @@ -43,7 +43,6 @@ export interface QuickstartMetaData { sourceUrl?: string; summary: string; supportLevel?: QuickstartSupportLevel; - installPlanStepIds?: string[]; dashboards?: QuickstartDashboardInput[]; dataSourceIds?: string[]; } From 526ffba9dbf06666f67d2fd6670b4ffb3de43865 Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Fri, 23 Aug 2024 14:41:32 -0700 Subject: [PATCH 19/43] chore: Remove deprecated installPlans field from quickstarts yml --- quickstarts/ads/web/ads-web-gpt/config.yml | 2 -- quickstarts/ads/web/ads-web-prebid/config.yml | 2 -- quickstarts/ajax/config.yml | 10 +++--- quickstarts/android/config.yml | 2 -- quickstarts/apache/config.yml | 4 +-- quickstarts/apis/event/config.yml | 2 -- quickstarts/apis/logs/config.yml | 2 -- quickstarts/apis/metric/config.yml | 2 -- quickstarts/apis/trace/config.yml | 2 -- quickstarts/apm-change-tracking/config.yml | 4 --- quickstarts/apm-logs/config.yml | 2 -- quickstarts/apollo/apollo-server/config.yml | 2 -- quickstarts/argocd/config.yml | 3 -- quickstarts/atlassian/bitbucket/config.yml | 4 +-- .../config.yml | 3 -- .../audit/audit-events-analysis/config.yaml | 2 -- .../config.yml | 3 -- .../k8s-log-ingestion-analysis/config.yaml | 2 -- .../audit/log-ingestion-analysis/config.yml | 3 -- .../config.yml | 2 -- quickstarts/aws/amazon-athena/config.yml | 2 -- quickstarts/aws/amazon-aurora/config.yml | 2 -- .../aws/amazon-cloudfront-logs/config.yml | 6 ++-- quickstarts/aws/amazon-cloudfront/config.yml | 2 -- .../config.yml | 2 -- quickstarts/aws/amazon-cognito/config.yml | 2 -- quickstarts/aws/amazon-connect/config.yml | 2 -- quickstarts/aws/amazon-documentdb/config.yml | 2 -- quickstarts/aws/amazon-dynamodb/config.yml | 2 -- quickstarts/aws/amazon-ebs/config.yml | 2 -- quickstarts/aws/amazon-ec2/config.yml | 2 -- quickstarts/aws/amazon-ecs/config.yml | 2 -- quickstarts/aws/amazon-efs/config.yml | 2 -- .../aws/amazon-eks-on-aws-fargate/config.yml | 2 -- quickstarts/aws/amazon-elasticache/config.yml | 2 -- .../aws/amazon-elasticsearch/config.yml | 2 -- quickstarts/aws/amazon-emr/config.yml | 2 -- quickstarts/aws/amazon-fsx/config.yml | 2 -- .../aws/amazon-kinesis-firehose/config.yml | 2 -- quickstarts/aws/amazon-kinesis/config.yml | 2 -- quickstarts/aws/amazon-linux/config.yml | 2 -- quickstarts/aws/amazon-mq/config.yml | 4 +-- quickstarts/aws/amazon-msk/config.yml | 2 -- quickstarts/aws/amazon-neptune/config.yml | 2 -- quickstarts/aws/amazon-qldb/config.yml | 2 -- .../aws/amazon-rds-enhanced/config.yml | 2 -- quickstarts/aws/amazon-rds/config.yml | 2 -- quickstarts/aws/amazon-redshift/config.yml | 2 -- .../aws/amazon-route53-resolver/config.yml | 2 -- quickstarts/aws/amazon-route53/config.yml | 2 -- .../aws/amazon-s3-storagelens/config.yml | 2 -- quickstarts/aws/amazon-s3/config.yml | 2 -- .../aws/amazon-security-lake/config.yml | 4 +-- quickstarts/aws/amazon-ses/config.yml | 2 -- quickstarts/aws/amazon-sns/config.yml | 2 -- quickstarts/aws/amazon-sqs/config.yml | 2 -- .../aws/amazon-web-services/config.yml | 2 -- quickstarts/aws/aws-appsync/config.yml | 2 -- quickstarts/aws/aws-auto-scaling/config.yml | 2 -- quickstarts/aws/aws-billing/config.yml | 6 ++-- quickstarts/aws/aws-cloudformation/config.yml | 2 -- quickstarts/aws/aws-cloudtrail/config.yml | 2 -- .../aws-cloudwatch-plugin-for-logs/config.yml | 2 -- quickstarts/aws/aws-direct-connect/config.yml | 2 -- .../aws/aws-elastic-beanstalk/config.yml | 2 -- quickstarts/aws/aws-elb/config.yml | 2 -- .../aws/aws-elemental-mediaconvert/config.yml | 2 -- .../aws-elemental-mediapackage-vod/config.yml | 2 -- .../aws/aws-enhanced-monitoring/config.yml | 2 -- .../aws-firelens-plugin-for-logs/config.yml | 2 -- quickstarts/aws/aws-glue/config.yml | 2 -- quickstarts/aws/aws-health/config.yml | 2 -- quickstarts/aws/aws-iam/config.yml | 2 -- quickstarts/aws/aws-iot/config.yml | 2 -- quickstarts/aws/aws-lambda/config.yml | 2 -- quickstarts/aws/aws-nlb-alb/config.yml | 2 -- quickstarts/aws/aws-outposts/config.yml | 2 -- quickstarts/aws/aws-security-hub/config.yml | 4 +-- quickstarts/aws/aws-step-functions/config.yml | 2 -- quickstarts/aws/aws-transitgateway/config.yml | 2 -- .../aws/aws-trusted-advisor/config.yml | 6 ++-- quickstarts/aws/aws-vpc-flow-logs/config.yml | 2 -- quickstarts/aws/aws-vpc/config.yml | 2 -- quickstarts/aws/aws-waf/config.yml | 2 -- quickstarts/aws/aws-x-ray/config.yml | 2 -- .../azure/azure-api-management/config.yml | 4 +-- .../azure/azure-app-service/config.yml | 2 -- quickstarts/azure/azure-containers/config.yml | 4 +-- quickstarts/azure/azure-cosmos-db/config.yml | 4 +-- .../azure/azure-cost-management/config.yml | 2 -- .../azure/azure-datafactories/config.yml | 2 -- quickstarts/azure/azure-event-hubs/config.yml | 2 -- .../azure/azure-express-route/config.yml | 2 -- quickstarts/azure/azure-functions/config.yml | 2 -- quickstarts/azure/azure-key-vault/config.yml | 4 +-- .../config.yml | 4 +-- quickstarts/azure/azure-mariadb/config.yml | 2 -- quickstarts/azure/azure-mysql/config.yml | 6 ++-- quickstarts/azure/azure-postgresql/config.yml | 2 -- .../config.yml | 4 +-- .../azure/azure-service-bus/config.yml | 2 -- quickstarts/azure/azure-storage/config.yml | 8 ++--- .../azure/azure-virtual-machines/config.yml | 2 -- .../azure/azure-virtual-network/config.yml | 6 ++-- quickstarts/azure/azure-vms/config.yml | 2 -- quickstarts/battlesnake/config.yml | 3 -- quickstarts/biztalk360/config.yml | 8 ++--- quickstarts/blameless/config.yml | 2 -- quickstarts/blazor-webassembly/config.yml | 6 ++-- .../browser-segment-investigation/config.yml | 2 -- quickstarts/browser/config.yml | 4 +-- quickstarts/c/config.yml | 2 -- quickstarts/calico/config.yml | 3 -- quickstarts/cassandra/config.yml | 8 ++--- quickstarts/catchpoint/config.yml | 2 -- quickstarts/centos/config.yml | 2 -- quickstarts/circleci/config.yml | 4 +-- quickstarts/cloudflare/config.yml | 2 -- quickstarts/cockroach-db/config.yml | 3 -- quickstarts/confluent-cloud/config.yml | 2 -- quickstarts/consul/config.yml | 2 -- quickstarts/contentsquare/config.yml | 28 +++++++-------- quickstarts/cordova/config.yml | 2 -- quickstarts/core-web-vitals/config.yml | 11 +++--- quickstarts/coredns/config.yml | 3 -- quickstarts/couchbase/config.yml | 2 -- quickstarts/cribl-logstream/config.yml | 4 +-- quickstarts/dapr/config.yml | 2 -- quickstarts/databricks/config.yml | 2 -- quickstarts/datastream2-akamai/config.yml | 4 +-- quickstarts/datazoom/config.yml | 2 -- quickstarts/dbmarlin/config.yml | 2 -- quickstarts/debian/config.yml | 2 -- quickstarts/deeper-network/config.yml | 2 -- quickstarts/delphix/config.yml | 8 ++--- quickstarts/docker/config.yml | 4 +-- quickstarts/dotnet/ado-dotnet/config.yml | 10 +++--- quickstarts/dotnet/asp-dotnet-mvc/config.yml | 2 -- .../dotnet/asp-dotnet-web-forms/config.yml | 2 -- quickstarts/dotnet/blazor-server/config.yml | 16 ++++----- quickstarts/dotnet/csharp/config.yml | 34 +++++++++---------- quickstarts/dotnet/csla-dotnet/config.yml | 2 -- quickstarts/dotnet/dnn-community/config.yml | 2 -- quickstarts/dotnet/dnn-evoq/config.yml | 2 -- quickstarts/dotnet/dotnet-core/config.yml | 2 -- .../dotnet/dotnet-mvc-web-api/config.yml | 2 -- quickstarts/dotnet/dotnet/config.yml | 2 -- quickstarts/dotnet/episerver-cms/config.yml | 4 +-- quickstarts/dotnet/fubumvc/config.yml | 6 ++-- quickstarts/dotnet/iis/config.yml | 4 +-- quickstarts/dotnet/jayrock/config.yml | 2 -- quickstarts/dotnet/monorail/config.yml | 2 -- quickstarts/dotnet/msmq/config.yml | 2 -- quickstarts/dotnet/nancyfx/config.yml | 2 -- quickstarts/dotnet/nservicebus/config.yml | 12 +++---- quickstarts/dotnet/openrasta/config.yml | 2 -- quickstarts/dotnet/restsharp/config.yml | 4 +-- quickstarts/dotnet/servicestack/config.yml | 2 -- quickstarts/dotnet/silverlight/config.yml | 2 -- quickstarts/dotnet/springdotnet/config.yml | 2 -- quickstarts/dotnet/umbraco/config.yml | 4 +-- quickstarts/dropwizard/config.yml | 2 -- quickstarts/drupal/config.yml | 2 -- quickstarts/elasticsearch/config.yml | 2 -- quickstarts/elixir/config.yml | 3 -- quickstarts/etcd/config.yml | 3 -- quickstarts/f5/config.yml | 4 +-- quickstarts/fastly/config.yml | 2 -- .../fluent-bit-plugin-for-logs/config.yml | 2 -- .../fluentd-plugin-for-logs/config.yml | 2 -- .../full-stack-observability/config.yml | 3 -- quickstarts/full-story/config.yml | 2 -- quickstarts/gatsby-build/config.yml | 4 +-- quickstarts/gcp/apigee-api/config.yml | 2 -- quickstarts/gcp/gcp-cloud-run/config.yml | 2 -- quickstarts/gcp/gcp-dataflow/config.yml | 2 -- quickstarts/gcp/gcp-dataproc/config.yml | 2 -- quickstarts/gcp/gcp-datastore/config.yml | 2 -- .../gcp/gcp-dedicated-interconnect/config.yml | 2 -- .../gcp/gcp-firebase-database/config.yml | 2 -- .../gcp/gcp-firebase-hosting/config.yml | 2 -- .../gcp/gcp-firebase-storage/config.yml | 2 -- quickstarts/gcp/gcp-firestore/config.yml | 2 -- quickstarts/gcp/gcp-router/config.yml | 2 -- quickstarts/gcp/gcp-vpc/config.yml | 2 -- quickstarts/gcp/google-app-engine/config.yml | 2 -- quickstarts/gcp/google-bigquery/config.yml | 2 -- .../gcp/google-cloud-functions/config.yml | 2 -- .../gcp/google-cloud-spanner-otel/config.yml | 2 -- .../gcp/google-cloud-spanner/config.yml | 2 -- quickstarts/gcp/google-cloud-sql/config.yml | 2 -- .../gcp/google-cloud-storage/config.yml | 2 -- .../gcp/google-compute-engine/config.yml | 2 -- .../gcp/google-load-balancing/config.yml | 2 -- quickstarts/gcp/google-pub-sub/config.yml | 2 -- quickstarts/gigamon-appinsights/config.yml | 8 ++--- quickstarts/gigamon/config.yml | 2 -- quickstarts/github/config.yml | 4 +-- quickstarts/gitlab/config.yml | 3 -- quickstarts/glassbox/config.yml | 2 -- quickstarts/golang/echo/config.yml | 4 +-- quickstarts/golang/gin/config.yml | 4 +-- quickstarts/golang/golang/config.yml | 2 -- quickstarts/golang/httprouter/config.yml | 4 +-- quickstarts/golang/lambda-go/config.yml | 2 -- quickstarts/golang/logrus/config.yml | 2 -- quickstarts/golang/logxi/config.yml | 2 -- quickstarts/golang/micro/config.yml | 2 -- quickstarts/golang/mux/config.yml | 2 -- quickstarts/golang/nats/config.yml | 4 +-- quickstarts/golang/pkg-errors/config.yml | 2 -- quickstarts/golang/zap/config.yml | 4 +-- .../grafana-dashboard-migration/config.yml | 2 -- .../grafana-prometheus-integration/config.yml | 2 -- quickstarts/haproxy/config.yml | 8 ++--- quickstarts/harbor/config.yml | 3 -- quickstarts/hashicorp/hcp-consul/config.yml | 4 +-- quickstarts/hashicorp/hcp-vault/config.yml | 8 ++--- quickstarts/heroku/config.yml | 2 -- quickstarts/hivemq/config.yml | 3 -- quickstarts/ibmmq/config.yml | 3 -- quickstarts/infrastructure/config.yml | 4 +-- quickstarts/ios/config.yml | 2 -- quickstarts/java/adobe-cq/config.yml | 4 +-- quickstarts/java/akka/config.yml | 4 +-- quickstarts/java/anorm/config.yml | 4 +-- quickstarts/java/asynchttpclient/config.yml | 2 -- quickstarts/java/camel/config.yml | 4 +-- quickstarts/java/coldfusion/config.yml | 4 +-- quickstarts/java/cxf/config.yml | 2 -- .../java/datastax-cassandra/config.yml | 2 -- quickstarts/java/derby/config.yml | 4 +-- quickstarts/java/ejb-session-beans/config.yml | 4 +-- .../java/elasticsearch-query/config.yml | 4 +-- quickstarts/java/gcp-pubsub/config.yml | 2 -- quickstarts/java/generic-jdbc/config.yml | 4 +-- quickstarts/java/glassfish/config.yml | 2 -- quickstarts/java/grails/config.yml | 2 -- quickstarts/java/grpc/config.yml | 4 +-- quickstarts/java/h2/config.yml | 2 -- quickstarts/java/hibernate/config.yml | 4 +-- quickstarts/java/hsql/config.yml | 2 -- quickstarts/java/hystrix/config.yml | 4 +-- quickstarts/java/ibm-db2/config.yml | 2 -- quickstarts/java/inet-merlia/config.yml | 2 -- quickstarts/java/java/config.yml | 8 ++--- quickstarts/java/jax-rs/config.yml | 2 -- quickstarts/java/jcache-api/config.yml | 2 -- quickstarts/java/jdbc-executebatch/config.yml | 8 ++--- quickstarts/java/jersey/config.yml | 2 -- quickstarts/java/jetty/config.yml | 4 +-- quickstarts/java/jms/config.yml | 4 +-- quickstarts/java/jsf/config.yml | 4 +-- quickstarts/java/jsp/config.yml | 4 +-- quickstarts/java/mule-esb/config.yml | 2 -- quickstarts/java/netty/config.yml | 6 ++-- quickstarts/java/oc4j/config.yml | 2 -- quickstarts/java/play-ws/config.yml | 2 -- quickstarts/java/play/config.yml | 4 +-- .../java/quartz-job-scheduler/config.yml | 4 +-- quickstarts/java/resin/config.yml | 4 +-- quickstarts/java/resteasy/config.yml | 4 +-- quickstarts/java/scala/config.yml | 4 +-- quickstarts/java/slick/config.yml | 2 -- quickstarts/java/solr/config.yml | 4 +-- quickstarts/java/spray-can/config.yml | 4 +-- quickstarts/java/spring-jms/config.yml | 4 +-- quickstarts/java/spring/config.yml | 4 +-- quickstarts/java/spymemcached/config.yml | 4 +-- quickstarts/java/struts/config.yml | 4 +-- quickstarts/java/thrift/config.yml | 4 +-- quickstarts/java/tomcat/config.yml | 2 -- quickstarts/java/tomee/config.yml | 4 +-- quickstarts/java/vert-x/config.yml | 4 +-- quickstarts/java/weblogic/config.yml | 2 -- .../java/websphere-liberty-profile/config.yml | 4 +-- quickstarts/java/websphere/config.yml | 2 -- quickstarts/java/wildfly/config.yml | 4 +-- quickstarts/jenkins/config.yml | 6 ++-- quickstarts/jfrog-platform/config.yml | 14 ++++---- quickstarts/jira-errors/config.yml | 2 -- quickstarts/jmx/config.yml | 3 -- quickstarts/kafka/config.yml | 12 +++---- quickstarts/kamon/config.yml | 2 -- quickstarts/kentik/config.yml | 2 -- quickstarts/kubernetes-prometheus/config.yml | 26 +++++++------- .../azure-kubernetes-service/config.yml | 2 -- .../google-kubernetes-engine/config.yml | 2 -- quickstarts/kubernetes/kubernetes/config.yml | 2 -- quickstarts/kubernetes/nginx/config.yml | 3 -- quickstarts/lacework/config.yml | 6 ++-- quickstarts/lamp/config.yml | 4 --- quickstarts/lampy/config.yml | 31 +++++++---------- quickstarts/launchdarkly/config.yml | 2 -- quickstarts/lighthouse/config.yml | 2 -- quickstarts/linux/config.yml | 2 -- .../logstash-plugin-for-logs/config.yml | 2 -- quickstarts/macos/config.yml | 2 -- quickstarts/mariadb/config.yml | 2 -- quickstarts/memcached/config.yml | 2 -- quickstarts/micrometer/config.yml | 2 -- quickstarts/mlops/aporia/config.yml | 2 -- quickstarts/mlops/bring-your-own/config.yml | 2 -- quickstarts/mlops/comet/config.yml | 2 -- quickstarts/mlops/dagshub/config.yml | 2 -- quickstarts/mlops/mona/config.yml | 2 -- quickstarts/mlops/truera/config.yml | 2 -- quickstarts/mobile-crash-analytics/config.yml | 10 +++--- .../mobile-network-performance/config.yml | 6 ++-- quickstarts/mobile/config.yml | 2 -- quickstarts/mongodb/config.yml | 12 +++---- quickstarts/mssql/config.yml | 2 -- quickstarts/mysql/config.yml | 8 ++--- quickstarts/nagios/config.yml | 2 -- quickstarts/netlify/netlify-builds/config.yml | 2 -- quickstarts/netlify/netlify-logs/config.yml | 6 ++-- .../arista-switches/config.yml | 2 -- .../network-monitoring/bgpNeighbor/config.yml | 2 -- .../cisco-ip-sla-operations/config.yml | 2 -- .../ciscoHardware/config.yml | 2 -- .../network-routers-and-switches/config.yml | 2 -- .../network-syslog/config.yml | 2 -- quickstarts/nextcloud/config.yml | 16 ++++----- quickstarts/nginx/config.yml | 2 -- quickstarts/node-exporter/config.yml | 2 -- quickstarts/node-js/express/config.yml | 2 -- quickstarts/node-js/hapi/config.yml | 2 -- quickstarts/node-js/koa/config.yml | 2 -- quickstarts/node-js/node-js/config.yml | 10 +++--- quickstarts/node-js/restify/config.yml | 2 -- quickstarts/node-js/typescript/config.yml | 2 -- .../observability-as-code/ansible/config.yml | 2 -- .../observability-as-code/chef/config.yml | 2 -- .../observability-as-code/cli/config.yml | 2 -- .../observability-as-code/pulumi/config.yml | 2 -- .../observability-as-code/puppet/config.yml | 2 -- .../terraform/config.yml | 2 -- quickstarts/okhttp/config.yml | 2 -- quickstarts/oma-aqm/config.yml | 2 -- quickstarts/oma-bofu/config.yml | 6 ++-- quickstarts/oma-data-gov/config.yml | 2 -- quickstarts/oma-qf/config.yml | 4 +-- quickstarts/opencensus/config.yml | 2 -- quickstarts/opentelemetry/config.yml | 2 -- .../oracle/inet-oracle-driver/config.yml | 2 -- quickstarts/oracle/oracle-database/config.yml | 2 -- quickstarts/pagerduty/pagerduty/config.yml | 2 -- quickstarts/perfmon/config.yml | 2 -- quickstarts/php/cakephp/config.yml | 2 -- quickstarts/php/codeigniter/config.yml | 4 +-- quickstarts/php/guzzle/config.yml | 2 -- quickstarts/php/joomla/config.yml | 2 -- quickstarts/php/kohana/config.yml | 4 +-- quickstarts/php/laravel/config.yml | 6 ++-- quickstarts/php/magento/config.yml | 4 +-- quickstarts/php/mediawiki/config.yml | 2 -- quickstarts/php/odbc/config.yml | 2 -- quickstarts/php/pdo/config.yml | 4 +-- quickstarts/php/php/config.yml | 4 +-- quickstarts/php/phpunit/config.yml | 4 +-- quickstarts/php/predis/config.yml | 4 +-- quickstarts/php/silex/config.yml | 2 -- quickstarts/php/slim/config.yml | 2 -- quickstarts/php/sqlite/config.yml | 2 -- quickstarts/php/symfony/config.yml | 2 -- quickstarts/php/yii/config.yml | 4 +-- quickstarts/pixie/config.yml | 2 -- quickstarts/port-monitoring/config.yml | 2 -- quickstarts/postgresql/config.yml | 2 -- quickstarts/postman/config.yml | 2 -- quickstarts/prometheus-agent/config.yml | 4 +-- .../prometheus-remote-write/config.yml | 12 +++---- quickstarts/python/aiohttp/config.yml | 2 -- quickstarts/python/amqplib/config.yml | 2 -- quickstarts/python/bottle/config.yml | 2 -- quickstarts/python/celery/config.yml | 2 -- quickstarts/python/cherrypy/config.yml | 4 +-- quickstarts/python/django/config.yml | 2 -- quickstarts/python/facepy/config.yml | 2 -- quickstarts/python/falcon/config.yml | 2 -- quickstarts/python/fastapi/config.yml | 2 -- quickstarts/python/feedparser/config.yml | 2 -- quickstarts/python/flask/config.yml | 2 -- quickstarts/python/gearman/config.yml | 2 -- quickstarts/python/gevent/config.yml | 2 -- quickstarts/python/httplib2/config.yml | 2 -- quickstarts/python/jinja2/config.yml | 2 -- quickstarts/python/mako/config.yml | 2 -- quickstarts/python/oursql/config.yml | 2 -- quickstarts/python/pika/config.yml | 2 -- quickstarts/python/piston/config.yml | 2 -- quickstarts/python/proboscis/config.yml | 2 -- quickstarts/python/psycopg2/config.yml | 6 ++-- quickstarts/python/pyelasticsearch/config.yml | 2 -- quickstarts/python/pylibmc/config.yml | 2 -- quickstarts/python/pylons/config.yml | 2 -- quickstarts/python/pymongo/config.yml | 2 -- quickstarts/python/pyramid/config.yml | 2 -- quickstarts/python/pysqlite/config.yml | 2 -- quickstarts/python/python/config.yml | 6 ++-- quickstarts/python/sanic/config.yml | 2 -- quickstarts/python/tastypie/config.yml | 2 -- quickstarts/python/tornado/config.yml | 2 -- quickstarts/python/twisted/config.yml | 2 -- quickstarts/python/web2py/config.yml | 2 -- quickstarts/python/webpy/config.yml | 2 -- quickstarts/quantum-metric/config.yml | 2 -- quickstarts/rabbitmq/config.yml | 8 ++--- .../red-hat-enterprise-linux/config.yml | 2 -- .../redhat/red-hat-openshift/config.yml | 2 -- quickstarts/redis-prometheus/config.yml | 3 -- quickstarts/redis/config.yml | 2 -- quickstarts/redisenterprise/config.yml | 4 +-- quickstarts/releaseiq/config.yml | 2 -- quickstarts/roku/config.yml | 7 ++-- quickstarts/ruby/activerecord/config.yml | 2 -- quickstarts/ruby/acts-as-solr/config.yml | 2 -- quickstarts/ruby/authlogic/config.yml | 2 -- quickstarts/ruby/bunny/config.yml | 2 -- quickstarts/ruby/curb/config.yml | 4 +-- quickstarts/ruby/dalli/config.yml | 2 -- quickstarts/ruby/delayed-job/config.yml | 2 -- quickstarts/ruby/excon/config.yml | 2 -- quickstarts/ruby/grape/config.yml | 2 -- quickstarts/ruby/httpclient/config.yml | 2 -- quickstarts/ruby/httprb/config.yml | 2 -- quickstarts/ruby/net-http/config.yml | 2 -- quickstarts/ruby/padrino/config.yml | 2 -- quickstarts/ruby/passenger/config.yml | 2 -- quickstarts/ruby/puma/config.yml | 2 -- quickstarts/ruby/rack/config.yml | 2 -- quickstarts/ruby/rails/config.yml | 2 -- quickstarts/ruby/rainbows/config.yml | 2 -- quickstarts/ruby/rake/config.yml | 2 -- quickstarts/ruby/resque/config.yml | 2 -- quickstarts/ruby/ruby/config.yml | 2 -- quickstarts/ruby/sequel/config.yml | 2 -- quickstarts/ruby/sidekiq/config.yml | 2 -- quickstarts/ruby/sinatra/config.yml | 2 -- quickstarts/ruby/sunspot/config.yml | 2 -- quickstarts/ruby/thin/config.yml | 2 -- quickstarts/ruby/typhoeus/config.yml | 2 -- quickstarts/ruby/unicorn/config.yml | 2 -- quickstarts/ruby/webrick/config.yml | 2 -- .../salesforce-eventlog-for-logs/config.yml | 2 -- quickstarts/security/config.yml | 6 ++-- quickstarts/sendgrid/config.yml | 4 --- quickstarts/signl4/config.yml | 2 -- quickstarts/snmp/config.yml | 2 -- quickstarts/snyk/config.yml | 2 -- quickstarts/speedscale/config.yml | 4 +-- quickstarts/split/config.yml | 2 -- quickstarts/squid-prometheus/config.yml | 3 -- quickstarts/statsd/config.yml | 4 +-- .../suse-linux-enterprise-server/config.yml | 2 -- quickstarts/sybase/config.yml | 7 ++-- .../synthetics-optimization/config.yml | 2 -- .../synthetics/availability/config.yml | 2 -- .../endpoint-availability/config.yml | 2 -- .../synthetics/page-link-crawler/config.yml | 2 -- .../page-load-performance/config.yml | 2 -- .../synthetics/private-locations/config.yml | 3 -- .../ssl-certification-check/config.yml | 2 -- quickstarts/synthetics/user-flow/config.yml | 2 -- .../synthetics/user-step-execution/config.yml | 2 -- quickstarts/traefik/config.yml | 3 -- .../trendmicro-cloudone-conformity/config.yml | 2 -- quickstarts/trivy/config.yml | 6 ++-- quickstarts/tvos/config.yml | 3 -- quickstarts/ubuntu/config.yml | 2 -- quickstarts/unix/config.yml | 2 -- quickstarts/varnish/config.yml | 2 -- quickstarts/velero-prometheus/config.yml | 6 ++-- quickstarts/vercel/config.yml | 2 -- quickstarts/video/video-android/config.yml | 3 -- quickstarts/video/video-chromecast/config.yml | 2 -- quickstarts/video/video-ios-tvos/config.yml | 2 -- .../video-web/video-web-akamai/config.yml | 3 -- .../video-web/video-web-html5/config.yml | 3 -- .../video-web/video-web-jwplayer/config.yml | 3 -- .../video-web-theplatform/config.yml | 3 -- .../video-web/video-web-videojs/config.yml | 3 -- quickstarts/vmware/vmware-tanzu/config.yml | 2 -- quickstarts/vmware/vmware-vsphere/config.yml | 2 -- .../windows/windows-desktop/config.yml | 2 -- quickstarts/windows/windows-server/config.yml | 2 -- quickstarts/winservices/config.yml | 10 +++--- quickstarts/wordpress/config.yml | 2 -- quickstarts/xamarin/config.yml | 2 -- quickstarts/xmatters/config.yml | 2 -- quickstarts/zebrium/config.yml | 4 +-- quickstarts/zenduty/config.yml | 4 +-- quickstarts/zipkin/config.yml | 2 -- 493 files changed, 270 insertions(+), 1300 deletions(-) diff --git a/quickstarts/ads/web/ads-web-gpt/config.yml b/quickstarts/ads/web/ads-web-gpt/config.yml index 8c47904572..861db856aa 100644 --- a/quickstarts/ads/web/ads-web-gpt/config.yml +++ b/quickstarts/ads/web/ads-web-gpt/config.yml @@ -13,8 +13,6 @@ keywords: - tracking - GPT - NR1_addData -installPlans: - - third-party-ads-web-gpt dataSourceIds: - ads-web-gpt documentation: diff --git a/quickstarts/ads/web/ads-web-prebid/config.yml b/quickstarts/ads/web/ads-web-prebid/config.yml index c30f943708..1f61863ce9 100644 --- a/quickstarts/ads/web/ads-web-prebid/config.yml +++ b/quickstarts/ads/web/ads-web-prebid/config.yml @@ -13,8 +13,6 @@ keywords: - tracking - Prebid - NR1_addData -installPlans: - - third-party-ads-web-prebid dataSourceIds: - ads-web-prebid documentation: diff --git a/quickstarts/ajax/config.yml b/quickstarts/ajax/config.yml index fdfee80489..0a95d693dd 100644 --- a/quickstarts/ajax/config.yml +++ b/quickstarts/ajax/config.yml @@ -18,15 +18,15 @@ description: | 4. **Optimize application performance:** By reviewing AJAX requests in New Relic, you can identify opportunities to optimize your application's performance. For example, you may identify slow-loading AJAX requests that can be optimized by reducing the size of the payload or optimizing the code. - + **Distributed tracing with AJAX requests in a microsystem architecture can provide several benefits:** 1. **End-to-end visibility:** Distributed tracing allows you to trace the flow of a request across multiple services in your microsystem architecture. With AJAX requests, you can trace the request from the client-side through to the server-side, allowing you to see the complete end-to-end flow of the request. - + 2. **Performance monitoring:** Distributed tracing can provide valuable insights into the performance of your microsystem architecture. By tracing the flow of requests, you can identify bottlenecks and optimize the performance of your system. - + 3. **Debugging and troubleshooting:** Distributed tracing can make it easier to debug and troubleshoot issues in your microsystem architecture. By tracing the flow of a request, you can quickly identify which service is causing the issue and address it. - + 4. **Root cause analysis:** Distributed tracing can help you identify the root cause of issues in your microsystem architecture. By tracing the flow of requests, you can identify the root cause of a problem and take steps to prevent similar issues from occurring in the future. icon: logo.svg @@ -36,8 +36,6 @@ documentation: description: >- With New Relic One's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ -installPlans: - - browser-docs dataSourceIds: - new-relic-browser diff --git a/quickstarts/android/config.yml b/quickstarts/android/config.yml index 32290861dd..5cbfd7d965 100644 --- a/quickstarts/android/config.yml +++ b/quickstarts/android/config.yml @@ -22,8 +22,6 @@ documentation: Mobile operating system based on a modified Linux kernel and other open source software. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/get-started/introduction-new-relic-mobile-android -installPlans: - - android-mobile dataSourceIds: - android keywords: diff --git a/quickstarts/apache/config.yml b/quickstarts/apache/config.yml index a4b1da0257..ab7eed94d4 100644 --- a/quickstarts/apache/config.yml +++ b/quickstarts/apache/config.yml @@ -34,8 +34,6 @@ documentation: description: | Free and open-source cross-platform web server software, released under the terms of Apache License 2.0. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/apache-monitoring-integration/ -installPlans: - - apache-integration dataSourceIds: - apache keywords: @@ -46,4 +44,4 @@ keywords: dashboards: - apache alertPolicies: - - apache + - apache diff --git a/quickstarts/apis/event/config.yml b/quickstarts/apis/event/config.yml index bb0d1e32d3..205035356b 100644 --- a/quickstarts/apis/event/config.yml +++ b/quickstarts/apis/event/config.yml @@ -9,8 +9,6 @@ level: New Relic authors: - New Relic title: Event API -installPlans: - - third-party-event-api dataSourceIds: - event-api documentation: diff --git a/quickstarts/apis/logs/config.yml b/quickstarts/apis/logs/config.yml index 1a1c361b80..7ee187d8f4 100644 --- a/quickstarts/apis/logs/config.yml +++ b/quickstarts/apis/logs/config.yml @@ -9,8 +9,6 @@ level: New Relic authors: - New Relic title: Logs API -installPlans: - - third-party-logs-api dataSourceIds: - logs-api documentation: diff --git a/quickstarts/apis/metric/config.yml b/quickstarts/apis/metric/config.yml index 5234650757..d24951a79d 100644 --- a/quickstarts/apis/metric/config.yml +++ b/quickstarts/apis/metric/config.yml @@ -9,8 +9,6 @@ level: New Relic authors: - New Relic title: Metric API -installPlans: - - third-party-metric-api dataSourceIds: - metric-api documentation: diff --git a/quickstarts/apis/trace/config.yml b/quickstarts/apis/trace/config.yml index 635b8581f5..3137f0f733 100644 --- a/quickstarts/apis/trace/config.yml +++ b/quickstarts/apis/trace/config.yml @@ -14,8 +14,6 @@ documentation: description: | Our Trace API is used to send distributed tracing data to New Relic: either in our own generic format or the Zipkin data format. This API is also how trace data from some of our integrations and exporters is reported to New Relic. url: https://docs.newrelic.com/docs/distributed-tracing/trace-api/introduction-trace-api/ -installPlans: - - third-party-trace-and-span-api dataSourceIds: - trace-and-span-api keywords: diff --git a/quickstarts/apm-change-tracking/config.yml b/quickstarts/apm-change-tracking/config.yml index 65f1e6ecf7..6589f240c8 100644 --- a/quickstarts/apm-change-tracking/config.yml +++ b/quickstarts/apm-change-tracking/config.yml @@ -14,8 +14,6 @@ keywords: - marker - change - tracking -installPlans: - - change-tracking dataSourceIds: - change-tracking documentation: @@ -25,5 +23,3 @@ documentation: icon: logo.svg dashboards: - change-tracking-apm - - \ No newline at end of file diff --git a/quickstarts/apm-logs/config.yml b/quickstarts/apm-logs/config.yml index 6c3014bf92..eeb1de7e6f 100644 --- a/quickstarts/apm-logs/config.yml +++ b/quickstarts/apm-logs/config.yml @@ -13,8 +13,6 @@ authors: keywords: - logs - APM -installPlans: - - apm-logs dataSourceIds: - guided-install documentation: diff --git a/quickstarts/apollo/apollo-server/config.yml b/quickstarts/apollo/apollo-server/config.yml index d0738b661b..73c6718cdb 100644 --- a/quickstarts/apollo/apollo-server/config.yml +++ b/quickstarts/apollo/apollo-server/config.yml @@ -36,8 +36,6 @@ keywords: - fastify - lambda - NR1_addData -installPlans: - - node-agent dashboards: - apollo-server dataSourceIds: diff --git a/quickstarts/argocd/config.yml b/quickstarts/argocd/config.yml index 010e3d88ec..ced93ec4e6 100644 --- a/quickstarts/argocd/config.yml +++ b/quickstarts/argocd/config.yml @@ -52,9 +52,6 @@ keywords: - grafana - featured - NR1_addData -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/atlassian/bitbucket/config.yml b/quickstarts/atlassian/bitbucket/config.yml index 1b49e23050..fdcfdba63d 100644 --- a/quickstarts/atlassian/bitbucket/config.yml +++ b/quickstarts/atlassian/bitbucket/config.yml @@ -10,7 +10,7 @@ description: | ### About this quickstart - This quickstart is built around a [Bitbucket Pipe](https://bitbucket.org/product/features/pipelines/integrations) integration. This tool will enable you to send CI/CD events into New Relic, where you can monitor your Bitbucket Pipelines. + This quickstart is built around a [Bitbucket Pipe](https://bitbucket.org/product/features/pipelines/integrations) integration. This tool will enable you to send CI/CD events into New Relic, where you can monitor your Bitbucket Pipelines. With this visualization you can monitor: - Number of events/pipeline builds @@ -30,8 +30,6 @@ keywords: - pipeline - NR1_addData - NR1_sys -installPlans: - - third-party-bitbucket dataSourceIds: - bitbucket documentation: diff --git a/quickstarts/audit/account-data-ingestion-analysis/config.yml b/quickstarts/audit/account-data-ingestion-analysis/config.yml index a593f0ac4b..bfa1dd743d 100644 --- a/quickstarts/audit/account-data-ingestion-analysis/config.yml +++ b/quickstarts/audit/account-data-ingestion-analysis/config.yml @@ -13,8 +13,6 @@ authors: keywords: - data - ingest -installPlans: - - telemetry-data-platform dataSourceIds: - telemetry-data-platform documentation: @@ -23,4 +21,3 @@ documentation: description: Manage data coming into New Relic dashboards: - data-ingestion-breakdown - diff --git a/quickstarts/audit/audit-events-analysis/config.yaml b/quickstarts/audit/audit-events-analysis/config.yaml index c5015b3bdd..577e08f870 100644 --- a/quickstarts/audit/audit-events-analysis/config.yaml +++ b/quickstarts/audit/audit-events-analysis/config.yaml @@ -26,8 +26,6 @@ keywords: - new relic - NR1_addData - NR1_sys -installPlans: - - third-party-audit-events-analysis dataSourceIds: - audit-events-analysis documentation: diff --git a/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml b/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml index 35d6173f44..4cecfa2532 100644 --- a/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml +++ b/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml @@ -23,8 +23,6 @@ keywords: - pixie - NR1_addData - NR1_sys -installPlans: - - telemetry-data-platform dataSourceIds: - telemetry-data-platform documentation: @@ -40,4 +38,3 @@ dashboards: - gcp-integrations-data-ingest-analysis - kubernetes-data-ingest-analysis - on-host-integrations-data-analysis - diff --git a/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml b/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml index bf5fec2edd..77b494f77e 100644 --- a/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml +++ b/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml @@ -41,8 +41,6 @@ documentation: description: | Kubernetes plugin for log forwarding -installPlans: - - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/audit/log-ingestion-analysis/config.yml b/quickstarts/audit/log-ingestion-analysis/config.yml index 14330a371f..dfe64e8540 100644 --- a/quickstarts/audit/log-ingestion-analysis/config.yml +++ b/quickstarts/audit/log-ingestion-analysis/config.yml @@ -15,8 +15,6 @@ keywords: - data - NR1_addData - NR1_sys -installPlans: - - logs-default dataSourceIds: - logs-default documentation: @@ -28,4 +26,3 @@ icon: logo.svg website: https://www.newrelic.com dashboards: - log-analysis - diff --git a/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml b/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml index 37eddc51c0..593f864c96 100644 --- a/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml +++ b/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml @@ -22,8 +22,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - network-performance-monitoring dataSourceIds: - network-data-ingest-and-cardinality documentation: diff --git a/quickstarts/aws/amazon-athena/config.yml b/quickstarts/aws/amazon-athena/config.yml index 4d8c9a0bcd..b5c5c5a1bf 100644 --- a/quickstarts/aws/amazon-athena/config.yml +++ b/quickstarts/aws/amazon-athena/config.yml @@ -36,8 +36,6 @@ keywords: - aws - amazon web services - database -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-aurora/config.yml b/quickstarts/aws/amazon-aurora/config.yml index 1907427acf..d83b0b6551 100644 --- a/quickstarts/aws/amazon-aurora/config.yml +++ b/quickstarts/aws/amazon-aurora/config.yml @@ -36,8 +36,6 @@ keywords: - rds - aurora - NR1_addData -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-cloudfront-logs/config.yml b/quickstarts/aws/amazon-cloudfront-logs/config.yml index 806246f750..f7ddf92d2f 100644 --- a/quickstarts/aws/amazon-cloudfront-logs/config.yml +++ b/quickstarts/aws/amazon-cloudfront-logs/config.yml @@ -7,13 +7,13 @@ description: |- ### Get started! - Start monitoring Amazon CloudFront by sending your Amazon Cloudfront Web Logs to New Relic. + Start monitoring Amazon CloudFront by sending your Amazon Cloudfront Web Logs to New Relic. Check out our Amazon CloudFront documentation to instrument your cloud service and manage the stability, scalability, and reliability of your systems with New Relic's Log monitoring capabilities. ### More info - Check out the [documentation](https://docs.newrelic.com/docs/logs/forward-logs/cloudfront-web-logs/) to learn more about New Relic monitoring for Amazon CloudFront. + Check out the [documentation](https://docs.newrelic.com/docs/logs/forward-logs/cloudfront-web-logs/) to learn more about New Relic monitoring for Amazon CloudFront. summary: Monitor Amazon CloudFront Web logs in New Relic icon: logo.svg level: New Relic @@ -39,8 +39,6 @@ keywords: - NR1_sys dashboards: - amazon-cloudfront-web-logs -installPlans: - - amazon-cloudfront-web-logs dataSourceIds: - aws-cloudfront-logs alertPolicies: diff --git a/quickstarts/aws/amazon-cloudfront/config.yml b/quickstarts/aws/amazon-cloudfront/config.yml index 4b7a619a88..5bbf738c97 100644 --- a/quickstarts/aws/amazon-cloudfront/config.yml +++ b/quickstarts/aws/amazon-cloudfront/config.yml @@ -19,7 +19,5 @@ keywords: - web content dashboards: - amazon-cloudfront -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml b/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml index 67f475fe46..cdd3fe055d 100644 --- a/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml +++ b/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml @@ -25,7 +25,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-cognito/config.yml b/quickstarts/aws/amazon-cognito/config.yml index db4c226dd3..ed1ee48b55 100644 --- a/quickstarts/aws/amazon-cognito/config.yml +++ b/quickstarts/aws/amazon-cognito/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - amazon-cognito -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-connect/config.yml b/quickstarts/aws/amazon-connect/config.yml index 31742f7faf..bb38537ddb 100644 --- a/quickstarts/aws/amazon-connect/config.yml +++ b/quickstarts/aws/amazon-connect/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - amazon-connect -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-documentdb/config.yml b/quickstarts/aws/amazon-documentdb/config.yml index 4d54bd457a..e3f7f66192 100644 --- a/quickstarts/aws/amazon-documentdb/config.yml +++ b/quickstarts/aws/amazon-documentdb/config.yml @@ -28,7 +28,5 @@ documentation: icon: logo.svg dashboards: - amazon-documentdb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-dynamodb/config.yml b/quickstarts/aws/amazon-dynamodb/config.yml index 0ba0414783..26e97eb136 100644 --- a/quickstarts/aws/amazon-dynamodb/config.yml +++ b/quickstarts/aws/amazon-dynamodb/config.yml @@ -30,8 +30,6 @@ documentation: icon: logo.svg dashboards: - amazon-dynamodb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams alertPolicies: diff --git a/quickstarts/aws/amazon-ebs/config.yml b/quickstarts/aws/amazon-ebs/config.yml index 34740cbc10..3b91d49f82 100644 --- a/quickstarts/aws/amazon-ebs/config.yml +++ b/quickstarts/aws/amazon-ebs/config.yml @@ -20,7 +20,5 @@ documentation: icon: logo.svg dashboards: - amazon-ebs -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-ec2/config.yml b/quickstarts/aws/amazon-ec2/config.yml index d505615461..de334d580f 100644 --- a/quickstarts/aws/amazon-ec2/config.yml +++ b/quickstarts/aws/amazon-ec2/config.yml @@ -19,8 +19,6 @@ documentation: icon: logo.svg dashboards: - amazon-ec2 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams alertPolicies: diff --git a/quickstarts/aws/amazon-ecs/config.yml b/quickstarts/aws/amazon-ecs/config.yml index 76a9c15666..220126a2ec 100644 --- a/quickstarts/aws/amazon-ecs/config.yml +++ b/quickstarts/aws/amazon-ecs/config.yml @@ -20,7 +20,5 @@ documentation: icon: logo.svg dashboards: - amazon-ecs -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-efs/config.yml b/quickstarts/aws/amazon-efs/config.yml index 8c89847cde..3e6789c2d2 100644 --- a/quickstarts/aws/amazon-efs/config.yml +++ b/quickstarts/aws/amazon-efs/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - amazon-efs -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml b/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml index 2e1e038b56..ea682065f2 100644 --- a/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml +++ b/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml @@ -20,7 +20,5 @@ keywords: - kubernetes - k8s - NR1_addData -installPlans: - - third-party-amazon-eks-on-aws-fargate dataSourceIds: - amazon-eks-on-aws-fargate diff --git a/quickstarts/aws/amazon-elasticache/config.yml b/quickstarts/aws/amazon-elasticache/config.yml index 747e6c5d4f..d35df3d471 100644 --- a/quickstarts/aws/amazon-elasticache/config.yml +++ b/quickstarts/aws/amazon-elasticache/config.yml @@ -20,7 +20,5 @@ icon: logo.svg dashboards: - amazon-elasticache-redis - amazon-elasticache-memcached -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-elasticsearch/config.yml b/quickstarts/aws/amazon-elasticsearch/config.yml index 41b5a0ea0f..bb58140a83 100644 --- a/quickstarts/aws/amazon-elasticsearch/config.yml +++ b/quickstarts/aws/amazon-elasticsearch/config.yml @@ -33,7 +33,5 @@ keywords: - amazon web services dashboards: - amazon-elasticsearch -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-emr/config.yml b/quickstarts/aws/amazon-emr/config.yml index b2b59af215..45d34bb4ef 100644 --- a/quickstarts/aws/amazon-emr/config.yml +++ b/quickstarts/aws/amazon-emr/config.yml @@ -33,7 +33,5 @@ keywords: - analytics dashboards: - amazon-emr -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-fsx/config.yml b/quickstarts/aws/amazon-fsx/config.yml index b0fc9988fc..57b11b4273 100644 --- a/quickstarts/aws/amazon-fsx/config.yml +++ b/quickstarts/aws/amazon-fsx/config.yml @@ -37,7 +37,5 @@ keywords: - windows file server dashboards: - amazon-fsx -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-kinesis-firehose/config.yml b/quickstarts/aws/amazon-kinesis-firehose/config.yml index 2434551997..95dbf0ec5c 100644 --- a/quickstarts/aws/amazon-kinesis-firehose/config.yml +++ b/quickstarts/aws/amazon-kinesis-firehose/config.yml @@ -34,8 +34,6 @@ keywords: - aws - amazon web services - NR1_addData -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-kinesis/config.yml b/quickstarts/aws/amazon-kinesis/config.yml index 41582e0c7c..a77fbeaf6e 100644 --- a/quickstarts/aws/amazon-kinesis/config.yml +++ b/quickstarts/aws/amazon-kinesis/config.yml @@ -34,7 +34,5 @@ keywords: - amazon web services dashboards: - amazon-kinesis -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-linux/config.yml b/quickstarts/aws/amazon-linux/config.yml index d26a0b5406..7a290716de 100644 --- a/quickstarts/aws/amazon-linux/config.yml +++ b/quickstarts/aws/amazon-linux/config.yml @@ -27,8 +27,6 @@ keywords: - os - operating system - NR1_addData -installPlans: - - guided-install dataSourceIds: - guided-install dashboards: diff --git a/quickstarts/aws/amazon-mq/config.yml b/quickstarts/aws/amazon-mq/config.yml index 0a4ed0de07..640404dec4 100644 --- a/quickstarts/aws/amazon-mq/config.yml +++ b/quickstarts/aws/amazon-mq/config.yml @@ -11,7 +11,7 @@ description: |- Check out our Amazon MQ documentation to instrument your cloud service and manage the stability, scalability, and reliability of your systems with New Relic's infrastructure monitoring capabilities. - ### More info + ### More info Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-mq-integration/) to learn more about New Relic monitoring for Amazon MQ. @@ -32,8 +32,6 @@ keywords: - messaging - queue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-msk/config.yml b/quickstarts/aws/amazon-msk/config.yml index 88e3339524..bea7f705cf 100644 --- a/quickstarts/aws/amazon-msk/config.yml +++ b/quickstarts/aws/amazon-msk/config.yml @@ -34,8 +34,6 @@ keywords: - aws - amazon web services - queue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-neptune/config.yml b/quickstarts/aws/amazon-neptune/config.yml index e7a7a1b5ea..f8361bfe91 100644 --- a/quickstarts/aws/amazon-neptune/config.yml +++ b/quickstarts/aws/amazon-neptune/config.yml @@ -35,7 +35,5 @@ keywords: - neptune dashboards: - amazon-neptune -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-qldb/config.yml b/quickstarts/aws/amazon-qldb/config.yml index d809eb3411..0dae785bef 100644 --- a/quickstarts/aws/amazon-qldb/config.yml +++ b/quickstarts/aws/amazon-qldb/config.yml @@ -42,8 +42,6 @@ keywords: - aws - amazon web services - database -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-rds-enhanced/config.yml b/quickstarts/aws/amazon-rds-enhanced/config.yml index 49d28eb2dc..6a10145971 100644 --- a/quickstarts/aws/amazon-rds-enhanced/config.yml +++ b/quickstarts/aws/amazon-rds-enhanced/config.yml @@ -19,7 +19,5 @@ keywords: - NR1_addData dashboards: - amazon-rds -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-rds/config.yml b/quickstarts/aws/amazon-rds/config.yml index 13a3e5bdb0..fc43590281 100644 --- a/quickstarts/aws/amazon-rds/config.yml +++ b/quickstarts/aws/amazon-rds/config.yml @@ -34,8 +34,6 @@ keywords: - aws - amazon web services - database -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-redshift/config.yml b/quickstarts/aws/amazon-redshift/config.yml index 4c15c846c7..b68aca7d77 100644 --- a/quickstarts/aws/amazon-redshift/config.yml +++ b/quickstarts/aws/amazon-redshift/config.yml @@ -36,7 +36,5 @@ keywords: - redshift dashboards: - amazon-redshift -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-route53-resolver/config.yml b/quickstarts/aws/amazon-route53-resolver/config.yml index 3edc1c7594..59b2cff762 100644 --- a/quickstarts/aws/amazon-route53-resolver/config.yml +++ b/quickstarts/aws/amazon-route53-resolver/config.yml @@ -20,7 +20,5 @@ keywords: - NR1_addData dashboards: - amazon-route53 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-route53/config.yml b/quickstarts/aws/amazon-route53/config.yml index 9cb3fb80fa..3b2f7552cc 100644 --- a/quickstarts/aws/amazon-route53/config.yml +++ b/quickstarts/aws/amazon-route53/config.yml @@ -35,7 +35,5 @@ keywords: - networking dashboards: - amazon-route53 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-s3-storagelens/config.yml b/quickstarts/aws/amazon-s3-storagelens/config.yml index 67b37e3b19..36ab80b0b1 100644 --- a/quickstarts/aws/amazon-s3-storagelens/config.yml +++ b/quickstarts/aws/amazon-s3-storagelens/config.yml @@ -31,8 +31,6 @@ keywords: - storage - logs - logging -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-s3/config.yml b/quickstarts/aws/amazon-s3/config.yml index 087f9cab2b..d446d5fb32 100644 --- a/quickstarts/aws/amazon-s3/config.yml +++ b/quickstarts/aws/amazon-s3/config.yml @@ -36,8 +36,6 @@ keywords: - storage - logs - logging -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-security-lake/config.yml b/quickstarts/aws/amazon-security-lake/config.yml index f3059ff107..a11f1fddb1 100644 --- a/quickstarts/aws/amazon-security-lake/config.yml +++ b/quickstarts/aws/amazon-security-lake/config.yml @@ -3,7 +3,7 @@ slug: aws-security-lake description: |- ## What is Amazon Security Lake? - Amazon Security Lake allow you to automatically centralize your security data in just a few steps. + Amazon Security Lake allow you to automatically centralize your security data in just a few steps. ### Get started! @@ -43,7 +43,5 @@ dashboards: - amazon-security-lake-security-hub - amazon-security-lake-route53-resolver-query-logs - amazon-security-lake-cloudtrail-logs -installPlans: - - aws-security-lake dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-ses/config.yml b/quickstarts/aws/amazon-ses/config.yml index 3cd428d5ee..df5111b965 100644 --- a/quickstarts/aws/amazon-ses/config.yml +++ b/quickstarts/aws/amazon-ses/config.yml @@ -18,7 +18,5 @@ keywords: - messaging dashboards: - amazon-ses -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-sns/config.yml b/quickstarts/aws/amazon-sns/config.yml index 6150294e38..ef3d0d45ab 100644 --- a/quickstarts/aws/amazon-sns/config.yml +++ b/quickstarts/aws/amazon-sns/config.yml @@ -35,7 +35,5 @@ keywords: - messaging dashboards: - amazon-sns -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-sqs/config.yml b/quickstarts/aws/amazon-sqs/config.yml index fdcf48a706..79b5e8f2b7 100644 --- a/quickstarts/aws/amazon-sqs/config.yml +++ b/quickstarts/aws/amazon-sqs/config.yml @@ -18,8 +18,6 @@ keywords: - aws - amazon web services - queue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-web-services/config.yml b/quickstarts/aws/amazon-web-services/config.yml index 193d0fe184..21d4290b39 100644 --- a/quickstarts/aws/amazon-web-services/config.yml +++ b/quickstarts/aws/amazon-web-services/config.yml @@ -34,7 +34,5 @@ keywords: - amazon web services - cloudwatch - cloudwach metric streams -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-appsync/config.yml b/quickstarts/aws/aws-appsync/config.yml index 70ee829301..f1290afb86 100644 --- a/quickstarts/aws/aws-appsync/config.yml +++ b/quickstarts/aws/aws-appsync/config.yml @@ -37,7 +37,5 @@ keywords: - NR1_addData dashboards: - aws-appsync -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-auto-scaling/config.yml b/quickstarts/aws/aws-auto-scaling/config.yml index f54d071f92..b36174db5f 100644 --- a/quickstarts/aws/aws-auto-scaling/config.yml +++ b/quickstarts/aws/aws-auto-scaling/config.yml @@ -35,7 +35,5 @@ keywords: - auto scaling dashboards: - aws-auto-scaling -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-billing/config.yml b/quickstarts/aws/aws-billing/config.yml index 2c7a890ad8..54939adf6a 100644 --- a/quickstarts/aws/aws-billing/config.yml +++ b/quickstarts/aws/aws-billing/config.yml @@ -11,9 +11,9 @@ description: |- ### Why monitor AWS Billing with New Relic? - With our AWS Billing integration, you can gain visibility into all of your financial data. Our integration aggregates data from different sub-accounts and services and looks at your budgets in actual and forecasted spend. The best part? It’s all in one place. + With our AWS Billing integration, you can gain visibility into all of your financial data. Our integration aggregates data from different sub-accounts and services and looks at your budgets in actual and forecasted spend. The best part? It’s all in one place. - Start ingesting your AWS billing data today and visualize your AWS billing metrics in real-time. + Start ingesting your AWS billing data today and visualize your AWS billing metrics in real-time. summary: Monitoring AWS Billing is critical to effectively track AWS cost and usage. Download the New Relic AWS Billing quickstart to proactively monitor AWS financial data including AWS billing metrics and AWS budget metrics. icon: logo.svg level: New Relic @@ -34,7 +34,5 @@ keywords: - costs dashboards: - aws-billing -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudformation/config.yml b/quickstarts/aws/aws-cloudformation/config.yml index e9b386eee9..be30e0a87b 100644 --- a/quickstarts/aws/aws-cloudformation/config.yml +++ b/quickstarts/aws/aws-cloudformation/config.yml @@ -31,7 +31,5 @@ keywords: - aws - amazon web services - automation -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudtrail/config.yml b/quickstarts/aws/aws-cloudtrail/config.yml index e588ceb05d..6a7505b3f6 100644 --- a/quickstarts/aws/aws-cloudtrail/config.yml +++ b/quickstarts/aws/aws-cloudtrail/config.yml @@ -31,7 +31,5 @@ keywords: - aws - amazon web services - security -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml b/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml index c4244e14d0..8e15a67261 100644 --- a/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml +++ b/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml @@ -7,8 +7,6 @@ icon: logo.svg level: New Relic authors: - New Relic -installPlans: - - third-party-aws-cloudwatch-plugin-for-logs dataSourceIds: - amazon-cloudwatch documentation: diff --git a/quickstarts/aws/aws-direct-connect/config.yml b/quickstarts/aws/aws-direct-connect/config.yml index d856b749b2..0264bdfa18 100644 --- a/quickstarts/aws/aws-direct-connect/config.yml +++ b/quickstarts/aws/aws-direct-connect/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - aws-directconnect -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elastic-beanstalk/config.yml b/quickstarts/aws/aws-elastic-beanstalk/config.yml index c072f56613..9831dfa0a9 100644 --- a/quickstarts/aws/aws-elastic-beanstalk/config.yml +++ b/quickstarts/aws/aws-elastic-beanstalk/config.yml @@ -35,7 +35,5 @@ keywords: - deploy dashboards: - aws-elasticbeanstalk -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elb/config.yml b/quickstarts/aws/aws-elb/config.yml index b9f0147c2b..8d81d0ca88 100644 --- a/quickstarts/aws/aws-elb/config.yml +++ b/quickstarts/aws/aws-elb/config.yml @@ -32,7 +32,5 @@ keywords: - networking dashboards: - aws-elb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elemental-mediaconvert/config.yml b/quickstarts/aws/aws-elemental-mediaconvert/config.yml index e85defefa3..c31f973f22 100644 --- a/quickstarts/aws/aws-elemental-mediaconvert/config.yml +++ b/quickstarts/aws/aws-elemental-mediaconvert/config.yml @@ -33,7 +33,5 @@ keywords: - amazon web services dashboards: - aws-elemental-mediaconvert -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml b/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml index 966beb17bc..bf66fe0505 100644 --- a/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml +++ b/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-enhanced-monitoring/config.yml b/quickstarts/aws/aws-enhanced-monitoring/config.yml index 94d0262122..ac3041bc91 100644 --- a/quickstarts/aws/aws-enhanced-monitoring/config.yml +++ b/quickstarts/aws/aws-enhanced-monitoring/config.yml @@ -36,7 +36,5 @@ documentation: icon: logo.svg dashboards: - aws-lambda -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml b/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml index 26e1025126..44ff040548 100644 --- a/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml +++ b/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml @@ -7,8 +7,6 @@ level: New Relic authors: - New Relic title: AWS FireLens plugin for Logs -installPlans: - - third-party-aws-firelens-plugin-for-logs dataSourceIds: - aws-firelens documentation: diff --git a/quickstarts/aws/aws-glue/config.yml b/quickstarts/aws/aws-glue/config.yml index 1a7b329455..29f1f6b339 100644 --- a/quickstarts/aws/aws-glue/config.yml +++ b/quickstarts/aws/aws-glue/config.yml @@ -32,7 +32,5 @@ keywords: - data integration dashboards: - aws-glue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-health/config.yml b/quickstarts/aws/aws-health/config.yml index 359e66e051..917a3aaefb 100644 --- a/quickstarts/aws/aws-health/config.yml +++ b/quickstarts/aws/aws-health/config.yml @@ -33,7 +33,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-iam/config.yml b/quickstarts/aws/aws-iam/config.yml index d3a6018fd0..f68c6fab0a 100644 --- a/quickstarts/aws/aws-iam/config.yml +++ b/quickstarts/aws/aws-iam/config.yml @@ -35,7 +35,5 @@ keywords: - Identity and access management dashboards: - aws-iam -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-iot/config.yml b/quickstarts/aws/aws-iot/config.yml index 13c181ef41..0dfb4c6cb4 100644 --- a/quickstarts/aws/aws-iot/config.yml +++ b/quickstarts/aws/aws-iot/config.yml @@ -34,7 +34,5 @@ keywords: - amazon web services dashboards: - aws-iot -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-lambda/config.yml b/quickstarts/aws/aws-lambda/config.yml index 6abd58abe1..a6fefb8d17 100644 --- a/quickstarts/aws/aws-lambda/config.yml +++ b/quickstarts/aws/aws-lambda/config.yml @@ -35,8 +35,6 @@ keywords: - amazon web services - serverless - lambda -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/aws-nlb-alb/config.yml b/quickstarts/aws/aws-nlb-alb/config.yml index f481e1f3d1..2d25e32503 100644 --- a/quickstarts/aws/aws-nlb-alb/config.yml +++ b/quickstarts/aws/aws-nlb-alb/config.yml @@ -37,7 +37,5 @@ dashboards: - aws-alb - aws-nlb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-outposts/config.yml b/quickstarts/aws/aws-outposts/config.yml index 255d58b8c3..2ff3fade66 100644 --- a/quickstarts/aws/aws-outposts/config.yml +++ b/quickstarts/aws/aws-outposts/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-security-hub/config.yml b/quickstarts/aws/aws-security-hub/config.yml index 6e14302827..f9df9156e1 100644 --- a/quickstarts/aws/aws-security-hub/config.yml +++ b/quickstarts/aws/aws-security-hub/config.yml @@ -20,7 +20,7 @@ description: | ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/aws) to learn more about New Relic ingestion for AWS Security Hub. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/aws) to learn more about New Relic ingestion for AWS Security Hub. summary: Ingest AWS Security Hub by connecting AWS to New Relic icon: logo.png level: New Relic @@ -30,8 +30,6 @@ documentation: - name: AWS Security Hub installation docs description: Cloud-based service for detecting vulnerabilities in AWS resources. url: https://docs.newrelic.com/docs/vulnerability-management/integrations/aws -installPlans: - - aws-security-hub-install dataSourceIds: - aws-security-hub keywords: diff --git a/quickstarts/aws/aws-step-functions/config.yml b/quickstarts/aws/aws-step-functions/config.yml index d1439f7d6e..e2fa36050e 100644 --- a/quickstarts/aws/aws-step-functions/config.yml +++ b/quickstarts/aws/aws-step-functions/config.yml @@ -19,7 +19,5 @@ keywords: - serverless dashboards: - aws-step-functions -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-transitgateway/config.yml b/quickstarts/aws/aws-transitgateway/config.yml index 8752f52c4d..56f224bede 100644 --- a/quickstarts/aws/aws-transitgateway/config.yml +++ b/quickstarts/aws/aws-transitgateway/config.yml @@ -19,7 +19,5 @@ keywords: - networking dashboards: - aws-transitgateway -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-trusted-advisor/config.yml b/quickstarts/aws/aws-trusted-advisor/config.yml index a1f5a360e6..8cf1100bf2 100644 --- a/quickstarts/aws/aws-trusted-advisor/config.yml +++ b/quickstarts/aws/aws-trusted-advisor/config.yml @@ -8,7 +8,7 @@ description: |- ### New Relic AWS Trusted Advisor quickstart features - The New Relic AWS Trusted Advisor monitoring quickstart empowers you with our [AWS Trusted Advisor integration](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-trusted-advisor-integration/) to collect data about key metrics, query the data and gain valuable insights. + The New Relic AWS Trusted Advisor monitoring quickstart empowers you with our [AWS Trusted Advisor integration](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-trusted-advisor-integration/) to collect data about key metrics, query the data and gain valuable insights. ### Why monitor AWS Trusted Advisor with New Relic? @@ -16,7 +16,7 @@ description: |- You can activate the integration by following our [standard procedures](https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/getting-started/connect-aws-integrations-infrastructure) for connecting AWS services to New Relic. The monitoring quickstart helps you to track key AWS Trusted Advisor metrics like AWS region, current usage, limit amount, service limit usage, status, and timestamp. - Install the New Relic AWS Trusted Advisor quickstart today to proactively monitor AWS Trusted Advisor and keep getting quality recommendations that help you follow AWS best practices. + Install the New Relic AWS Trusted Advisor quickstart today to proactively monitor AWS Trusted Advisor and keep getting quality recommendations that help you follow AWS best practices. summary: Monitoring AWS Trusted Advisor is critical to keep getting quality recommendations that help you follow AWS best practices. Download the New Relic quickstart to proactively instrument AWS Trusted Advisor with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -31,7 +31,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-vpc-flow-logs/config.yml b/quickstarts/aws/aws-vpc-flow-logs/config.yml index 2d3820a669..2c3a415be2 100644 --- a/quickstarts/aws/aws-vpc-flow-logs/config.yml +++ b/quickstarts/aws/aws-vpc-flow-logs/config.yml @@ -37,7 +37,5 @@ keywords: - kinesis firehose - kinesis data firehose - networking -installPlans: - - aws-vpc-flow-logs dataSourceIds: - aws-vpc-flow-logs diff --git a/quickstarts/aws/aws-vpc/config.yml b/quickstarts/aws/aws-vpc/config.yml index 01805c4c91..220b3d4847 100644 --- a/quickstarts/aws/aws-vpc/config.yml +++ b/quickstarts/aws/aws-vpc/config.yml @@ -35,7 +35,5 @@ keywords: - networking dashboards: - amazon-vpc -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-waf/config.yml b/quickstarts/aws/aws-waf/config.yml index dab2a454c4..924c280c66 100644 --- a/quickstarts/aws/aws-waf/config.yml +++ b/quickstarts/aws/aws-waf/config.yml @@ -19,7 +19,5 @@ keywords: dashboards: - aws-waf - aws-wafv2 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-x-ray/config.yml b/quickstarts/aws/aws-x-ray/config.yml index 7d03434ea7..39f11fdfc0 100644 --- a/quickstarts/aws/aws-x-ray/config.yml +++ b/quickstarts/aws/aws-x-ray/config.yml @@ -31,7 +31,5 @@ keywords: - aws - amazon web services - tracing -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/azure/azure-api-management/config.yml b/quickstarts/azure/azure-api-management/config.yml index bed29b27e1..f3cb277dee 100644 --- a/quickstarts/azure/azure-api-management/config.yml +++ b/quickstarts/azure/azure-api-management/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-api-management-monitoring-integration/) to learn more about New Relic monitoring for Azure API Management. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-api-management-monitoring-integration/) to learn more about New Relic monitoring for Azure API Management. summary: Monitor Azure API Management by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -28,7 +28,5 @@ documentation: keywords: - azure - api -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-app-service/config.yml b/quickstarts/azure/azure-app-service/config.yml index 86540a629e..3d0a268388 100644 --- a/quickstarts/azure/azure-app-service/config.yml +++ b/quickstarts/azure/azure-app-service/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - azure - web -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-containers/config.yml b/quickstarts/azure/azure-containers/config.yml index 4373264dd3..5b5ba8bcf8 100644 --- a/quickstarts/azure/azure-containers/config.yml +++ b/quickstarts/azure/azure-containers/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-containers-monitoring-integration/) to learn more about New Relic monitoring for Azure Containers. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-containers-monitoring-integration/) to learn more about New Relic monitoring for Azure Containers. summary: Monitor Azure Containers by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ documentation: keywords: - azure - containers -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-cosmos-db/config.yml b/quickstarts/azure/azure-cosmos-db/config.yml index 93512ed845..4296f1e14b 100644 --- a/quickstarts/azure/azure-cosmos-db/config.yml +++ b/quickstarts/azure/azure-cosmos-db/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration/) to learn more about New Relic monitoring for Azure Cosmos DB. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration/) to learn more about New Relic monitoring for Azure Cosmos DB. summary: Monitor Azure Cosmos DB by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -29,8 +29,6 @@ documentation: keywords: - azure - database -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-cost-management/config.yml b/quickstarts/azure/azure-cost-management/config.yml index 9e377efd1b..b4132f4020 100644 --- a/quickstarts/azure/azure-cost-management/config.yml +++ b/quickstarts/azure/azure-cost-management/config.yml @@ -31,8 +31,6 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cost-management-monitoring-integration/ keywords: - azure -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-datafactories/config.yml b/quickstarts/azure/azure-datafactories/config.yml index ea261c00a1..b41c9eb1a5 100644 --- a/quickstarts/azure/azure-datafactories/config.yml +++ b/quickstarts/azure/azure-datafactories/config.yml @@ -37,7 +37,5 @@ keywords: - NR1_sys dashboards: - azure-datafactories -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-event-hubs/config.yml b/quickstarts/azure/azure-event-hubs/config.yml index e2c16d0ada..a218768bc5 100644 --- a/quickstarts/azure/azure-event-hubs/config.yml +++ b/quickstarts/azure/azure-event-hubs/config.yml @@ -31,7 +31,5 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-express-route/config.yml b/quickstarts/azure/azure-express-route/config.yml index b0cfd2ed6e..dfa6168afe 100644 --- a/quickstarts/azure/azure-express-route/config.yml +++ b/quickstarts/azure/azure-express-route/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - azure - networking -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-functions/config.yml b/quickstarts/azure/azure-functions/config.yml index 15e019f0c2..11101a9c59 100644 --- a/quickstarts/azure/azure-functions/config.yml +++ b/quickstarts/azure/azure-functions/config.yml @@ -33,8 +33,6 @@ keywords: - serverless - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-key-vault/config.yml b/quickstarts/azure/azure-key-vault/config.yml index 77bfbacd21..66d2671f88 100644 --- a/quickstarts/azure/azure-key-vault/config.yml +++ b/quickstarts/azure/azure-key-vault/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-key-vault-monitoring-integration) to learn more about New Relic monitoring for Azure Key Vault. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-key-vault-monitoring-integration) to learn more about New Relic monitoring for Azure Key Vault. summary: Monitor Azure Key Vault by connecting Azure to New Relic icon: logo.png level: New Relic @@ -30,8 +30,6 @@ keywords: - keyvault - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-machine-learning-services/config.yml b/quickstarts/azure/azure-machine-learning-services/config.yml index bf9c5733bb..8d2dc4ccf2 100644 --- a/quickstarts/azure/azure-machine-learning-services/config.yml +++ b/quickstarts/azure/azure-machine-learning-services/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-machine-learning-integration/) to learn more about New Relic monitoring for Azure Machine Learning Services. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-machine-learning-integration/) to learn more about New Relic monitoring for Azure Machine Learning Services. summary: Monitor Azure Machine Learning Services by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -28,7 +28,5 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-mariadb/config.yml b/quickstarts/azure/azure-mariadb/config.yml index 8394c07046..9ae1de829b 100644 --- a/quickstarts/azure/azure-mariadb/config.yml +++ b/quickstarts/azure/azure-mariadb/config.yml @@ -33,8 +33,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-mysql/config.yml b/quickstarts/azure/azure-mysql/config.yml index 10add42d10..2d1bf5cbc8 100644 --- a/quickstarts/azure/azure-mysql/config.yml +++ b/quickstarts/azure/azure-mysql/config.yml @@ -8,7 +8,7 @@ description: |- ### New Relic + Azure integration - The New Relic Azure MySQL monitoring quickstart instruments your cloud service and manages the stability, scalability, and reliability of Azure MySQL with our infrastructure monitoring capabilities. + The New Relic Azure MySQL monitoring quickstart instruments your cloud service and manages the stability, scalability, and reliability of Azure MySQL with our infrastructure monitoring capabilities. Once instrumented, we proactively track your organization’s Azure MySQL metric data in real-time. @@ -18,7 +18,7 @@ description: |- With our [Azure integration](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-database-mysql-monitoring-integration/), you can view the Azure database for mysql data in pre-built dashboards, create your own alert conditions, and run custom queries for easy data visualization. - If you’re looking to optimize your mysql database with high availability, elastic scaling, and more, install our quickstart. + If you’re looking to optimize your mysql database with high availability, elastic scaling, and more, install our quickstart. summary: Monitoring Azure MySQL is crucial to track your organization’s Azure MySQL metric data in real-time. Download the New Relic quickstart to proactively instrument Azure MySQL with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -36,8 +36,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-postgresql/config.yml b/quickstarts/azure/azure-postgresql/config.yml index 9e3fa1814b..5e84ae54f5 100644 --- a/quickstarts/azure/azure-postgresql/config.yml +++ b/quickstarts/azure/azure-postgresql/config.yml @@ -33,8 +33,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml b/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml index 8843c21404..e0b114cbd8 100644 --- a/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml +++ b/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-power-bi-dedicated-capacities-monitoring-integration/) to learn more about New Relic monitoring for Azure Power BI Dedicated capacities. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-power-bi-dedicated-capacities-monitoring-integration/) to learn more about New Relic monitoring for Azure Power BI Dedicated capacities. summary: Monitor Azure Power BI Dedicated capacities by connecting Azure to New Relic icon: logo.png level: New Relic @@ -29,7 +29,5 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-service-bus/config.yml b/quickstarts/azure/azure-service-bus/config.yml index ce5ed0ecf5..90bc1d5441 100644 --- a/quickstarts/azure/azure-service-bus/config.yml +++ b/quickstarts/azure/azure-service-bus/config.yml @@ -32,7 +32,5 @@ keywords: - messaging - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-storage/config.yml b/quickstarts/azure/azure-storage/config.yml index 7b9c59c878..c30183c8ef 100644 --- a/quickstarts/azure/azure-storage/config.yml +++ b/quickstarts/azure/azure-storage/config.yml @@ -3,7 +3,7 @@ slug: azure-storage description: |- ## What is Azure Storage? - Azure Storage is Microsoft’s cloud storage solution that offers highly available, scalable, secure, and durable storage for different data objects in the cloud. + Azure Storage is Microsoft’s cloud storage solution that offers highly available, scalable, secure, and durable storage for different data objects in the cloud. ### New Relic Azure storage quickstart features @@ -17,11 +17,11 @@ description: |- ### Why monitor Azure Storage with New Relic? - [New Relic Azure Storage](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-storage-monitoring-integration/) monitoring quickstart empowers you to track the performance of Azure Storage via different metrics including account used capacity, the amount of ingress and egress data, and latency. + [New Relic Azure Storage](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-storage-monitoring-integration/) monitoring quickstart empowers you to track the performance of Azure Storage via different metrics including account used capacity, the amount of ingress and egress data, and latency. Our integration features a standard dashboard that provides interactive visualizations to explore your data, understand context, and get valuable insights. We’ve also made it easy for you to view your data in pre-built dashboards, create specialized alerts, and run custom queries with immediate data visualization. - Start ingesting your Azure data today and get immediate access to our visualization dashboards so you can optimize your Azure service. + Start ingesting your Azure data today and get immediate access to our visualization dashboards so you can optimize your Azure service. summary: Monitoring Azure Storage is critical to track the performance of the storage via key metrics. Download New Relic Azure Storage monitoring quickstart to proactively instrument Azure Storage with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -39,8 +39,6 @@ keywords: - storage - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-virtual-machines/config.yml b/quickstarts/azure/azure-virtual-machines/config.yml index 8434a78b0a..79a6b0b020 100644 --- a/quickstarts/azure/azure-virtual-machines/config.yml +++ b/quickstarts/azure/azure-virtual-machines/config.yml @@ -28,8 +28,6 @@ keywords: - virtual machines - NR1_addData - NR1_sys -installPlans: - - third-party-azure-virtual-machines dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-virtual-network/config.yml b/quickstarts/azure/azure-virtual-network/config.yml index 2db4390bbb..0b2659af39 100644 --- a/quickstarts/azure/azure-virtual-network/config.yml +++ b/quickstarts/azure/azure-virtual-network/config.yml @@ -2,7 +2,7 @@ id: f812a124-5443-4451-94d3-32b54c109555 slug: azure-virtual-network description: | ## What is Azure Virtual Network? - Azure Virtual Network (VNet) provides the means for Azure cloud resources such as virtual machines to securely communicate with each other as well as the rest of the internet and on-premises resources. Using VNet to create a private network gives you control over network filtering, routing, and other key pieces of the network infrastructure. + Azure Virtual Network (VNet) provides the means for Azure cloud resources such as virtual machines to securely communicate with each other as well as the rest of the internet and on-premises resources. Using VNet to create a private network gives you control over network filtering, routing, and other key pieces of the network infrastructure. Given an Azure virtual network, you can do things like assign a public IP, assign a load balancer, and handle outbound connections. VNets are ideal for developers deploying on Azure resources who want fine-grained control over network management. ### New Relic Azure Vnet integration @@ -14,7 +14,7 @@ description: | - Virtual network per resource group: Shows the number of virtual networks deployed within each resource group ### Why monitor Azure Virtual Network with New Relic? - Having insight into Azure virtual network performance is key to keeping network systems healthy and reliable. Virtual networks are often vulnerable to attack, so continuous monitoring of IP requests and understanding which IPs may be experiencing a distributed denial of service (DDOS) attack can be critical for initiating a proactive response. + Having insight into Azure virtual network performance is key to keeping network systems healthy and reliable. Virtual networks are often vulnerable to attack, so continuous monitoring of IP requests and understanding which IPs may be experiencing a distributed denial of service (DDOS) attack can be critical for initiating a proactive response. The virtual network time series display can give insight into fluctuations in network health and uptime within a specified interval and can be useful for drilling down into any deviations from the norm. Finally, being able to understand how virtual networks are distributed across geographic regions can help you pinpoint when a particular region is being underserved and deploy network resources accordingly. summary: | @@ -34,8 +34,6 @@ keywords: - networking - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-vms/config.yml b/quickstarts/azure/azure-vms/config.yml index cf1136af31..77148c88b5 100644 --- a/quickstarts/azure/azure-vms/config.yml +++ b/quickstarts/azure/azure-vms/config.yml @@ -31,8 +31,6 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/battlesnake/config.yml b/quickstarts/battlesnake/config.yml index 23626acdaf..c5c5f34808 100644 --- a/quickstarts/battlesnake/config.yml +++ b/quickstarts/battlesnake/config.yml @@ -14,8 +14,6 @@ authors: - New Relic - Zack Stickles (New Relic) - Alec Swanson (New Relic) -installPlans: - - battlesnake dataSourceIds: - battlesnake documentation: @@ -36,4 +34,3 @@ dashboards: - battlesnake-game-tracking - battlesnake-performance - battlesnake-server-status - diff --git a/quickstarts/biztalk360/config.yml b/quickstarts/biztalk360/config.yml index b86230d0af..6006104076 100644 --- a/quickstarts/biztalk360/config.yml +++ b/quickstarts/biztalk360/config.yml @@ -2,7 +2,7 @@ id: 95e5a505-7373-4980-9ce8-e6165930063e slug: biztalk360 title: BizTalk360 description: | - ## What's BizTalk360? + ## What's BizTalk360? BizTalk360 is a one-stop tool for administration, monitoring and application performance management (APM) of BizTalk environments. To be able to use the integration with New Relic from BizTalk360, you must have : @@ -10,8 +10,8 @@ description: | - BizTalk360 Platinum license . - You must be a Super User in your BizTalk360 application to configure the New Relic environment in BizTalk360 - Below are some of the important performance metrics you can see in your Newrelic dashboard. - + Below are some of the important performance metrics you can see in your Newrelic dashboard. + - BizTalk and SQL Server Health - CPU Usage - Memory Usage @@ -52,8 +52,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-biztalk360 dataSourceIds: - third-party-biztalk360 documentation: diff --git a/quickstarts/blameless/config.yml b/quickstarts/blameless/config.yml index 0d661e67bc..921fb85f5f 100644 --- a/quickstarts/blameless/config.yml +++ b/quickstarts/blameless/config.yml @@ -11,8 +11,6 @@ level: Community authors: - Blameless title: Blameless -installPlans: - - third-party-blameless dataSourceIds: - blameless documentation: diff --git a/quickstarts/blazor-webassembly/config.yml b/quickstarts/blazor-webassembly/config.yml index 516fa1ea2a..4c93698f80 100644 --- a/quickstarts/blazor-webassembly/config.yml +++ b/quickstarts/blazor-webassembly/config.yml @@ -19,7 +19,7 @@ description: | ## What’s included? Get these Blazor WebAssembly monitoring features out of the box: - - Understand the health of your system with dashboards that show throughput and error rate data, logs, web transaction time, page views, page load time, and more. + - Understand the health of your system with dashboards that show throughput and error rate data, logs, web transaction time, page views, page load time, and more. - Get alerts when your application suffers critical failures and errors. - Monitor scripts and functions. - Monitor web transactions. @@ -33,7 +33,7 @@ title: Blazor WebAssembly documentation: - name: Blazor WebAssembly installation docs description: | - Our Browser Monitoring agent can be used to instrument and monitor your Blazor WebAssembly application. Perform an immediate analysis of your performance statistics. + Our Browser Monitoring agent can be used to instrument and monitor your Blazor WebAssembly application. Perform an immediate analysis of your performance statistics. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/browser-monitoring-integrations/blazor-webassembly/ keywords: - blazor web assembly @@ -43,8 +43,6 @@ keywords: - blazor webassembly - NR1_addData - NR1_sys -installPlans: - - blazor-webassembly dataSourceIds: - blazor-webassembly dashboards: diff --git a/quickstarts/browser-segment-investigation/config.yml b/quickstarts/browser-segment-investigation/config.yml index b60b68ba6e..25e79c3c1d 100644 --- a/quickstarts/browser-segment-investigation/config.yml +++ b/quickstarts/browser-segment-investigation/config.yml @@ -19,8 +19,6 @@ documentation: - name: Usage instructions url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide#validate-browser-url-grouping description: The _Validate Browser URL grouping_ section of Quality foundation explains how to use the segment investigation dashboard as well as resolve any crushed URLs you might find. -installPlans: - - third-party-browser-segment-investigation dataSourceIds: - browser-segment-investigation icon: logo.svg diff --git a/quickstarts/browser/config.yml b/quickstarts/browser/config.yml index aa13aed363..083abd7d60 100644 --- a/quickstarts/browser/config.yml +++ b/quickstarts/browser/config.yml @@ -28,8 +28,6 @@ documentation: - name: Browser description: With New Relic One's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ -installPlans: - - browser-docs dataSourceIds: - new-relic-browser keywords: @@ -45,4 +43,4 @@ dashboards: - javascript-errors - traffic-analysis alertPolicies: - - browser \ No newline at end of file + - browser diff --git a/quickstarts/c/config.yml b/quickstarts/c/config.yml index 0ece688f0b..677b58d2c1 100644 --- a/quickstarts/c/config.yml +++ b/quickstarts/c/config.yml @@ -29,8 +29,6 @@ documentation: keywords: - apm - language agent -installPlans: - - setup-c-agent dataSourceIds: - c dashboards: diff --git a/quickstarts/calico/config.yml b/quickstarts/calico/config.yml index 6036b2cae3..59bb0fe8c1 100644 --- a/quickstarts/calico/config.yml +++ b/quickstarts/calico/config.yml @@ -17,9 +17,6 @@ keywords: - prometheus - remote-write - cni -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/cassandra/config.yml b/quickstarts/cassandra/config.yml index 04965c1fb6..a1c428646b 100644 --- a/quickstarts/cassandra/config.yml +++ b/quickstarts/cassandra/config.yml @@ -8,15 +8,15 @@ description: | ### Cassandra quickstart highlights The New Relic Cassandra quickstart automatically instruments your database and includes pre-built dashboards visualizing: - - client request rates + - client request rates - average pending pool tasks - - active request pool tasks + - active request pool tasks - active and pending read tasks by node - write/read latency ### New Relic + Cassandra - Your tool for better monitoring - Monitor all Cassandra key performance indicators with the [New Relic Cassandra integration](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/). This gives you insights on client request rates, average pending and active request pool tasks, active and pending read tasks by node, write latency, read latency, etc. + Monitor all Cassandra key performance indicators with the [New Relic Cassandra integration](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/). This gives you insights on client request rates, average pending and active request pool tasks, active and pending read tasks by node, write latency, read latency, etc. The Cassandra integration sends performance metrics and inventory data from your Cassandra database to the New Relic platform. On the platform, you can view pre-built dashboards of your Cassandra metric data, create alert policies, query data for troubleshooting purposes, and create charts. @@ -36,8 +36,6 @@ documentation: description: | Open-source NoSQL database management platform built for large datasets. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/ -installPlans: - - cassandra-integration dataSourceIds: - cassandra keywords: diff --git a/quickstarts/catchpoint/config.yml b/quickstarts/catchpoint/config.yml index 55a5643c6e..27730e8805 100644 --- a/quickstarts/catchpoint/config.yml +++ b/quickstarts/catchpoint/config.yml @@ -31,8 +31,6 @@ documentation: description: A repository to help get you started setting up your New Relic & Catchpoint integration. icon: logo.svg website: https://www.newrelic.com -installPlans: - - third-party-catchpoint-quickstart dataSourceIds: - catchpoint-quickstart dashboards: diff --git a/quickstarts/centos/config.yml b/quickstarts/centos/config.yml index 03ea23813a..0a3ae6fe4d 100644 --- a/quickstarts/centos/config.yml +++ b/quickstarts/centos/config.yml @@ -22,7 +22,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/circleci/config.yml b/quickstarts/circleci/config.yml index f390d97878..314073adff 100644 --- a/quickstarts/circleci/config.yml +++ b/quickstarts/circleci/config.yml @@ -6,7 +6,7 @@ description: |+ The world’s best software teams use CircleCI to deliver quality code with confidence. As the largest continuous integration and delivery (CI/CD) platform, CircleCI empowers engineers to seamlessly take ideas to execution, at scale. Every feature of our platform is built to fine-tune the entire development process from start to finish. - This quickstart allows users to view analytical data about their CircleCI jobs within the New Relic dashboard to gain visibility into the performance and health of their continuous integration and deployment pipelines. + This quickstart allows users to view analytical data about their CircleCI jobs within the New Relic dashboard to gain visibility into the performance and health of their continuous integration and deployment pipelines. ### With the CircleCI quickstart you can: @@ -41,8 +41,6 @@ keywords: - logs - NR1_addData - NR1_sys -installPlans: - - third-party-circleci dataSourceIds: - circleci documentation: diff --git a/quickstarts/cloudflare/config.yml b/quickstarts/cloudflare/config.yml index 007ad6862a..fdb1041bb0 100644 --- a/quickstarts/cloudflare/config.yml +++ b/quickstarts/cloudflare/config.yml @@ -27,8 +27,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-cloudflare dataSourceIds: - cloudflare documentation: diff --git a/quickstarts/cockroach-db/config.yml b/quickstarts/cockroach-db/config.yml index 84f00e7da4..620de44e41 100644 --- a/quickstarts/cockroach-db/config.yml +++ b/quickstarts/cockroach-db/config.yml @@ -20,9 +20,6 @@ keywords: - prometheus - remote-write - sql -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/confluent-cloud/config.yml b/quickstarts/confluent-cloud/config.yml index 956e0065db..11684121a0 100644 --- a/quickstarts/confluent-cloud/config.yml +++ b/quickstarts/confluent-cloud/config.yml @@ -36,8 +36,6 @@ keywords: - Kafka - newrelic partner - featured -installPlans: - - third-party-confluent-cloud dataSourceIds: - confluent-cloud dashboards: diff --git a/quickstarts/consul/config.yml b/quickstarts/consul/config.yml index dd6e4b9f42..d911ff4aba 100644 --- a/quickstarts/consul/config.yml +++ b/quickstarts/consul/config.yml @@ -17,8 +17,6 @@ documentation: description: | Connect your disparate services and platforms in a multi-cloud environment. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/hashicorp-consul-monitoring-integration/ -installPlans: - - hashicorp-consul-integration dataSourceIds: - consul keywords: diff --git a/quickstarts/contentsquare/config.yml b/quickstarts/contentsquare/config.yml index 8648e50d75..b849f3a5d0 100644 --- a/quickstarts/contentsquare/config.yml +++ b/quickstarts/contentsquare/config.yml @@ -2,37 +2,37 @@ id: 875f2e3d-7c1b-436b-ab77-602090de1134 slug: contentsquare title: Contentsquare summary: | - Contentsquare is a powerful, yet easy-to-use, digital experience analytics platform that collects and quantifies user behavior across all your digital properties showing you what users like, what they don’t like, where they struggle, and why they leave. + Contentsquare is a powerful, yet easy-to-use, digital experience analytics platform that collects and quantifies user behavior across all your digital properties showing you what users like, what they don’t like, where they struggle, and why they leave. description: | ## Contentsquare performance monitoring Contentsquare surfaces opportunities to improve your customer experience automatically and easily so you can increase your conversion rates, improve customer loyalty, reduce costs and drive revenue. - + Get more value from your investments in Contentsquare and New Relic by seeing - how performance issues truly affect your customers’ digital experience. - + how performance issues truly affect your customers’ digital experience. + ### What's included? Through this integration, access Contentsquare Session Replay links directly - within New Relic. With this, Contentsquare shows you exactly what a user was - doing before, during, and after an issue occurs, so that you can remediate - issues quickly and with the complete picture. Dramatically reduce the - time-to-repair of system errors by linking to your impacted users' exact + within New Relic. With this, Contentsquare shows you exactly what a user was + doing before, during, and after an issue occurs, so that you can remediate + issues quickly and with the complete picture. Dramatically reduce the + time-to-repair of system errors by linking to your impacted users' exact session replays. - **Reduce time-to-recovery** - By integrating Contentsquare with your New Relic, you can provide your - engineering team with all of the necessary technical and behavioral data - needed to identify the root cause of an issue without having to spend cycles + By integrating Contentsquare with your New Relic, you can provide your + engineering team with all of the necessary technical and behavioral data + needed to identify the root cause of an issue without having to spend cycles trying to recreate the issue. - **Reduce time-to-recovery** - Combine the technical data from New Relic with the behavioral data surfaced + Combine the technical data from New Relic with the behavioral data surfaced from Contentsquare to uncover and prioritize the issues that have the greatest impact on your revenue and customer experience metrics. level: Community @@ -43,15 +43,13 @@ keywords: - Customer Experience - Digital Experience - User Experience -installPlans: - - third-party-contentsquare dataSourceIds: - contentsquare documentation: - name: Installation Doc url: https://uxanalyser.zendesk.com/hc/en-gb/articles/4408893503122-New-Relic description: | - See how to install this integration and the data exchanged between New + See how to install this integration and the data exchanged between New Relic ancd Contentsquare. - name: Partnership Page url: https://partners.contentsquare.com/technology-partners/new-relic diff --git a/quickstarts/cordova/config.yml b/quickstarts/cordova/config.yml index 3313901b18..d03776ac22 100644 --- a/quickstarts/cordova/config.yml +++ b/quickstarts/cordova/config.yml @@ -15,8 +15,6 @@ level: New Relic authors: - New Relic title: Cordova -installPlans: - - third-party-cordova dataSourceIds: - cordova documentation: diff --git a/quickstarts/core-web-vitals/config.yml b/quickstarts/core-web-vitals/config.yml index 045d5ccae3..82209c83ce 100644 --- a/quickstarts/core-web-vitals/config.yml +++ b/quickstarts/core-web-vitals/config.yml @@ -8,13 +8,13 @@ summary: >- description: | ## Monitor Core Web Vitals and Improve User Experience - Core web vitals are Google’s metrics to gauge overall user experience of your site, which can influence your site’s SEO rankings and give you valuable insight into how users perceive your business. - + Core web vitals are Google’s metrics to gauge overall user experience of your site, which can influence your site’s SEO rankings and give you valuable insight into how users perceive your business. + This is why it’s important to monitor your site’s core web vitals and take action on low scores - and New Relic can help you do that! This quickstart includes a dashboard that displays the performance of your Core Web Vitals to help you troubleshoot. - + Benefits of understanding Core Web Vitals: - + 1. **Improved User Experience:** Core Web Vitals are key performance metrics that can impact the user experience of a website. By monitoring these metrics with the New Relic Browser agent, you can identify and address issues that may be negatively affecting user experience, such as slow page load times, high input latency, or unexpected layout shifts. 2. **Better Search Engine Optimization:** Google has announced that Core Web Vitals will be used as a ranking factor in search results starting in May 2021. By monitoring and optimizing for these metrics using New Relic's Browser agent, you can improve your website's search engine visibility and attract more traffic to your site. @@ -32,8 +32,6 @@ documentation: description: >- With New Relic's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ -installPlans: - - browser-docs dataSourceIds: - new-relic-browser @@ -53,4 +51,3 @@ dashboards: # Authors of the quickstart (required) authors: - Darren Doyle - diff --git a/quickstarts/coredns/config.yml b/quickstarts/coredns/config.yml index 8bed306f80..24491492df 100644 --- a/quickstarts/coredns/config.yml +++ b/quickstarts/coredns/config.yml @@ -34,9 +34,6 @@ documentation: Learn more about the Prometheus metrics available for CoreDNS alertPolicies: - coredns -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/couchbase/config.yml b/quickstarts/couchbase/config.yml index 55cb04e075..357a6e66b7 100644 --- a/quickstarts/couchbase/config.yml +++ b/quickstarts/couchbase/config.yml @@ -23,8 +23,6 @@ documentation: description: | Couchbase is an open-source, distributed multi-model NoSQL document-oriented database software package. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/couchbase-monitoring-integration/ -installPlans: - - couchbase-integration dataSourceIds: - couchbase keywords: diff --git a/quickstarts/cribl-logstream/config.yml b/quickstarts/cribl-logstream/config.yml index 1bf458c0bd..0d8892e36c 100644 --- a/quickstarts/cribl-logstream/config.yml +++ b/quickstarts/cribl-logstream/config.yml @@ -4,7 +4,7 @@ title: Cribl description: | ## About Cribl - Cribl Stream unlocks [data sources](https://docs.cribl.io/stream/sources), including metrics, events, and logs, in an observability pipeline. + Cribl Stream unlocks [data sources](https://docs.cribl.io/stream/sources), including metrics, events, and logs, in an observability pipeline. Deploying this quickstart will allow you to add context to your data, by enriching it with information from external data sources, help secure your data, by redacting, obfuscating, or encrypting sensitive fields, and optimize your data, per your performance and cost requirements. @@ -43,8 +43,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-cribl-stream dataSourceIds: - cribl documentation: diff --git a/quickstarts/dapr/config.yml b/quickstarts/dapr/config.yml index f5c68bdc88..eecdf69e8b 100644 --- a/quickstarts/dapr/config.yml +++ b/quickstarts/dapr/config.yml @@ -16,8 +16,6 @@ keywords: dashboards: - dapr-metrics - dapr-system-services -installPlans: - - third-party-dapr dataSourceIds: - dapr documentation: diff --git a/quickstarts/databricks/config.yml b/quickstarts/databricks/config.yml index ccf552078f..3d73695f1b 100644 --- a/quickstarts/databricks/config.yml +++ b/quickstarts/databricks/config.yml @@ -27,8 +27,6 @@ documentation: description: | Databricks notebook to create init script to be used during initialization of Databricks cluster url: https://github.com/newrelic-experimental/nri-spark#databricks-init-script-creator-notebook -installPlans: - - third-party-databricks dataSourceIds: - databricks dashboards: diff --git a/quickstarts/datastream2-akamai/config.yml b/quickstarts/datastream2-akamai/config.yml index 7c53502306..415beeeff4 100644 --- a/quickstarts/datastream2-akamai/config.yml +++ b/quickstarts/datastream2-akamai/config.yml @@ -3,7 +3,7 @@ slug: datastream2 title: Akamai DataStream 2 description: |+ ## Akamai and DataStream 2 - + Akamai Technologies is a leading content delivery network (CDN), cybersecurity, and cloud service provider. [DataStream 2](https://techdocs.akamai.com/datastream2/docs) captures performance and security logs from your delivery properties and streams them in near real-time to provide complete monitoring. @@ -38,8 +38,6 @@ keywords: - featured - NR1_addData - NR1_sys -installPlans: - - third-party-datastream2-akamai dataSourceIds: - akamai documentation: diff --git a/quickstarts/datazoom/config.yml b/quickstarts/datazoom/config.yml index 1f768f7556..0033be65b1 100644 --- a/quickstarts/datazoom/config.yml +++ b/quickstarts/datazoom/config.yml @@ -19,8 +19,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-datazoom dataSourceIds: - datazoom documentation: diff --git a/quickstarts/dbmarlin/config.yml b/quickstarts/dbmarlin/config.yml index 0338d55b5c..f7ba7242c8 100644 --- a/quickstarts/dbmarlin/config.yml +++ b/quickstarts/dbmarlin/config.yml @@ -33,8 +33,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-dbmarlin dataSourceIds: - dbmarlin documentation: diff --git a/quickstarts/debian/config.yml b/quickstarts/debian/config.yml index f18964a40a..addb532e42 100644 --- a/quickstarts/debian/config.yml +++ b/quickstarts/debian/config.yml @@ -24,7 +24,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/deeper-network/config.yml b/quickstarts/deeper-network/config.yml index 2157dab048..920ed481ec 100644 --- a/quickstarts/deeper-network/config.yml +++ b/quickstarts/deeper-network/config.yml @@ -27,8 +27,6 @@ documentation: description: | A guide detailing how to configure and use the `deeper-cli` with New Relic. url: https://github.com/Kav91/deeper-connect-monitoring -installPlans: - - third-party-deeper-network dataSourceIds: - deeper-network keywords: diff --git a/quickstarts/delphix/config.yml b/quickstarts/delphix/config.yml index d7b9b391a1..91a65a97c1 100644 --- a/quickstarts/delphix/config.yml +++ b/quickstarts/delphix/config.yml @@ -4,19 +4,19 @@ title: Delphix description: | ### Summary - The Delphix quickstart for New Relic grants insights and observability of the Delphix Platform to administrators. Users may monitor various Delphix objects, such as dSources and VDBs, and trigger alerts on exceeded thresholds. + The Delphix quickstart for New Relic grants insights and observability of the Delphix Platform to administrators. Users may monitor various Delphix objects, such as dSources and VDBs, and trigger alerts on exceeded thresholds. In addition, when leveraging the Delphix integration, users can feed data into triggered New Relic workflows to command data-ready RCA environments through a [ServiceNow automated request](https://store.servicenow.com/sn_appstore_store.do#!/store/application/bb688f9f9734111012b7318c1253af11) or direct webhook. ### What's the value? - The Delphix Platform is a powerful test data management tool enabling the provisioning of RCA environments for mission-critical applications on demand. The quickstart allows Delphix administrators to monitor their usage, maintain high availability, and reduce the costs of forgotten virtual databases. + The Delphix Platform is a powerful test data management tool enabling the provisioning of RCA environments for mission-critical applications on demand. The quickstart allows Delphix administrators to monitor their usage, maintain high availability, and reduce the costs of forgotten virtual databases. Site Reliability Engineers rely on Delphix and New Relic to provide mission-critical application environments within minutes of an issue which eases investigation during stressful issues and helps achieve SLA times. Delphix can reduce provisioning times from days to minutes. ### What's inside? - The quickstart contains a sample Delphix Platform Dashboard and Storage Utilization Alert to help users get started. + The quickstart contains a sample Delphix Platform Dashboard and Storage Utilization Alert to help users get started. Populating data for dashboards, alerts, and workflows requires the [Delphix Integration](https://github.com/delphix/dct-newrelic-integration) and [Delphix Data Control Tower](https://dct.delphix.com/docs/latest). icon: logo.svg @@ -35,8 +35,6 @@ keywords: - sre - NR1_addData - NR1_sys -installPlans: - - third-party-delphix dataSourceIds: - delphix documentation: diff --git a/quickstarts/docker/config.yml b/quickstarts/docker/config.yml index 3465fa9348..0cf540ee84 100644 --- a/quickstarts/docker/config.yml +++ b/quickstarts/docker/config.yml @@ -9,7 +9,7 @@ description: | ### Why monitor Docker with New Relic? - New Relic's Docker monitoring quickstart empowers you to get a 360° visibility for your apps, server infrastructure, and Dockerized containers—all in one place. Since your team is likely charged with delivering high-quality software that yields a great customer experience, monitoring Docker is essential. It allows you to keep up that customer experience with your users remaining unaffected by any changes to platforms, tools, languages, or frameworks. + New Relic's Docker monitoring quickstart empowers you to get a 360° visibility for your apps, server infrastructure, and Dockerized containers—all in one place. Since your team is likely charged with delivering high-quality software that yields a great customer experience, monitoring Docker is essential. It allows you to keep up that customer experience with your users remaining unaffected by any changes to platforms, tools, languages, or frameworks. With our Docker monitoring integration, you can easily identify which container is running which app, and quickly solve any issues. Install the New Relic Docker quickstart today to get instant performance metrics for containerized applications across your entire environment. summary: | @@ -19,8 +19,6 @@ level: New Relic authors: - New Relic title: Docker -installPlans: - - third-party-docker dataSourceIds: - docker documentation: diff --git a/quickstarts/dotnet/ado-dotnet/config.yml b/quickstarts/dotnet/ado-dotnet/config.yml index ac123b4112..043ec83c61 100644 --- a/quickstarts/dotnet/ado-dotnet/config.yml +++ b/quickstarts/dotnet/ado-dotnet/config.yml @@ -7,7 +7,7 @@ description: | ## Common uses of ADO.net - You can utilize ADO.net to create reliable and scalable database apps for client- server applications, and work with several data sources. In addition, you can reduce the amount of code and level of maintenance needed for data-oriented applications by using the ADO.NET Entity Framework. + You can utilize ADO.net to create reliable and scalable database apps for client- server applications, and work with several data sources. In addition, you can reduce the amount of code and level of maintenance needed for data-oriented applications by using the ADO.NET Entity Framework. With ADO.NET DataReader, you can retrieve read-only and forward-only data from a database. @@ -16,7 +16,7 @@ description: | - fix inaccessible databases or issues with the network library. - solve your database and client software schema incompatibility. - fix problems that occur when different ADO.NET components interact with one another or your own components. - - debug incorrect SQL, whether hard-coded or created by an application. + - debug incorrect SQL, whether hard-coded or created by an application. - adjust flawed programming logic. ## What’s included in this quickstart? @@ -26,9 +26,9 @@ description: | - Dashboards (hard connects per second, hard disconnects per second, number of active connections, soft connects per second and more). - Alerts inform end users about the quality of their applications on a proactive basis. - Monitor web transactions. - + ### Comprehensive monitoring quickstart for ADO.net - + When you monitor ADO.NET with New Relic, you can observe your ADO.NET data set in real time. Our .NET agent will also let you correlate transactions moving across your application environment and troubleshoot while working in a live development environment. summary: | Discover how the ADO.NET quickstart gives you an advantage with comprehensive monitoring capabilities. @@ -50,8 +50,6 @@ keywords: - ado.net - ado-dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/asp-dotnet-mvc/config.yml b/quickstarts/dotnet/asp-dotnet-mvc/config.yml index d85dc935be..3f02064227 100644 --- a/quickstarts/dotnet/asp-dotnet-mvc/config.yml +++ b/quickstarts/dotnet/asp-dotnet-mvc/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/asp-dotnet-web-forms/config.yml b/quickstarts/dotnet/asp-dotnet-web-forms/config.yml index aa61392a43..f313ddd2f9 100644 --- a/quickstarts/dotnet/asp-dotnet-web-forms/config.yml +++ b/quickstarts/dotnet/asp-dotnet-web-forms/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/blazor-server/config.yml b/quickstarts/dotnet/blazor-server/config.yml index ee813da894..3171c792c6 100644 --- a/quickstarts/dotnet/blazor-server/config.yml +++ b/quickstarts/dotnet/blazor-server/config.yml @@ -4,23 +4,23 @@ description: | ## Comprehensive monitoring for Blazor Server Microsoft developed Blazor Server to build web UIs with C#, HTML, and CSS. As a feature of ASP.NET, our Blazor Server integration with the .NET agent lets you monitor your apps with our quickstart dashboards right out of the box. - Despite being an extremely innovative and exciting new technology, Blazor Server is a relatively new technology. That means there may be some issues that arise during development and deployment as with any new technology. + Despite being an extremely innovative and exciting new technology, Blazor Server is a relatively new technology. That means there may be some issues that arise during development and deployment as with any new technology. ## Why monitor your Blazor Server? - ### Optimize Performance: + ### Optimize Performance: Blazor Server apps rely on SignalR for real-time communication between the client and the server, which can result in slower performance compared to traditional client-side Blazor apps. - ### Improve Scalability: + ### Improve Scalability: Blazor Server apps may struggle with high levels of traffic, as each client connection requires a separate server-side connection. - ### Debug Quickly: + ### Debug Quickly: Debugging Blazor Server apps can be challenging, as the source of errors may be difficult to determine. - ### Optimize State Management: + ### Optimize State Management: Managing state in Blazor Server apps can be more complex than in traditional client-side Blazor apps, as state must be shared between the client and the server. - ### Lower Bandwidth Consumption: + ### Lower Bandwidth Consumption: Blazor Server apps may consume more bandwidth compared to traditional client-side Blazor apps, as data is constantly being sent back and forth between the client and the server. Unleash the power of C# for web development with Blazor Server. This innovative technology not only lets you use your preferred language, but also provides a plethora of useful features. Experience the freedom to run your code on either the server or the client with Blazor Server and tailor the user experience for each device. Embrace a new era of web development with Blazor Server. @@ -34,7 +34,7 @@ title: Blazor Server documentation: - name: Blazor Server installation docs description: | - Our .NET APM agent can be used to instrument and monitor your Blazor Server application. Perform an immediate analysis of your performance statistics. + Our .NET APM agent can be used to instrument and monitor your Blazor Server application. Perform an immediate analysis of your performance statistics. url: https://docs.newrelic.com/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#technologies keywords: - dotnet @@ -42,8 +42,6 @@ keywords: - blazor - blazor server - language agent -installPlans: - - blazor-server dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/csharp/config.yml b/quickstarts/dotnet/csharp/config.yml index 2f087b3840..08a7648f19 100644 --- a/quickstarts/dotnet/csharp/config.yml +++ b/quickstarts/dotnet/csharp/config.yml @@ -3,23 +3,23 @@ slug: c-sharp description: | ## C# performance monitoring With our C# integration, you can find and address performance bottlenecks while operating in a live development environment. Monitor your app via our dashboard quickstarts and ensure you're delivering the best user experience. - + ## Common C# performance errors Here are the common C# performance errors that you can handle with New Relic integration: - - **Memory management**: C# uses automatic memory management, which takes the burden of manual allocation from developers. However, C# can sometimes run into memory error thereby inhibiting its memory management performance. Our integration offers the best solution to fix that. - - **CPU usage**: New Relic’s high CPU utilization alert is the key to monitoring CPU usage to prevent any potential error. - - **Garbage collection**: Garbage Collector (GC) manages the allocation and release of memory for your application. When the memory is under distress, our C# integration will easily notify you via the memory usage alert. - - **High volume of requests**: Getting a high volume of requests can affect your app’s response time and reduce user satisfaction. With Apdex score, you can track requests and measure user satisfaction. - - **JIT compiler**: If JIT compiler fails to load, it may be due to an out-of-memory exception or internal limitation error. The pathway towards getting the insights you need is the New Relic C# integration. - + + **Memory management**: C# uses automatic memory management, which takes the burden of manual allocation from developers. However, C# can sometimes run into memory error thereby inhibiting its memory management performance. Our integration offers the best solution to fix that. + + **CPU usage**: New Relic’s high CPU utilization alert is the key to monitoring CPU usage to prevent any potential error. + + **Garbage collection**: Garbage Collector (GC) manages the allocation and release of memory for your application. When the memory is under distress, our C# integration will easily notify you via the memory usage alert. + + **High volume of requests**: Getting a high volume of requests can affect your app’s response time and reduce user satisfaction. With Apdex score, you can track requests and measure user satisfaction. + + **JIT compiler**: If JIT compiler fails to load, it may be due to an out-of-memory exception or internal limitation error. The pathway towards getting the insights you need is the New Relic C# integration. + ### C# monitoring use cases - + - Focus on the issues that affect your critical business transactions. - Resolve problems quickly. - Gain knowledge on your system's behavior in advance. @@ -29,20 +29,20 @@ description: | - Scalable error monitoring without affecting production flow. - Maintain low latency with fast throughput. - Get meaningful data about C# errors from your dashboard. - + ### End-to-end visibility into your C# operations Our C# dashboard translates your ingested data into a map that lets you trace business transactions across your C# stack. See your performance errors in context and prioritize your most critical operations. ## What’s included in this quickstart? - + New Relic's C# monitoring quickstart boasts instant full-stack observability out-of-the-box: - Dashboards (Throughput, Error rate, Logs, Web transaction time, Apdex Score and more). - Monitor scripts, functions, and web transactions. - High-value alerts. - - Code-related insights about your application’s health and status. + - Code-related insights about your application’s health and status. - Proactive alerts that inform developers about the status of their applications. summary: | Monitor your C# applications by tracking performance issues with a full end-to-end view of distributed traces. @@ -62,8 +62,6 @@ keywords: - dotnet - c# - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/csla-dotnet/config.yml b/quickstarts/dotnet/csla-dotnet/config.yml index a6753fe635..4297239484 100644 --- a/quickstarts/dotnet/csla-dotnet/config.yml +++ b/quickstarts/dotnet/csla-dotnet/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dnn-community/config.yml b/quickstarts/dotnet/dnn-community/config.yml index 5a98508da7..e1782a24d4 100644 --- a/quickstarts/dotnet/dnn-community/config.yml +++ b/quickstarts/dotnet/dnn-community/config.yml @@ -33,8 +33,6 @@ keywords: - cms - content management system - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dnn-evoq/config.yml b/quickstarts/dotnet/dnn-evoq/config.yml index baccd2e0f7..c32a5790f5 100644 --- a/quickstarts/dotnet/dnn-evoq/config.yml +++ b/quickstarts/dotnet/dnn-evoq/config.yml @@ -42,7 +42,5 @@ keywords: - cms - content management system - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet diff --git a/quickstarts/dotnet/dotnet-core/config.yml b/quickstarts/dotnet/dotnet-core/config.yml index a1ddf1c3e6..09c22ab1d0 100644 --- a/quickstarts/dotnet/dotnet-core/config.yml +++ b/quickstarts/dotnet/dotnet-core/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dotnet-mvc-web-api/config.yml b/quickstarts/dotnet/dotnet-mvc-web-api/config.yml index 0cb3396d48..aaae90d01b 100644 --- a/quickstarts/dotnet/dotnet-mvc-web-api/config.yml +++ b/quickstarts/dotnet/dotnet-mvc-web-api/config.yml @@ -27,8 +27,6 @@ documentation: Web application framework developed by Microsoft, which implements the model-view-controller pattern for building web applications. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/dotnet/config.yml b/quickstarts/dotnet/dotnet/config.yml index 5fdc25baf3..cb2d69f31d 100644 --- a/quickstarts/dotnet/dotnet/config.yml +++ b/quickstarts/dotnet/dotnet/config.yml @@ -47,8 +47,6 @@ keywords: - dotnet - language agent - most popular -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/episerver-cms/config.yml b/quickstarts/dotnet/episerver-cms/config.yml index 7cf74e41d0..77f9f07c86 100644 --- a/quickstarts/dotnet/episerver-cms/config.yml +++ b/quickstarts/dotnet/episerver-cms/config.yml @@ -15,7 +15,7 @@ description: | ### New Relic + Episerver CMS = Optimum performance monitoring Monitor your Episerver CMS performance with our .NET agent. The integration provides a high-level overview of Episerver CMS, giving you access to code-level details like transaction traces, database queries, and errors. Also, it empowers you to track activities across a large Episerver distributed system. - New Relic Episerver CMS quickstart gives you proactive notifications from alerts to respond quickly when your app stops running seamlessly. You can use the query builder to create custom dashboards from your data. + New Relic Episerver CMS quickstart gives you proactive notifications from alerts to respond quickly when your app stops running seamlessly. You can use the query builder to create custom dashboards from your data. Download New Relic Episerver CMS quickstart today to monitor Episerver CMS metrics in real-time. This quickstart is your gateway to instant monitoring of your Episerver CMS. summary: | Episerver offers full-service CMS with dedicated layers for commerce and marketing. Proactively monitor the performance of the app with New Relic’s Episerver CMS quickstart. @@ -34,8 +34,6 @@ keywords: - cms - content management system - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/fubumvc/config.yml b/quickstarts/dotnet/fubumvc/config.yml index 11a717fa80..06648da4b5 100644 --- a/quickstarts/dotnet/fubumvc/config.yml +++ b/quickstarts/dotnet/fubumvc/config.yml @@ -3,14 +3,14 @@ slug: fubumvc description: | ## New Relic + FubuMVC - New Relic’s monitoring quickstart for FubuMVC monitors the performance and reliability of FubuMVC applications. + New Relic’s monitoring quickstart for FubuMVC monitors the performance and reliability of FubuMVC applications. It includes visual dashboards which showcase real-time metrics of the FubuMVC stack, including: - Errors overview - VM overview - Latest error display - CPU utilization display - - Amount of memory heap used, and more. + - Amount of memory heap used, and more. The quickstart also includes alerts when certain metrics such as the Apdex score, memory usage, and number of transaction errors hit a critical threshold. ### Why monitor FubuMVC with New Relic? @@ -34,8 +34,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/iis/config.yml b/quickstarts/dotnet/iis/config.yml index 830e9ed901..c2be398e21 100644 --- a/quickstarts/dotnet/iis/config.yml +++ b/quickstarts/dotnet/iis/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for IIS. + Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for IIS. summary: Monitor IIS with New Relic's .NET agent icon: logo.svg level: New Relic @@ -28,8 +28,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/jayrock/config.yml b/quickstarts/dotnet/jayrock/config.yml index 6ca12998af..41028ac6b2 100644 --- a/quickstarts/dotnet/jayrock/config.yml +++ b/quickstarts/dotnet/jayrock/config.yml @@ -21,7 +21,5 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet diff --git a/quickstarts/dotnet/monorail/config.yml b/quickstarts/dotnet/monorail/config.yml index c31242da83..47cfb36a8f 100644 --- a/quickstarts/dotnet/monorail/config.yml +++ b/quickstarts/dotnet/monorail/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/msmq/config.yml b/quickstarts/dotnet/msmq/config.yml index 22f30fee78..7fb9256a78 100644 --- a/quickstarts/dotnet/msmq/config.yml +++ b/quickstarts/dotnet/msmq/config.yml @@ -32,8 +32,6 @@ keywords: - dotnet - queue - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/nancyfx/config.yml b/quickstarts/dotnet/nancyfx/config.yml index 33526484ae..3ca653a9e8 100644 --- a/quickstarts/dotnet/nancyfx/config.yml +++ b/quickstarts/dotnet/nancyfx/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/nservicebus/config.yml b/quickstarts/dotnet/nservicebus/config.yml index 5d49cd457c..fc245c9093 100644 --- a/quickstarts/dotnet/nservicebus/config.yml +++ b/quickstarts/dotnet/nservicebus/config.yml @@ -3,16 +3,16 @@ slug: nservicebus description: |- ## NService Bus - NServiceBus is a messaging system for service-oriented backend architectures. It is specifically designed for [.NET applications](https://newrelic.com/products/application-monitoring/NET), and it implements a Pub/Sub brokering system, along with many other features, that make handling service messaging simple and intuitive. However, backend architectures are complicated, with many interacting services and processes, so it is not unusual for messages to get dropped or corrupted in some way. + NServiceBus is a messaging system for service-oriented backend architectures. It is specifically designed for [.NET applications](https://newrelic.com/products/application-monitoring/NET), and it implements a Pub/Sub brokering system, along with many other features, that make handling service messaging simple and intuitive. However, backend architectures are complicated, with many interacting services and processes, so it is not unusual for messages to get dropped or corrupted in some way. The New Relic complete monitoring quickstart provides insight into all aspects of the NServiceBus application runtime, saving users from countless headaches that could arise when working with the system. ### New Relic NServiceBus quickstart features - The New Relic NServiceBus Quickstart comes packaged with numerous features that ensure the health of the NServiceBus application. They are broken down into two categories. + The New Relic NServiceBus Quickstart comes packaged with numerous features that ensure the health of the NServiceBus application. They are broken down into two categories. Dashboards, which provide visual insight into application performance, and Alerts, which notify developers when a potential issue arises within NServiceBus. - Dashboards include the following + Dashboards include the following - Transactions overview which gives an overview of all messaging transactions passing through NServiceBus - Errors overview documenting errors occurring within the system and their potential origins - VM overview which reports key VM utilization statistics such as memory and CPU usage @@ -27,9 +27,9 @@ description: |- ### New Relic - the ideal NServiceBus monitoring tool - New Relic’s quickstart provides the ultimate in NServiceBus monitoring solutions. Having continual insight into NServiceBus performance is key to ensuring that backend systems run smoothly with consistent uptime, as messaging is a huge point of failure for backend architectures. When messages are not transacted successfully, communication between backend services breaks down leaving the application unable to function successfully as a whole. + New Relic’s quickstart provides the ultimate in NServiceBus monitoring solutions. Having continual insight into NServiceBus performance is key to ensuring that backend systems run smoothly with consistent uptime, as messaging is a huge point of failure for backend architectures. When messages are not transacted successfully, communication between backend services breaks down leaving the application unable to function successfully as a whole. - By providing dashboard insight into the apdex score and commonly failed transactions, and alerts which notify the user prior to reaching critical thresholds, the New Relic quickstart allows weak points in the system to be identified immediately, before communication in the backend fails completely. + By providing dashboard insight into the apdex score and commonly failed transactions, and alerts which notify the user prior to reaching critical thresholds, the New Relic quickstart allows weak points in the system to be identified immediately, before communication in the backend fails completely. Similarly, proper management of the NServiceBus VM is critical to ensuring that the NServiceBus application itself doesn’t crash completely. The New Relic dashboards and alerts provide continual VM monitoring, allowing developers to make key decisions regarding throttling and other performance constraints when usage gets too high. summary: NServiceBus is a message brokering application for backends having many services. The New Relic quickstart helps developers to ensure that NServiceBus is always functioning properly, so that they maintain highly stable and fault tolerant backends. @@ -42,8 +42,6 @@ documentation: - name: NServiceBus installation docs description: NServiceBus is an implementation of a 'service bus' pattern for .NET. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/openrasta/config.yml b/quickstarts/dotnet/openrasta/config.yml index fdb6fa181c..712c4cef0b 100644 --- a/quickstarts/dotnet/openrasta/config.yml +++ b/quickstarts/dotnet/openrasta/config.yml @@ -27,8 +27,6 @@ documentation: OpenRasta is an open-source .NET framework for building everything web, from web sites to RESTful APIs. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/restsharp/config.yml b/quickstarts/dotnet/restsharp/config.yml index a62ca3cde8..d3cffbcbd0 100644 --- a/quickstarts/dotnet/restsharp/config.yml +++ b/quickstarts/dotnet/restsharp/config.yml @@ -14,7 +14,7 @@ description: | ### Why Monitor RestSharp with New Relic? - With application performance monitoring (APM), you will get a high-level overview of your RestSharp app, query data and track activities across the application. The New Relic RestSharp quickstart automatically instruments RestSharp with our .NET agent for a comprehensive monitoring of RestSharp. + With application performance monitoring (APM), you will get a high-level overview of your RestSharp app, query data and track activities across the application. The New Relic RestSharp quickstart automatically instruments RestSharp with our .NET agent for a comprehensive monitoring of RestSharp. Install the New Relic RestSharp quickstart today to proactively monitor RestSharp in real-time, detect issues quickly, and respond to them efficiently. The instant observability quickstart is the key to a seamless RestSharp monitoring. summary: | @@ -30,8 +30,6 @@ documentation: Popular REST API client library for .NET that features auto-serialization, request type detection, a variety of authentications, and more. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/servicestack/config.yml b/quickstarts/dotnet/servicestack/config.yml index 2a7928d5e3..267c1ac88e 100644 --- a/quickstarts/dotnet/servicestack/config.yml +++ b/quickstarts/dotnet/servicestack/config.yml @@ -27,8 +27,6 @@ documentation: Open-source framework designed to be an alternative to the WCF, ASP.NET MVC, and ASP.NET Web API frameworks. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/silverlight/config.yml b/quickstarts/dotnet/silverlight/config.yml index 158de71edd..393157e56e 100644 --- a/quickstarts/dotnet/silverlight/config.yml +++ b/quickstarts/dotnet/silverlight/config.yml @@ -27,8 +27,6 @@ documentation: Microsoft Silverlight is a deprecated application framework for writing and running rich Internet applications. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/springdotnet/config.yml b/quickstarts/dotnet/springdotnet/config.yml index e4619cc2a1..c0400814d8 100644 --- a/quickstarts/dotnet/springdotnet/config.yml +++ b/quickstarts/dotnet/springdotnet/config.yml @@ -27,8 +27,6 @@ documentation: Comprehensive infrastructural support for developing enterprise .NET applications; conceptually based on the Java Spring Framework. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/umbraco/config.yml b/quickstarts/dotnet/umbraco/config.yml index e808b5d713..a5ae01a16f 100644 --- a/quickstarts/dotnet/umbraco/config.yml +++ b/quickstarts/dotnet/umbraco/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for Umbraco. + Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for Umbraco. summary: Monitor Umbraco with New Relic's .NET agent icon: logo.svg level: New Relic @@ -22,8 +22,6 @@ documentation: - name: Umbraco installation docs description: Open source CMS for the web built in ASP.NET. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dropwizard/config.yml b/quickstarts/dropwizard/config.yml index 1b61926bd7..dc9e438985 100644 --- a/quickstarts/dropwizard/config.yml +++ b/quickstarts/dropwizard/config.yml @@ -15,8 +15,6 @@ level: New Relic authors: - New Relic title: Dropwizard -installPlans: - - third-party-dropwizard dataSourceIds: - dropwizard documentation: diff --git a/quickstarts/drupal/config.yml b/quickstarts/drupal/config.yml index 25996c3249..d97c80de07 100644 --- a/quickstarts/drupal/config.yml +++ b/quickstarts/drupal/config.yml @@ -27,8 +27,6 @@ documentation: Drupal is a free and open-source web content management framework written in PHP. url: https://docs.newrelic.com/docs/agents/php-agent/getting-started/php-agent-compatibility-requirements -installPlans: - - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/elasticsearch/config.yml b/quickstarts/elasticsearch/config.yml index 4550b54dcc..9c68b10660 100644 --- a/quickstarts/elasticsearch/config.yml +++ b/quickstarts/elasticsearch/config.yml @@ -17,8 +17,6 @@ documentation: description: | Multitenant-capable full-text RESTful search engine with an HTTP web interface and schema-free JSON documents. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/elasticsearch-monitoring-integration/ -installPlans: - - elasticsearch-integration dataSourceIds: - elasticsearch keywords: diff --git a/quickstarts/elixir/config.yml b/quickstarts/elixir/config.yml index 93c1769e9c..4be5748a37 100644 --- a/quickstarts/elixir/config.yml +++ b/quickstarts/elixir/config.yml @@ -23,9 +23,6 @@ keywords: - elixir - language agent -installPlans: - - setup-elixir-agent - dataSourceIds: - elixir diff --git a/quickstarts/etcd/config.yml b/quickstarts/etcd/config.yml index d2d1c1a8bb..c76e888b91 100644 --- a/quickstarts/etcd/config.yml +++ b/quickstarts/etcd/config.yml @@ -23,9 +23,6 @@ keywords: - prometheus - remote-write - featured -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/f5/config.yml b/quickstarts/f5/config.yml index 3b91987a4e..f99bea9366 100644 --- a/quickstarts/f5/config.yml +++ b/quickstarts/f5/config.yml @@ -25,8 +25,6 @@ keywords: - big-ip - big ip - load balancer -installPlans: - - third-party-f5 dataSourceIds: - f5 alertPolicies: @@ -36,7 +34,7 @@ dashboards: documentation: - name: F5 installation docs description: | - Set of application delivery products that work together to ensure + Set of application delivery products that work together to ensure high availability, improved performance, application security, and access control. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/f5-monitoring-integration/#install icon: logo.svg diff --git a/quickstarts/fastly/config.yml b/quickstarts/fastly/config.yml index 7f79dfa94a..101d0793b7 100644 --- a/quickstarts/fastly/config.yml +++ b/quickstarts/fastly/config.yml @@ -21,8 +21,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-fastly dataSourceIds: - fastly documentation: diff --git a/quickstarts/fluent-bit-plugin-for-logs/config.yml b/quickstarts/fluent-bit-plugin-for-logs/config.yml index dd840181cc..8be2989ed1 100644 --- a/quickstarts/fluent-bit-plugin-for-logs/config.yml +++ b/quickstarts/fluent-bit-plugin-for-logs/config.yml @@ -20,7 +20,5 @@ documentation: keywords: - logs - logging -installPlans: - - third-party-fluent-bit-plugin-for-logs dataSourceIds: - fluent-bit diff --git a/quickstarts/fluentd-plugin-for-logs/config.yml b/quickstarts/fluentd-plugin-for-logs/config.yml index b5732ace72..411711efd1 100644 --- a/quickstarts/fluentd-plugin-for-logs/config.yml +++ b/quickstarts/fluentd-plugin-for-logs/config.yml @@ -20,7 +20,5 @@ documentation: keywords: - logs - logging -installPlans: - - third-party-fluentd-plugin-for-logs dataSourceIds: - fluentd diff --git a/quickstarts/full-stack-observability/config.yml b/quickstarts/full-stack-observability/config.yml index 7c2670ef2c..7302d713cf 100644 --- a/quickstarts/full-stack-observability/config.yml +++ b/quickstarts/full-stack-observability/config.yml @@ -11,8 +11,6 @@ website: https://www.newrelic.com/ authors: - New Relic - Samuel Vandamme -installPlans: - - guided-install dataSourceIds: - guided-install keywords: @@ -24,4 +22,3 @@ documentation: - name: Guild installation documentation description: Monitor your Full Stack with New Relic. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/installation/new-relic-guided-install-overview/ - diff --git a/quickstarts/full-story/config.yml b/quickstarts/full-story/config.yml index b61a8b9370..a830d48cd1 100644 --- a/quickstarts/full-story/config.yml +++ b/quickstarts/full-story/config.yml @@ -9,8 +9,6 @@ summary: | icon: logo.png keywords: - newrelic partner -installPlans: - - third-party-full-story dataSourceIds: - full-story level: Community diff --git a/quickstarts/gatsby-build/config.yml b/quickstarts/gatsby-build/config.yml index b8b67aaa9c..6cd49eb898 100644 --- a/quickstarts/gatsby-build/config.yml +++ b/quickstarts/gatsby-build/config.yml @@ -2,7 +2,7 @@ id: d234c09c-3338-4713-8340-ca75766445d6 slug: gatsby-build title: Gatsby Build summary: | - The Gatsby quickstart allows you to get visibility into the build time of your Gatsby sites, using OpenTelemetry to collect each step as a span in a Distributed Trace. + The Gatsby quickstart allows you to get visibility into the build time of your Gatsby sites, using OpenTelemetry to collect each step as a span in a Distributed Trace. Monitor your build in real-time to highlight which steps are affecting performance, so you can improve them faster. description: | The Gatsby quickstart allows you to get visibility into the build time of your Gatsby Sites, @@ -13,8 +13,6 @@ icon: logo.png authors: - New Relic - Ruairi Douglas -installPlans: - - gatsby-build-newrelic dataSourceIds: - gatsby-build-newrelic documentation: diff --git a/quickstarts/gcp/apigee-api/config.yml b/quickstarts/gcp/apigee-api/config.yml index 163a3612bd..eb4f7e35ef 100644 --- a/quickstarts/gcp/apigee-api/config.yml +++ b/quickstarts/gcp/apigee-api/config.yml @@ -20,7 +20,5 @@ documentation: description: | Installation and configuration instructions url: https://github.com/newrelic-experimental/apigee-distributed-tracing -installPlans: - - third-party-apigee-api dataSourceIds: - apigee-api diff --git a/quickstarts/gcp/gcp-cloud-run/config.yml b/quickstarts/gcp/gcp-cloud-run/config.yml index 650e745cc4..2e597ab16c 100644 --- a/quickstarts/gcp/gcp-cloud-run/config.yml +++ b/quickstarts/gcp/gcp-cloud-run/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - containers -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-dataflow/config.yml b/quickstarts/gcp/gcp-dataflow/config.yml index 1c2d300bd1..5ccb3d196b 100644 --- a/quickstarts/gcp/gcp-dataflow/config.yml +++ b/quickstarts/gcp/gcp-dataflow/config.yml @@ -27,8 +27,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-dataproc/config.yml b/quickstarts/gcp/gcp-dataproc/config.yml index 98420e40ff..652866d9b6 100644 --- a/quickstarts/gcp/gcp-dataproc/config.yml +++ b/quickstarts/gcp/gcp-dataproc/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-datastore/config.yml b/quickstarts/gcp/gcp-datastore/config.yml index df9830a8de..0487039bb9 100644 --- a/quickstarts/gcp/gcp-datastore/config.yml +++ b/quickstarts/gcp/gcp-datastore/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-dedicated-interconnect/config.yml b/quickstarts/gcp/gcp-dedicated-interconnect/config.yml index dca63a356d..215255410d 100644 --- a/quickstarts/gcp/gcp-dedicated-interconnect/config.yml +++ b/quickstarts/gcp/gcp-dedicated-interconnect/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-firebase-database/config.yml b/quickstarts/gcp/gcp-firebase-database/config.yml index 9445b0e79a..4f6a68e494 100644 --- a/quickstarts/gcp/gcp-firebase-database/config.yml +++ b/quickstarts/gcp/gcp-firebase-database/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-firebase-hosting/config.yml b/quickstarts/gcp/gcp-firebase-hosting/config.yml index 9b3438ac63..98721cc4e6 100644 --- a/quickstarts/gcp/gcp-firebase-hosting/config.yml +++ b/quickstarts/gcp/gcp-firebase-hosting/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-firebase-storage/config.yml b/quickstarts/gcp/gcp-firebase-storage/config.yml index 0862978065..15fd597fb3 100644 --- a/quickstarts/gcp/gcp-firebase-storage/config.yml +++ b/quickstarts/gcp/gcp-firebase-storage/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-firestore/config.yml b/quickstarts/gcp/gcp-firestore/config.yml index e73319b3ac..b5119cf7d1 100644 --- a/quickstarts/gcp/gcp-firestore/config.yml +++ b/quickstarts/gcp/gcp-firestore/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-router/config.yml b/quickstarts/gcp/gcp-router/config.yml index f7bdcecf97..4a35b92aa1 100644 --- a/quickstarts/gcp/gcp-router/config.yml +++ b/quickstarts/gcp/gcp-router/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-vpc/config.yml b/quickstarts/gcp/gcp-vpc/config.yml index 09aac64e5f..b6f7531a33 100644 --- a/quickstarts/gcp/gcp-vpc/config.yml +++ b/quickstarts/gcp/gcp-vpc/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-app-engine/config.yml b/quickstarts/gcp/google-app-engine/config.yml index cba47f9f92..bbf34a4172 100644 --- a/quickstarts/gcp/google-app-engine/config.yml +++ b/quickstarts/gcp/google-app-engine/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-bigquery/config.yml b/quickstarts/gcp/google-bigquery/config.yml index fa678f2c52..c6b5c29727 100644 --- a/quickstarts/gcp/google-bigquery/config.yml +++ b/quickstarts/gcp/google-bigquery/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-functions/config.yml b/quickstarts/gcp/google-cloud-functions/config.yml index 530a7c67fe..934cb41eac 100644 --- a/quickstarts/gcp/google-cloud-functions/config.yml +++ b/quickstarts/gcp/google-cloud-functions/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - serverless -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-spanner-otel/config.yml b/quickstarts/gcp/google-cloud-spanner-otel/config.yml index 06ece872b9..8f3983234a 100644 --- a/quickstarts/gcp/google-cloud-spanner-otel/config.yml +++ b/quickstarts/gcp/google-cloud-spanner-otel/config.yml @@ -46,8 +46,6 @@ keywords: - otel - NR1_addData - NR1_sys -installPlans: - - cloud-spanner dataSourceIds: - cloud-spanner dashboards: diff --git a/quickstarts/gcp/google-cloud-spanner/config.yml b/quickstarts/gcp/google-cloud-spanner/config.yml index a335255ce8..0bb50bda04 100644 --- a/quickstarts/gcp/google-cloud-spanner/config.yml +++ b/quickstarts/gcp/google-cloud-spanner/config.yml @@ -33,7 +33,5 @@ keywords: - database dashboards: - gcp-spanner -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/google-cloud-sql/config.yml b/quickstarts/gcp/google-cloud-sql/config.yml index ca84adc4d5..02ce8b41e7 100644 --- a/quickstarts/gcp/google-cloud-sql/config.yml +++ b/quickstarts/gcp/google-cloud-sql/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-storage/config.yml b/quickstarts/gcp/google-cloud-storage/config.yml index fc9ae65c71..8c6f97e9c7 100644 --- a/quickstarts/gcp/google-cloud-storage/config.yml +++ b/quickstarts/gcp/google-cloud-storage/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - storage -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-compute-engine/config.yml b/quickstarts/gcp/google-compute-engine/config.yml index eba3c205ca..ec0b7c32f4 100644 --- a/quickstarts/gcp/google-compute-engine/config.yml +++ b/quickstarts/gcp/google-compute-engine/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/google-load-balancing/config.yml b/quickstarts/gcp/google-load-balancing/config.yml index ea84e9a85d..b4018b1b73 100644 --- a/quickstarts/gcp/google-load-balancing/config.yml +++ b/quickstarts/gcp/google-load-balancing/config.yml @@ -32,8 +32,6 @@ keywords: - google cloud platform - load balancer - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-pub-sub/config.yml b/quickstarts/gcp/google-pub-sub/config.yml index ccfbb55c38..7b390c69e6 100644 --- a/quickstarts/gcp/google-pub-sub/config.yml +++ b/quickstarts/gcp/google-pub-sub/config.yml @@ -28,8 +28,6 @@ keywords: - gcp - google cloud platform - queue -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gigamon-appinsights/config.yml b/quickstarts/gigamon-appinsights/config.yml index 8f98f2aa0d..413f19c0fe 100644 --- a/quickstarts/gigamon-appinsights/config.yml +++ b/quickstarts/gigamon-appinsights/config.yml @@ -1,14 +1,13 @@ id: 77af041f-de6c-45d1-9ac1-8d77d48ab9a9 - slug: gigamon-appinsights title: Gigamon Application Insights description: | ## Deep Application Visibility - Analytics tools are only as smart as the data they receive. Gigamon Application Metadata Intelligence empowers - New Relic with critical metadata attributes across thousands of business, consumer and IT applications and services. + Analytics tools are only as smart as the data they receive. Gigamon Application Metadata Intelligence empowers + New Relic with critical metadata attributes across thousands of business, consumer and IT applications and services. Get deep application visibility to rapidly pinpoint performance bottlenecks, quality issues and potential network security risks. summary: | @@ -41,8 +40,5 @@ icon: gigamon-appint.png dashboards: - gigamon-appinsights -installPlans: - - third-party-gigamon-appinsights - dataSourceIds: - gigamon-appinsights diff --git a/quickstarts/gigamon/config.yml b/quickstarts/gigamon/config.yml index aa7d6968e3..b9c0710d5b 100644 --- a/quickstarts/gigamon/config.yml +++ b/quickstarts/gigamon/config.yml @@ -18,8 +18,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-gigamon dataSourceIds: - gigamon-appinsights documentation: diff --git a/quickstarts/github/config.yml b/quickstarts/github/config.yml index 3f4b0b9808..74e66247ba 100644 --- a/quickstarts/github/config.yml +++ b/quickstarts/github/config.yml @@ -20,7 +20,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot) to learn more about New Relic ingestion for GitHub Dependabot. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot) to learn more about New Relic ingestion for GitHub Dependabot. summary: Ingest GitHub Dependabot events by connecting GitHub to New Relic level: New Relic @@ -35,8 +35,6 @@ documentation: - name: GitHub Dependabot integration installation docs description: Automatic integration for ingesting Dependabot vulnerabilities. url: https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot -installPlans: - - github-dependabot-install dataSourceIds: - dependabot icon: logo.png diff --git a/quickstarts/gitlab/config.yml b/quickstarts/gitlab/config.yml index aaa5663ce5..34fe79edf1 100644 --- a/quickstarts/gitlab/config.yml +++ b/quickstarts/gitlab/config.yml @@ -20,8 +20,6 @@ keywords: - pipelines dashboards: - gitlab -installPlans: - - third-party-gitlab-integration dataSourceIds: - gitlab-integration documentation: @@ -30,4 +28,3 @@ documentation: description: Monitor your Gitlab pipelines with New Relic, making it easier to get observability into your CI/CD pipeline health and performance. icon: logo.svg website: https://www.newrelic.com - diff --git a/quickstarts/glassbox/config.yml b/quickstarts/glassbox/config.yml index 1eb70159de..e384720343 100644 --- a/quickstarts/glassbox/config.yml +++ b/quickstarts/glassbox/config.yml @@ -21,8 +21,6 @@ keywords: - session replay - NR1_addData - NR1_sys -installPlans: - - third-party-glassbox dataSourceIds: - glassbox documentation: diff --git a/quickstarts/golang/echo/config.yml b/quickstarts/golang/echo/config.yml index c148a18d9e..c280bbc2ba 100644 --- a/quickstarts/golang/echo/config.yml +++ b/quickstarts/golang/echo/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Echo. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Echo. summary: Monitor Echo with New Relic's Golang agent icon: logo.svg level: New Relic @@ -25,8 +25,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/gin/config.yml b/quickstarts/golang/gin/config.yml index 3b6a739d04..5f3e21bffa 100644 --- a/quickstarts/golang/gin/config.yml +++ b/quickstarts/golang/gin/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Gin. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Gin. summary: Monitor Gin with New Relic's Golang agent icon: logo.png level: New Relic @@ -25,8 +25,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/golang/config.yml b/quickstarts/golang/golang/config.yml index c0fa6b0dde..9e062e574a 100644 --- a/quickstarts/golang/golang/config.yml +++ b/quickstarts/golang/golang/config.yml @@ -26,8 +26,6 @@ keywords: - apm - golang - language agent -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/httprouter/config.yml b/quickstarts/golang/httprouter/config.yml index 72e03de2dd..d53114444c 100644 --- a/quickstarts/golang/httprouter/config.yml +++ b/quickstarts/golang/httprouter/config.yml @@ -13,7 +13,7 @@ description: | ### New Relic and HTTPRouter features - Track Golang language apps and microservices with [New Relic’s HTTPRouter and Golang](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/introduction-new-relic-go/) monitoring quickstart, including throughput, transaction errors, and response times. + Track Golang language apps and microservices with [New Relic’s HTTPRouter and Golang](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/introduction-new-relic-go/) monitoring quickstart, including throughput, transaction errors, and response times. With a clear view into garbage collection behavior, memory usage, and CPU usage over time, your Golang development team can better understand your application’s runtime health. HTTPRouter infrastructure monitoring also provides a comprehensive view of host and server data. @@ -48,8 +48,6 @@ keywords: - golang - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/lambda-go/config.yml b/quickstarts/golang/lambda-go/config.yml index d114c679a8..118de57acd 100644 --- a/quickstarts/golang/lambda-go/config.yml +++ b/quickstarts/golang/lambda-go/config.yml @@ -33,8 +33,6 @@ keywords: - serverless - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/logrus/config.yml b/quickstarts/golang/logrus/config.yml index 5139d6b982..6eab4e98f2 100644 --- a/quickstarts/golang/logrus/config.yml +++ b/quickstarts/golang/logrus/config.yml @@ -34,8 +34,6 @@ keywords: - logging - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/logxi/config.yml b/quickstarts/golang/logxi/config.yml index 2bbf19b602..d4a1dbb6d9 100644 --- a/quickstarts/golang/logxi/config.yml +++ b/quickstarts/golang/logxi/config.yml @@ -34,8 +34,6 @@ keywords: - logging - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/micro/config.yml b/quickstarts/golang/micro/config.yml index 77e6458c5b..c4c2e9544f 100644 --- a/quickstarts/golang/micro/config.yml +++ b/quickstarts/golang/micro/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/mux/config.yml b/quickstarts/golang/mux/config.yml index 75536a4c38..8077435d78 100644 --- a/quickstarts/golang/mux/config.yml +++ b/quickstarts/golang/mux/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/nats/config.yml b/quickstarts/golang/nats/config.yml index 3ed86fb195..297e5b7852 100644 --- a/quickstarts/golang/nats/config.yml +++ b/quickstarts/golang/nats/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for NATS. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for NATS. summary: Monitor NATS with New Relic's Golang agent icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ keywords: - golang - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/pkg-errors/config.yml b/quickstarts/golang/pkg-errors/config.yml index e4ed92b5fd..2afab7a666 100644 --- a/quickstarts/golang/pkg-errors/config.yml +++ b/quickstarts/golang/pkg-errors/config.yml @@ -23,8 +23,6 @@ keywords: - golang - errors - pkg/errors -installPlans: - - setup-go-agent dataSourceIds: - golang documentation: diff --git a/quickstarts/golang/zap/config.yml b/quickstarts/golang/zap/config.yml index 59c72bed5d..89cd327b7c 100644 --- a/quickstarts/golang/zap/config.yml +++ b/quickstarts/golang/zap/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Zap. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Zap. summary: Monitor Zap with New Relic's Golang agent icon: logo.svg level: New Relic @@ -25,8 +25,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/grafana/grafana-dashboard-migration/config.yml b/quickstarts/grafana/grafana-dashboard-migration/config.yml index be18cd5d7e..12c16f3da2 100644 --- a/quickstarts/grafana/grafana-dashboard-migration/config.yml +++ b/quickstarts/grafana/grafana-dashboard-migration/config.yml @@ -24,8 +24,6 @@ documentation: - name: Convert Grafana Prometheus dashboards to New Relic dashboards. url: https://github.com/newrelic-experimental/nr-grafana-migration description: Toolset to help New Relic customers migrate from Grafana and Prometheus to New Relic. -installPlans: - - third-party-grafana-dashboard-migration dataSourceIds: - grafana-dashboard-migration icon: logo.png diff --git a/quickstarts/grafana/grafana-prometheus-integration/config.yml b/quickstarts/grafana/grafana-prometheus-integration/config.yml index ef0e90c344..a7ff0bc87d 100644 --- a/quickstarts/grafana/grafana-prometheus-integration/config.yml +++ b/quickstarts/grafana/grafana-prometheus-integration/config.yml @@ -13,8 +13,6 @@ keywords: - prometheus - NR1_addData - NR1_sys -installPlans: - - third-party-grafana-prometheus-integration dataSourceIds: - grafana-prometheus-integration documentation: diff --git a/quickstarts/haproxy/config.yml b/quickstarts/haproxy/config.yml index 56d25954b6..af4ec2ec54 100644 --- a/quickstarts/haproxy/config.yml +++ b/quickstarts/haproxy/config.yml @@ -6,14 +6,14 @@ description: | HAProxy monitoring helps maintain system performance and provides the visibility you need to identify and resolve the cause of errors and latency. When you monitor HAProxy in real-time, you can see the entire service topology of your data pipeline and applications in an HAProxy dashboard. - Keep track of TCP and HTTP-based applications powered by the highly available and stable TCP/HTTP load-balancing software and proxy solution. + Keep track of TCP and HTTP-based applications powered by the highly available and stable TCP/HTTP load-balancing software and proxy solution. ### New Relic HAProxy quickstart highlights [New Relic's HAProxy monitoring agent](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/haproxy-monitoring-integration/) tracks server capacity to ensure that it can handle all concurrent sessions. You can efficiently manage your resources and run applications optimally by keeping an eye on real-time HAProxy status and statistics. - New Relic's HAProxy monitoring quickstart has the following out-of-the-box features so you can monitor your frontend/server inventory and the health/availability of your backend servers: - - Alerts (latency and errors) + New Relic's HAProxy monitoring quickstart has the following out-of-the-box features so you can monitor your frontend/server inventory and the health/availability of your backend servers: + - Alerts (latency and errors) - Dashboards (bytes sent and received per second, frontend statuses, request errors per second, sessions per second, and active servers - same dashboards for both front and backend) ### New Relic - The complete HAProxy dashboard tool @@ -32,8 +32,6 @@ documentation: description: | Free, open-source software load balancer and proxy server for TCP and HTTP-based applications that spreads traffic across multiple servers. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/haproxy-monitoring-integration/ -installPlans: - - haproxy-integration dataSourceIds: - haproxy keywords: diff --git a/quickstarts/harbor/config.yml b/quickstarts/harbor/config.yml index 40916c8e5c..4f948bbbd1 100644 --- a/quickstarts/harbor/config.yml +++ b/quickstarts/harbor/config.yml @@ -36,9 +36,6 @@ documentation: url: https://goharbor.io/docs/2.3.0/administration/metrics/ description: | Learn more about the Prometheus metrics available for Harbor -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/hashicorp/hcp-consul/config.yml b/quickstarts/hashicorp/hcp-consul/config.yml index 60fa6f5be9..7ef2adfd42 100644 --- a/quickstarts/hashicorp/hcp-consul/config.yml +++ b/quickstarts/hashicorp/hcp-consul/config.yml @@ -3,7 +3,7 @@ slug: hcp-consul title: HCP Consul description: |- ## HCP Consul - HCP (Hashicorp Cloud Platform) Consul is a version of Consul in which the control plane is managed by HashiCorp Cloud Platform. + HCP (Hashicorp Cloud Platform) Consul is a version of Consul in which the control plane is managed by HashiCorp Cloud Platform. HCP Consul is a service mesh and service discovery solution provided by Hashicorp. It enables platform operators to quickly deploy a fully managed, secure-by-default service mesh, helping developers discover and securely connect any application on any runtime, including Kubernetes, Nomad, and Amazon ECS. @@ -40,8 +40,6 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/cloud-integrations/hcp-consul-monitoring description: HCP Consul configuration documentation icon: logo.svg -installPlans: - - third-party-hashicorp-hcp-consul dataSourceIds: - hcp-consul dashboards: diff --git a/quickstarts/hashicorp/hcp-vault/config.yml b/quickstarts/hashicorp/hcp-vault/config.yml index c64ab2ac77..e596ee8695 100644 --- a/quickstarts/hashicorp/hcp-vault/config.yml +++ b/quickstarts/hashicorp/hcp-vault/config.yml @@ -3,13 +3,13 @@ slug: hcp-vault title: HCP Vault description: |- ## HCP Vault - + Secure, store, and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets, and other sensitive data using a UI, CLI, or HTTP API. - + ### Monitor HCP Vault metrics with New Relic Metrics observability is essential for ensuring the performance and security of your HCP Vault cluster. It's also useful for business operations, like understanding client-related usage. - + ### HCP Vault integration highlights The HCP Vault integration with New Relic provides a pre-made dashboard with HCP Vault metrics and audit logs to get started easily. This dashboard provides visibility into the health of your HCP Vault environment. @@ -39,8 +39,6 @@ documentation: url: https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-audit-log-new-relic description: HCP Vault audit logs guide icon: logo.svg -installPlans: - - third-party-hcp-vault dataSourceIds: - hcp-vault-logs - hcp-vault-metrics diff --git a/quickstarts/heroku/config.yml b/quickstarts/heroku/config.yml index 487b289636..b81f10cf69 100644 --- a/quickstarts/heroku/config.yml +++ b/quickstarts/heroku/config.yml @@ -12,8 +12,6 @@ keywords: - logs - heroku - paas -installPlans: - - logs-heroku dataSourceIds: - heroku documentation: diff --git a/quickstarts/hivemq/config.yml b/quickstarts/hivemq/config.yml index 866a7fa27b..d51a258fdc 100644 --- a/quickstarts/hivemq/config.yml +++ b/quickstarts/hivemq/config.yml @@ -45,9 +45,6 @@ documentation: MQTT broker that makes it easy to move data to and from connected devices. url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/hivemq -installPlans: - - hivemq-integration-docs - dataSourceIds: - hivemq-integration-docs diff --git a/quickstarts/ibmmq/config.yml b/quickstarts/ibmmq/config.yml index 1888f24e64..b97858e88d 100644 --- a/quickstarts/ibmmq/config.yml +++ b/quickstarts/ibmmq/config.yml @@ -44,10 +44,7 @@ documentation: description: | Our IBM MQ integration collects and sends dimensional metrics from IBM MQ. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/ibmmq-monitoring-integration/ -installPlans: - - ibmmq-integration-docs dataSourceIds: - ibmmq-integration-docs dashboards: - ibmmq - diff --git a/quickstarts/infrastructure/config.yml b/quickstarts/infrastructure/config.yml index 2fac2efe8b..4216e08d8e 100644 --- a/quickstarts/infrastructure/config.yml +++ b/quickstarts/infrastructure/config.yml @@ -45,8 +45,6 @@ level: New Relic authors: - New Relic - Darren Doyle -installPlans: - - guided-install dataSourceIds: - guided-install keywords: @@ -57,4 +55,4 @@ dashboards: documentation: - name: Infrastructure installation documentation description: Monitor your Infrastructure with New Relic. - url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ \ No newline at end of file + url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ diff --git a/quickstarts/ios/config.yml b/quickstarts/ios/config.yml index 849216a784..a948b45df3 100644 --- a/quickstarts/ios/config.yml +++ b/quickstarts/ios/config.yml @@ -21,8 +21,6 @@ documentation: Default operating system for Apple mobile devices, including the iPhone and iPad. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/introduction-new-relic-mobile-ios -installPlans: - - ios-mobile dataSourceIds: - ios keywords: diff --git a/quickstarts/java/adobe-cq/config.yml b/quickstarts/java/adobe-cq/config.yml index 82b34d2328..6291c22b02 100644 --- a/quickstarts/java/adobe-cq/config.yml +++ b/quickstarts/java/adobe-cq/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Adobe CQ with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Adobe CQ with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,8 +27,6 @@ documentation: Java-based Content Management platform solution for building website, mobile apps and forms. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent -installPlans: - - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/akka/config.yml b/quickstarts/java/akka/config.yml index f2e2f9b549..317895e1e7 100644 --- a/quickstarts/java/akka/config.yml +++ b/quickstarts/java/akka/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Akka with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Akka with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/anorm/config.yml b/quickstarts/java/anorm/config.yml index 74602498a8..3705bc7724 100644 --- a/quickstarts/java/anorm/config.yml +++ b/quickstarts/java/anorm/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Anorm with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Anorm with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/asynchttpclient/config.yml b/quickstarts/java/asynchttpclient/config.yml index 800184e86a..b2320ec4f2 100644 --- a/quickstarts/java/asynchttpclient/config.yml +++ b/quickstarts/java/asynchttpclient/config.yml @@ -32,8 +32,6 @@ keywords: - http - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/camel/config.yml b/quickstarts/java/camel/config.yml index 038ef72d37..44f06f0908 100644 --- a/quickstarts/java/camel/config.yml +++ b/quickstarts/java/camel/config.yml @@ -6,7 +6,7 @@ description: | Camel is an Open Source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. - Camel empowers you to define routing and mediation rules in a variety of domain-specific languages (DSL, such as Java, XML, Groovy, Kotlin, and YAML). + Camel empowers you to define routing and mediation rules in a variety of domain-specific languages (DSL, such as Java, XML, Groovy, Kotlin, and YAML). This means you get smart completion of routing rules in your IDE, whether in a Java or XML editor. Apache Camel uses URIs to work directly with any kind of transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF, as well as pluggable Components and Data Format options. summary: | @@ -25,8 +25,6 @@ keywords: - language agent authors: - New Relic Labs -installPlans: - - third-party-camel dataSourceIds: - camel documentation: diff --git a/quickstarts/java/coldfusion/config.yml b/quickstarts/java/coldfusion/config.yml index a819462280..824fb6f4b6 100644 --- a/quickstarts/java/coldfusion/config.yml +++ b/quickstarts/java/coldfusion/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments ColdFusion with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments ColdFusion with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/cxf/config.yml b/quickstarts/java/cxf/config.yml index 97d2b8ca88..2bb1d347d5 100644 --- a/quickstarts/java/cxf/config.yml +++ b/quickstarts/java/cxf/config.yml @@ -26,8 +26,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/datastax-cassandra/config.yml b/quickstarts/java/datastax-cassandra/config.yml index 9481890938..908497c86c 100644 --- a/quickstarts/java/datastax-cassandra/config.yml +++ b/quickstarts/java/datastax-cassandra/config.yml @@ -16,7 +16,5 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java diff --git a/quickstarts/java/derby/config.yml b/quickstarts/java/derby/config.yml index 4024575895..94031b7917 100644 --- a/quickstarts/java/derby/config.yml +++ b/quickstarts/java/derby/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Derby with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Derby with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/ejb-session-beans/config.yml b/quickstarts/java/ejb-session-beans/config.yml index f33aa900c2..20f4a8bcac 100644 --- a/quickstarts/java/ejb-session-beans/config.yml +++ b/quickstarts/java/ejb-session-beans/config.yml @@ -7,7 +7,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments EJB session beans with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments EJB session beans with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -30,8 +30,6 @@ keywords: - apm - java - language agent -installPlans: - - third-party-ejb-session-beans dataSourceIds: - java dashboards: diff --git a/quickstarts/java/elasticsearch-query/config.yml b/quickstarts/java/elasticsearch-query/config.yml index 58aef2095e..c07674fe2c 100644 --- a/quickstarts/java/elasticsearch-query/config.yml +++ b/quickstarts/java/elasticsearch-query/config.yml @@ -9,7 +9,7 @@ description: | The elastic search query java agent extension enables monitoring of elasticsearch queries in a java application. Once deployed elasticsearch queries begin to show up in the New Relic UI under Databases section summary: | - Java agent extension to monitor elasticsearch queries as dataStore queries with New Relic. + Java agent extension to monitor elasticsearch queries as dataStore queries with New Relic. Once deployed elasticsearch queries begin to show up in the New Relic UI under Databases for the application using elasticsearch queries. icon: logo.svg level: Community @@ -23,8 +23,6 @@ keywords: - language agent authors: - New Relic Labs -installPlans: - - third-party-elasticsearch-query dataSourceIds: - elasticsearch-query documentation: diff --git a/quickstarts/java/gcp-pubsub/config.yml b/quickstarts/java/gcp-pubsub/config.yml index 37bb033639..3e2fc3b778 100644 --- a/quickstarts/java/gcp-pubsub/config.yml +++ b/quickstarts/java/gcp-pubsub/config.yml @@ -32,8 +32,6 @@ documentation: description: | Java Agent instrumentation extension for the Google Cloud Platform PubSub framework url: https://github.com/newrelic-experimental/newrelic-java-gcp-pubsub -installPlans: - - third-party-gcp-pubsub dataSourceIds: - gcp-pubsub dashboards: diff --git a/quickstarts/java/generic-jdbc/config.yml b/quickstarts/java/generic-jdbc/config.yml index 408b526313..04f35cea0a 100644 --- a/quickstarts/java/generic-jdbc/config.yml +++ b/quickstarts/java/generic-jdbc/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Generic JDBC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Generic JDBC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,8 +27,6 @@ documentation: Java Database Connectivity is a standard Java API for database-independent connectivity between Java and a wide range of databases. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent -installPlans: - - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/glassfish/config.yml b/quickstarts/java/glassfish/config.yml index a74b1c4116..3eccfc064a 100644 --- a/quickstarts/java/glassfish/config.yml +++ b/quickstarts/java/glassfish/config.yml @@ -26,8 +26,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/grails/config.yml b/quickstarts/java/grails/config.yml index fbca8437ec..6087628e7d 100644 --- a/quickstarts/java/grails/config.yml +++ b/quickstarts/java/grails/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/grpc/config.yml b/quickstarts/java/grpc/config.yml index b966b7b2d9..3e8856ff71 100644 --- a/quickstarts/java/grpc/config.yml +++ b/quickstarts/java/grpc/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments gRPC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments gRPC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/h2/config.yml b/quickstarts/java/h2/config.yml index a4495e7f62..f033fe4fc3 100644 --- a/quickstarts/java/h2/config.yml +++ b/quickstarts/java/h2/config.yml @@ -25,8 +25,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hibernate/config.yml b/quickstarts/java/hibernate/config.yml index 348190c760..d8ce392712 100644 --- a/quickstarts/java/hibernate/config.yml +++ b/quickstarts/java/hibernate/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hibernate with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hibernate with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hsql/config.yml b/quickstarts/java/hsql/config.yml index 5719c8a19d..3b06147d11 100644 --- a/quickstarts/java/hsql/config.yml +++ b/quickstarts/java/hsql/config.yml @@ -27,8 +27,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hystrix/config.yml b/quickstarts/java/hystrix/config.yml index 15ca2a2e80..1b5ecf336e 100644 --- a/quickstarts/java/hystrix/config.yml +++ b/quickstarts/java/hystrix/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hystrix with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hystrix with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/ibm-db2/config.yml b/quickstarts/java/ibm-db2/config.yml index e79cedbf35..4753be6806 100644 --- a/quickstarts/java/ibm-db2/config.yml +++ b/quickstarts/java/ibm-db2/config.yml @@ -25,8 +25,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/inet-merlia/config.yml b/quickstarts/java/inet-merlia/config.yml index 0d571a4354..189de3b07d 100644 --- a/quickstarts/java/inet-merlia/config.yml +++ b/quickstarts/java/inet-merlia/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/java/config.yml b/quickstarts/java/java/config.yml index 0ec999da01..954f7c8f9c 100644 --- a/quickstarts/java/java/config.yml +++ b/quickstarts/java/java/config.yml @@ -3,9 +3,9 @@ slug: java description: | ## Why monitoring Java is so important - Java is a compiled language, with the potential to be very fast. However, there are a a lot of Java-specific quirks that make the average program slow such as high default memory usage and lags in the startup time of the JVM. + Java is a compiled language, with the potential to be very fast. However, there are a a lot of Java-specific quirks that make the average program slow such as high default memory usage and lags in the startup time of the JVM. - In order to get the most performance out of your Java applications, it’s important to continuously monitor them with tools such as the New Relic Java agent. + In order to get the most performance out of your Java applications, it’s important to continuously monitor them with tools such as the New Relic Java agent. ### New Relic Java quickstart features @@ -14,7 +14,7 @@ description: | ### New Relic - the perfect Java observability tool - [Proactive Java monitoring](https://docs.newrelic.com/docs/agents/java-agent/getting-started/introduction-new-relic-java/) yields reductions in site latency and improves the user experience. Our Java agent monitors app servers, databases, and message queuing systems, giving insight into all the key components which allow a web app to run. Custom instrumentation is also available for the add-on Java frameworks and libraries which may be used. + [Proactive Java monitoring](https://docs.newrelic.com/docs/agents/java-agent/getting-started/introduction-new-relic-java/) yields reductions in site latency and improves the user experience. Our Java agent monitors app servers, databases, and message queuing systems, giving insight into all the key components which allow a web app to run. Custom instrumentation is also available for the add-on Java frameworks and libraries which may be used. The agent reports metric time-slice and event data, giving insight at scheduled intervals. It also provides JVM-level observability, providing thread pools data, HTTP sessions, and transactions. You can trace request flows through distributed systems, allowing you to pinpoint points of failure and proactively prevent downtime. All metrics and interfaces are unified via an included dashboard which provides a visual display of an application’s performance. @@ -38,8 +38,6 @@ keywords: - java - language agent - most popular -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jax-rs/config.yml b/quickstarts/java/jax-rs/config.yml index 2d5aae30e0..30da8a8e49 100644 --- a/quickstarts/java/jax-rs/config.yml +++ b/quickstarts/java/jax-rs/config.yml @@ -26,8 +26,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jcache-api/config.yml b/quickstarts/java/jcache-api/config.yml index e051a1bce8..4ffcef4670 100644 --- a/quickstarts/java/jcache-api/config.yml +++ b/quickstarts/java/jcache-api/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jdbc-executebatch/config.yml b/quickstarts/java/jdbc-executebatch/config.yml index 118f0402fe..5dd72cb175 100644 --- a/quickstarts/java/jdbc-executebatch/config.yml +++ b/quickstarts/java/jdbc-executebatch/config.yml @@ -5,13 +5,13 @@ description: | # What is executeBatch call? ExecuteBatch method in jdbc submits a batch of commands to the database for execution. You - If all commands execute successfully, the call returns an array of update counts. + If all commands execute successfully, the call returns an array of update counts. - Once the instrumentation is deployed it will start to track the call to the executeBatch method as a database call in distributed traces. + Once the instrumentation is deployed it will start to track the call to the executeBatch method as a database call in distributed traces. The Performance tab for the call will show the query as "Batch Execute n Queries" where n is the number of queries executed as part of the batch. - - For calls to addBatch(String sql), it will represent the number of calls to this method before the executeBatch method is executed. + - For calls to addBatch(String sql), it will represent the number of calls to this method before the executeBatch method is executed. - For PreparedStatment and CallableStatment it will represent the number of times that addBatch() is called. summary: | Java agent extension to monitor the executeBatch method of the Statement, PreparedStatement and CallableStatement interfaces as a database call. @@ -33,8 +33,6 @@ documentation: description: | Java Agent instrumentation extension for tracking executeBatch method of the Statement, PreparedStatement and CallableStatement interfaces as a database call. url: https://github.com/newrelic-experimental/newrelic-java-JDBC-ExecuteBatch -installPlans: - - third-party-jdbc-executebatch dataSourceIds: - jdbc-executebatch dashboards: diff --git a/quickstarts/java/jersey/config.yml b/quickstarts/java/jersey/config.yml index 9484c0c216..64dbf00c0c 100644 --- a/quickstarts/java/jersey/config.yml +++ b/quickstarts/java/jersey/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jetty/config.yml b/quickstarts/java/jetty/config.yml index c9ab5af66c..d44b856c23 100644 --- a/quickstarts/java/jetty/config.yml +++ b/quickstarts/java/jetty/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Jetty with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Jetty with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - server - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jms/config.yml b/quickstarts/java/jms/config.yml index 1e713b3561..ceb06e47a6 100644 --- a/quickstarts/java/jms/config.yml +++ b/quickstarts/java/jms/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jsf/config.yml b/quickstarts/java/jsf/config.yml index 1c135ea893..baef964761 100644 --- a/quickstarts/java/jsf/config.yml +++ b/quickstarts/java/jsf/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSF with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSF with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jsp/config.yml b/quickstarts/java/jsp/config.yml index 2c79a43ea9..b234900737 100644 --- a/quickstarts/java/jsp/config.yml +++ b/quickstarts/java/jsp/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSP with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSP with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/mule-esb/config.yml b/quickstarts/java/mule-esb/config.yml index 7d8016cdae..5ecb383830 100644 --- a/quickstarts/java/mule-esb/config.yml +++ b/quickstarts/java/mule-esb/config.yml @@ -35,8 +35,6 @@ keywords: - NR1_addData - NR1_sys - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/netty/config.yml b/quickstarts/java/netty/config.yml index 36b88fadab..d421977c6a 100644 --- a/quickstarts/java/netty/config.yml +++ b/quickstarts/java/netty/config.yml @@ -2,7 +2,7 @@ id: 6c25b345-1377-42be-b265-d511e0d170f8 slug: netty description: | ## Why monitor Netty? - Netty is a tool for building performant, low-level network servers and clients in Java. It operates on an asynchronous, non-blocking I/O model, meaning that it can serve or receive multiple requests simultaneously while maintaining running background processes. + Netty is a tool for building performant, low-level network servers and clients in Java. It operates on an asynchronous, non-blocking I/O model, meaning that it can serve or receive multiple requests simultaneously while maintaining running background processes. While Netty is powerful and runs with lower resource usage than its blocking counterparts, its non-blocking paradigm makes the code it creates harder to test and more difficult to read. The fact that it operates at a low level close to the hardware makes it prone to difficult-to-debug errors. Thus, actively monitoring each Netty instance is vital to keeping all the servers and clients on which it is based running smoothly. The Netty quickstart provides dashboards and alerts that enable continuous monitoring of Netty application health. @@ -10,7 +10,7 @@ description: | The Netty quickstart contains a number of helpful dashboards and alerts that monitor your Netty performance. These include - #### Dashboards + #### Dashboards - Transactions overview provides information about average transaction duration, slowest 10% duration transactions, total transactions, and success rates. - The errors overview gives insight into total transactions and failed transactions by both percentages and total numbers. - The VM overview lets you introspect average CPU utilization, average physical memory usage, and total average memory used. @@ -48,8 +48,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/oc4j/config.yml b/quickstarts/java/oc4j/config.yml index 9bad2b1137..995381c879 100644 --- a/quickstarts/java/oc4j/config.yml +++ b/quickstarts/java/oc4j/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/play-ws/config.yml b/quickstarts/java/play-ws/config.yml index d35ba54dc2..8651273432 100644 --- a/quickstarts/java/play-ws/config.yml +++ b/quickstarts/java/play-ws/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/play/config.yml b/quickstarts/java/play/config.yml index c6580069a8..02c9adee60 100644 --- a/quickstarts/java/play/config.yml +++ b/quickstarts/java/play/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Play with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Play with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/quartz-job-scheduler/config.yml b/quickstarts/java/quartz-job-scheduler/config.yml index e524769153..b3f4897f00 100644 --- a/quickstarts/java/quartz-job-scheduler/config.yml +++ b/quickstarts/java/quartz-job-scheduler/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Quartz Job Scheduler with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Quartz Job Scheduler with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/resin/config.yml b/quickstarts/java/resin/config.yml index 4b22fbea00..55c77fc257 100644 --- a/quickstarts/java/resin/config.yml +++ b/quickstarts/java/resin/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Resin with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Resin with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/resteasy/config.yml b/quickstarts/java/resteasy/config.yml index e4874b0e22..aa01867baf 100644 --- a/quickstarts/java/resteasy/config.yml +++ b/quickstarts/java/resteasy/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments RESTeasy with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments RESTeasy with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/scala/config.yml b/quickstarts/java/scala/config.yml index 3bea5c5b54..0fb82b0a69 100644 --- a/quickstarts/java/scala/config.yml +++ b/quickstarts/java/scala/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Scala with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Scala with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/slick/config.yml b/quickstarts/java/slick/config.yml index b12d83215e..ab41c021ac 100644 --- a/quickstarts/java/slick/config.yml +++ b/quickstarts/java/slick/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/solr/config.yml b/quickstarts/java/solr/config.yml index 558f0fdd71..c0cac47f2d 100644 --- a/quickstarts/java/solr/config.yml +++ b/quickstarts/java/solr/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Solr with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Solr with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spray-can/config.yml b/quickstarts/java/spray-can/config.yml index 546c811bb0..96b583b059 100644 --- a/quickstarts/java/spray-can/config.yml +++ b/quickstarts/java/spray-can/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spray-can with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spray-can with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spring-jms/config.yml b/quickstarts/java/spring-jms/config.yml index 1167c670ee..54d78bcd5b 100644 --- a/quickstarts/java/spring-jms/config.yml +++ b/quickstarts/java/spring-jms/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring-JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring-JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spring/config.yml b/quickstarts/java/spring/config.yml index cfb19c10cc..8109187ac5 100644 --- a/quickstarts/java/spring/config.yml +++ b/quickstarts/java/spring/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spymemcached/config.yml b/quickstarts/java/spymemcached/config.yml index 095cb2c21f..6f4e56666b 100644 --- a/quickstarts/java/spymemcached/config.yml +++ b/quickstarts/java/spymemcached/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments SpyMemcached with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments SpyMemcached with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/struts/config.yml b/quickstarts/java/struts/config.yml index 853a5ee868..0e6df407e5 100644 --- a/quickstarts/java/struts/config.yml +++ b/quickstarts/java/struts/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Struts with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Struts with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/thrift/config.yml b/quickstarts/java/thrift/config.yml index cd276729fa..6b74af49ea 100644 --- a/quickstarts/java/thrift/config.yml +++ b/quickstarts/java/thrift/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Thrift with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Thrift with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/tomcat/config.yml b/quickstarts/java/tomcat/config.yml index dc8aa8adf8..fa84098c8c 100644 --- a/quickstarts/java/tomcat/config.yml +++ b/quickstarts/java/tomcat/config.yml @@ -39,8 +39,6 @@ keywords: - server - most popular - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/tomee/config.yml b/quickstarts/java/tomee/config.yml index e6fcbe2f05..3eb84e1ce0 100644 --- a/quickstarts/java/tomee/config.yml +++ b/quickstarts/java/tomee/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments TomEE with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments TomEE with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/vert-x/config.yml b/quickstarts/java/vert-x/config.yml index 0e2b7f3ca3..d3d6acd1e3 100644 --- a/quickstarts/java/vert-x/config.yml +++ b/quickstarts/java/vert-x/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Vert.x with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Vert.x with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,8 +27,6 @@ documentation: Application framework for development of reactive and event-driven software in Java or a variety of other languages. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent -installPlans: - - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/weblogic/config.yml b/quickstarts/java/weblogic/config.yml index 942ef65b16..4c208f42e8 100644 --- a/quickstarts/java/weblogic/config.yml +++ b/quickstarts/java/weblogic/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/websphere-liberty-profile/config.yml b/quickstarts/java/websphere-liberty-profile/config.yml index cc8a7ce186..4be0a2db62 100644 --- a/quickstarts/java/websphere-liberty-profile/config.yml +++ b/quickstarts/java/websphere-liberty-profile/config.yml @@ -35,8 +35,6 @@ keywords: - java - apm - language agent -installPlans: - - setup-java-agent dataSourceIds: - java documentation: @@ -47,4 +45,4 @@ documentation: dashboards: - websphere-liberty-profile alertPolicies: - - websphere-liberty-profile \ No newline at end of file + - websphere-liberty-profile diff --git a/quickstarts/java/websphere/config.yml b/quickstarts/java/websphere/config.yml index f4dcb744bf..759545a2f0 100644 --- a/quickstarts/java/websphere/config.yml +++ b/quickstarts/java/websphere/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/wildfly/config.yml b/quickstarts/java/wildfly/config.yml index 6e4a779ba1..1e4e350edf 100644 --- a/quickstarts/java/wildfly/config.yml +++ b/quickstarts/java/wildfly/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments WildFly with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments WildFly with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - server - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/jenkins/config.yml b/quickstarts/jenkins/config.yml index a1f86ac03a..cee540a227 100644 --- a/quickstarts/jenkins/config.yml +++ b/quickstarts/jenkins/config.yml @@ -17,14 +17,14 @@ description: |- Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/monitoring-jenkins-ot/) to learn more about New Relic monitoring for Jenkins. ### Tie software performance to recent changes and deployments with New Relic change tracking - + With [New Relic change tracking](https://newrelic.com/platform/change-tracking), engineers now have the context to quickly understand the impact of changes on a system's performance and quality---then take action to find and fix problems fast. - See deployments in context with errors, logs, traces, incidents, and more. - Correlate deployments and change events to shifts in golden signals, errors, log attributes, incidents, and other key metrics. - Automatically mark charts with change details and metadata from any source, including the [Jenkins](https://docs.newrelic.com/docs/change-tracking/ci-cd/change-tracking-jenkins/) plugin. Learn how to automatically record deployments with the brand new [GraphQL API](https://docs.newrelic.com/docs/change-tracking/change-tracking-graphql/), [New Relic CLI](https://docs.newrelic.com/docs/change-tracking/change-tracking-cli/), and third-party CI/CD sources in the [docs](https://docs.newrelic.com/docs/change-tracking/change-tracking-introduction/). - + # Displayed in search results and recommendations. Summarizes a quickstarts functionality. summary: | @@ -41,8 +41,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-jenkins-integration dataSourceIds: - otel-jenkins-integration dashboards: diff --git a/quickstarts/jfrog-platform/config.yml b/quickstarts/jfrog-platform/config.yml index cb48405615..2ac84723c0 100644 --- a/quickstarts/jfrog-platform/config.yml +++ b/quickstarts/jfrog-platform/config.yml @@ -3,21 +3,21 @@ slug: jfrog-platform title: JFrog Software Supply Chain Platform description: | ## Why monitor the JFrog Platform - + The JFrog Platform is a leading universal end-to-end DevOps and DevSecOps platform for automating, managing, securing, distributing, orchestrating, monitoring, and optimizing your Cl/ CD pipeline. Monitor the JFrog Platform to get real-time insights about the health, performance, and security of your software supply chain. - + ### JFrog Platform quickstart highlights The integration surfaces critical platform logs, JFrog Xray violations data, and system performance data available through OpenMetrics as pre-built dashboards - Monitor the JFrom platform inside the convenient New Relic observability platform - - Utilizes Fluentd, an open source, lightweight log processor and forwarder - - Curated dashboards surface performance data, artifact usage, and security metrics for operations teams, DevSecOps teams, and business stakeholders. - + - Utilizes Fluentd, an open source, lightweight log processor and forwarder + - Curated dashboards surface performance data, artifact usage, and security metrics for operations teams, DevSecOps teams, and business stakeholders. + ### Quickstart benefits - **Faster and more reliable software delivery.** Monitor all your JFrog applications, artifacts, and dependencies in real time with pre-built dashboards to correlate performance alongside the rest of your telemetry data in a unified view. - **Better compliance and security.** Identify urgent vulnerabilities, identify malicious users, and deliver more secure software with less toil. - - **Improve software supply chain performance.** Proactively manage performance degradation and remediate issues and boost release velocity and quality. + - **Improve software supply chain performance.** Proactively manage performance degradation and remediate issues and boost release velocity and quality. summary: | Monitor your JFrog Artifactory and JFrog Xray environments for faster, more secure software delivery @@ -44,7 +44,5 @@ icon: icon.svg dashboards: - jfrog-artifactory - jfrog-xray -installPlans: - - third-party-jfrog-platform dataSourceIds: - jfrog-platform diff --git a/quickstarts/jira-errors/config.yml b/quickstarts/jira-errors/config.yml index 9a406381f7..defadd4c80 100644 --- a/quickstarts/jira-errors/config.yml +++ b/quickstarts/jira-errors/config.yml @@ -19,8 +19,6 @@ keywords: - error tracking - newrelic partner - NR1_addData -installPlans: - - third-party-jira-errors-inbox dataSourceIds: - jira-errors-inbox documentation: diff --git a/quickstarts/jmx/config.yml b/quickstarts/jmx/config.yml index ee42a1ba8a..ec140edcac 100644 --- a/quickstarts/jmx/config.yml +++ b/quickstarts/jmx/config.yml @@ -31,9 +31,6 @@ documentation: Java technology that supplies tools for managing and monitoring applications, system objects, devices, and service-oriented networks. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/jmx-monitoring-integration/ -installPlans: - - infra-agent-targeted - - jmx-integration-docs dataSourceIds: - new-relic-infrastructure-agent - jmx diff --git a/quickstarts/kafka/config.yml b/quickstarts/kafka/config.yml index 5e0ed334ad..23ba5373a0 100644 --- a/quickstarts/kafka/config.yml +++ b/quickstarts/kafka/config.yml @@ -10,19 +10,19 @@ title: Kafka description: | ## Quickstart for Kafka monitoring - Kafka monitoring is important to track services running on multiple Kafka servers in real-time. Observe key metrics like CPU usage, memory, and consumer lag at a glance in a Kafka dashboard. + Kafka monitoring is important to track services running on multiple Kafka servers in real-time. Observe key metrics like CPU usage, memory, and consumer lag at a glance in a Kafka dashboard. ### Why monitoring kafka is so important Apache Kafka is a fault-tolerant, scalable messaging system used to build real-time data pipelines. Kafka also supports replications natively, and you can build streaming applications that run inside production environments. - Leveraging a Kafka monitoring tool to monitor data replication, retention, and issues like consumer lag is important. New Relic’s Kafka quickstart lets you look at performance metrics and inventory data, create your own custom charts and queries, and create alert policies. + Leveraging a Kafka monitoring tool to monitor data replication, retention, and issues like consumer lag is important. New Relic’s Kafka quickstart lets you look at performance metrics and inventory data, create your own custom charts and queries, and create alert policies. ### New Relic Kafka quickstart features [New Relic’s Kafka monitoring](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration/) tracks space and time retention, leverages replication alerts to uncover potential issues, and uses queries and a Kafka dashboard to explore them. - ### New Relic + Kafka quickstart + ### New Relic + Kafka quickstart New Relic’s performance monitoring provides instant observability out-of-the-box. This quickstart includes: @@ -34,7 +34,7 @@ description: | Provide total visibility into key performance metrics like the number of client requests and bytes served per second with New Relic’s Kafka monitoring and also track inventory data and metadata in real-time. - One of the key features of New Relic’s Kafka monitoring is that you can configure your retention settings by time and by space and set up real-time alerts. + One of the key features of New Relic’s Kafka monitoring is that you can configure your retention settings by time and by space and set up real-time alerts. Track key metrics like gauge, count, and summary as well with New Relic’s instant observability quickstart. Ensure that your infrastructure remains robust and running while averting potential data loss by monitoring Kafka brokers and Kafka producers. summary: | @@ -58,10 +58,6 @@ documentation: Distributed streaming platform built for scalability, fault-tolerance, and building real-time data pipelines and streaming applications. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration/ -installPlans: - - infra-agent-targeted - - kafka-integration-docs - dataSourceIds: - new-relic-infrastructure-agent - kafka diff --git a/quickstarts/kamon/config.yml b/quickstarts/kamon/config.yml index bc0edfe359..3a8deb6b3f 100644 --- a/quickstarts/kamon/config.yml +++ b/quickstarts/kamon/config.yml @@ -15,8 +15,6 @@ level: New Relic authors: - New Relic title: Kamon -installPlans: - - third-party-kamon dataSourceIds: - kamon documentation: diff --git a/quickstarts/kentik/config.yml b/quickstarts/kentik/config.yml index aaaac1e9fa..787dbbb111 100644 --- a/quickstarts/kentik/config.yml +++ b/quickstarts/kentik/config.yml @@ -32,8 +32,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-kentik-firehose dataSourceIds: - kentik documentation: diff --git a/quickstarts/kubernetes-prometheus/config.yml b/quickstarts/kubernetes-prometheus/config.yml index 9152e137e8..fb58994d84 100644 --- a/quickstarts/kubernetes-prometheus/config.yml +++ b/quickstarts/kubernetes-prometheus/config.yml @@ -4,23 +4,23 @@ title: Kubernetes (Prometheus) description: | ## What is Kubernetes? Kubernetes is an open-source system for automating deployment, scaling, and, management of containerized applications. The New Relic Kubernetes (Prometheus) monitoring quickstart utilizes Prometheus to give you visibility into your Kubernetes clusters and workloads in minutes, whether your clusters are hosted on-premises or in the cloud. - Follow the instructions [here](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) to install the New Relic Kubernetes integration. + Follow the instructions [here](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) to install the New Relic Kubernetes integration. - ## What is Prometheus? - Prometheus is an open-source monitoring and alerting toolkit. + ## What is Prometheus? + Prometheus is an open-source monitoring and alerting toolkit. ### Kubernetes (Prometheus) quickstart highlights The New Relic Prometheus quickstart for Kubernetes utilizes the [New Relic Prometheus agent](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to build dashboards that allow you to proactively monitor your metrics, like: - - memory and cpu utilization - - running pods and containers - - kubelet pod start metrics - - compute resources by pod, node, cluster, and namespace and more. + - memory and cpu utilization + - running pods and containers + - kubelet pod start metrics + - compute resources by pod, node, cluster, and namespace and more. ### Requirements - - Follow the instructions [here](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to install the New Relic Prometheus agent. - - **The default installation of the New Relic Prometheus configurator does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions [here](https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md) to enable those metrics. + - Follow the instructions [here](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to install the New Relic Prometheus agent. + - **The default installation of the New Relic Prometheus configurator does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions [here](https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md) to enable those metrics. summary: | - Monitoring Kubernetes is crucial to gain instant visibility into Kubernetes clusters and workloads. + Monitoring Kubernetes is crucial to gain instant visibility into Kubernetes clusters and workloads. Prometheus' ability to monitor a wide variety of data necessitates monitoring the toolkit itself. New Relic helps store, manage, and view telemetry data from your Prometheus setup, relieving you of a significant operational burden. Download the New Relic Kubernetes (Prometheus) quickstart to proactively monitor Kubernetes cluster health and capacity. level: Community @@ -33,14 +33,12 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/ - name: Kubernetes Prometheus agent REQUIRED configuration description: | - The default installation of the New Relic Prometheus agent does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions here to enable those metrics. + The default installation of the New Relic Prometheus agent does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions here to enable those metrics. url: https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md - name: Kubernetes integration description: | - The New Relic Kubernetes integration has multiple components that work together to give you end-to-end observability across your clusters. While you have the flexibility to deploy the components that you prefer, to achieve full observability, you need to install the complete package to monitor all metrics. + The New Relic Kubernetes integration has multiple components that work together to give you end-to-end observability across your clusters. While you have the flexibility to deploy the components that you prefer, to achieve full observability, you need to install the complete package to monitor all metrics. url: https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/ -installPlans: - - setup-prometheus-agent-mode dataSourceIds: - prometheus-agent-mode keywords: diff --git a/quickstarts/kubernetes/azure-kubernetes-service/config.yml b/quickstarts/kubernetes/azure-kubernetes-service/config.yml index 09b19b114d..ef44009ed1 100644 --- a/quickstarts/kubernetes/azure-kubernetes-service/config.yml +++ b/quickstarts/kubernetes/azure-kubernetes-service/config.yml @@ -26,8 +26,6 @@ keywords: - aks - NR1_addData - NR1_sys -installPlans: - - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/kubernetes/google-kubernetes-engine/config.yml b/quickstarts/kubernetes/google-kubernetes-engine/config.yml index d214f1fa26..557956da9f 100644 --- a/quickstarts/kubernetes/google-kubernetes-engine/config.yml +++ b/quickstarts/kubernetes/google-kubernetes-engine/config.yml @@ -24,8 +24,6 @@ keywords: - containers - k8s - google -installPlans: - - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/kubernetes/kubernetes/config.yml b/quickstarts/kubernetes/kubernetes/config.yml index 4590c0f7a4..3be2d50d47 100644 --- a/quickstarts/kubernetes/kubernetes/config.yml +++ b/quickstarts/kubernetes/kubernetes/config.yml @@ -50,8 +50,6 @@ keywords: - containers - pixie - k8s -installPlans: - - kubernetes-install dataSourceIds: - kubernetes diff --git a/quickstarts/kubernetes/nginx/config.yml b/quickstarts/kubernetes/nginx/config.yml index 0c55e6340e..1c4c3cf35b 100644 --- a/quickstarts/kubernetes/nginx/config.yml +++ b/quickstarts/kubernetes/nginx/config.yml @@ -33,9 +33,6 @@ keywords: - config - NR1_addData - NR1_sys -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/lacework/config.yml b/quickstarts/lacework/config.yml index 46253d17fd..b7e9636a4a 100644 --- a/quickstarts/lacework/config.yml +++ b/quickstarts/lacework/config.yml @@ -8,9 +8,9 @@ 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. - + 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 @@ -30,8 +30,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-lacework-integration dataSourceIds: - lacework dashboards: diff --git a/quickstarts/lamp/config.yml b/quickstarts/lamp/config.yml index 4c26e8e690..dfa8c05140 100644 --- a/quickstarts/lamp/config.yml +++ b/quickstarts/lamp/config.yml @@ -12,10 +12,6 @@ level: New Relic authors: - New Relic - Stijn Polfliet -installPlans: - - mysql-integration - - apache-integration - - php-agent dataSourceIds: - mysql - apache diff --git a/quickstarts/lampy/config.yml b/quickstarts/lampy/config.yml index ac87f54756..b32aa9cdca 100644 --- a/quickstarts/lampy/config.yml +++ b/quickstarts/lampy/config.yml @@ -10,19 +10,19 @@ summary: | With New Relic LAMPy integration, you can monitor your apps, infrastructure, web servers, databases, and databases, using Linux, Apache, MySQL, and Python agents. # Description of the quickstart description: | - ## Comprehensive LAMPy stack monitoring system: - LAMPy is a free, open source software stack used for building web sites and applications. LAMPy is an acronym for the operating system (Linux), the webserver (Apache), the database server (MySQL), and the programming language (Python). - ## What should you look for in a LAMPy dashboard? - - Linux: CPU usage, total memory usage, disk usage, etc - - Apache: Requests per second, bytes per second, workers status, etc - - MySQL: Operations per second, InnoDB read & writes, etc - - Python: Throughput, transaction overview, WSGI, etc - - In addition, you are free to create your own charts using the stored metrics - ## What’s included in the LAMPy quickstart? - This quickstart includes the following preconfigured observability solutions: - - Application metrics with your server’s primary health metrics, like CPU usage, memory, disk usage and more - - Multiple high-value alerts including latest number of questions per second, error transactions percentage, memory usage and CPU utilization - - Informative dashboards (Busy worker status, operations, InnoDB read and write, etc) + ## Comprehensive LAMPy stack monitoring system: + LAMPy is a free, open source software stack used for building web sites and applications. LAMPy is an acronym for the operating system (Linux), the webserver (Apache), the database server (MySQL), and the programming language (Python). + ## What should you look for in a LAMPy dashboard? + - Linux: CPU usage, total memory usage, disk usage, etc + - Apache: Requests per second, bytes per second, workers status, etc + - MySQL: Operations per second, InnoDB read & writes, etc + - Python: Throughput, transaction overview, WSGI, etc + - In addition, you are free to create your own charts using the stored metrics + ## What’s included in the LAMPy quickstart? + This quickstart includes the following preconfigured observability solutions: + - Application metrics with your server’s primary health metrics, like CPU usage, memory, disk usage and more + - Multiple high-value alerts including latest number of questions per second, error transactions percentage, memory usage and CPU utilization + - Informative dashboards (Busy worker status, operations, InnoDB read and write, etc) # The logo of the quickstart icon: logo.png @@ -35,11 +35,6 @@ authors: - New Relic - Ramana Reddy -installPlans: - - apache-integration - - mysql-integration - - setup-python-agent - keywords: - LAMPy - linux diff --git a/quickstarts/launchdarkly/config.yml b/quickstarts/launchdarkly/config.yml index 7e0247036c..eb9b92f2ac 100644 --- a/quickstarts/launchdarkly/config.yml +++ b/quickstarts/launchdarkly/config.yml @@ -21,7 +21,5 @@ keywords: - testing - NR1_addData - NR1_sys -installPlans: - - third-party-launchdarkly dataSourceIds: - launchdarkly diff --git a/quickstarts/lighthouse/config.yml b/quickstarts/lighthouse/config.yml index 03232e9001..032b68620d 100644 --- a/quickstarts/lighthouse/config.yml +++ b/quickstarts/lighthouse/config.yml @@ -7,8 +7,6 @@ level: New Relic authors: - New Relic title: Lighthouse -installPlans: - - third-party-lighthouse dataSourceIds: - lighthouse documentation: diff --git a/quickstarts/linux/config.yml b/quickstarts/linux/config.yml index 910ab8b123..7cd8d0e66c 100644 --- a/quickstarts/linux/config.yml +++ b/quickstarts/linux/config.yml @@ -25,8 +25,6 @@ keywords: - os - operating system - featured -installPlans: - - guided-install dataSourceIds: - guided-install dashboards: diff --git a/quickstarts/logstash-plugin-for-logs/config.yml b/quickstarts/logstash-plugin-for-logs/config.yml index 5e2ca08bd6..bd152d5dd7 100644 --- a/quickstarts/logstash-plugin-for-logs/config.yml +++ b/quickstarts/logstash-plugin-for-logs/config.yml @@ -11,8 +11,6 @@ level: New Relic authors: - New Relic title: Logstash plugin for Logs -installPlans: - - third-party-logstash-plugin-for-logs dataSourceIds: - logstash documentation: diff --git a/quickstarts/macos/config.yml b/quickstarts/macos/config.yml index 61c2e275f7..beab26e4a6 100644 --- a/quickstarts/macos/config.yml +++ b/quickstarts/macos/config.yml @@ -24,8 +24,6 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure -installPlans: - - guided-install dataSourceIds: - guided-install icon: logo.png diff --git a/quickstarts/mariadb/config.yml b/quickstarts/mariadb/config.yml index e420aa76bc..b0533d34e0 100644 --- a/quickstarts/mariadb/config.yml +++ b/quickstarts/mariadb/config.yml @@ -23,8 +23,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - mysql-integration dataSourceIds: - mysql dashboards: diff --git a/quickstarts/memcached/config.yml b/quickstarts/memcached/config.yml index fc6f786dc5..f666bb23ac 100644 --- a/quickstarts/memcached/config.yml +++ b/quickstarts/memcached/config.yml @@ -17,8 +17,6 @@ documentation: description: | Open-source distributed memory caching system to reduce the number of calls to external databases or APIs. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/memcached-monitoring-integration/ -installPlans: - - memcached-integration dataSourceIds: - memcached keywords: diff --git a/quickstarts/micrometer/config.yml b/quickstarts/micrometer/config.yml index d044cc2171..670492842f 100644 --- a/quickstarts/micrometer/config.yml +++ b/quickstarts/micrometer/config.yml @@ -16,8 +16,6 @@ level: New Relic authors: - New Relic title: Micrometer -installPlans: - - third-party-micrometer dataSourceIds: - micrometer documentation: diff --git a/quickstarts/mlops/aporia/config.yml b/quickstarts/mlops/aporia/config.yml index 40eae7e56e..fc9e8ca19e 100644 --- a/quickstarts/mlops/aporia/config.yml +++ b/quickstarts/mlops/aporia/config.yml @@ -30,8 +30,6 @@ keywords: - model-ops - explainability - newrelic partner -installPlans: - - aporia-mlops dataSourceIds: - aporia documentation: diff --git a/quickstarts/mlops/bring-your-own/config.yml b/quickstarts/mlops/bring-your-own/config.yml index 97a4c0bdf5..a5a0bd42aa 100644 --- a/quickstarts/mlops/bring-your-own/config.yml +++ b/quickstarts/mlops/bring-your-own/config.yml @@ -14,8 +14,6 @@ keywords: - ai - bring-your-own - machine-learning -installPlans: - - third-party-mlops-bring-your-own dataSourceIds: - bring-your-own-data documentation: diff --git a/quickstarts/mlops/comet/config.yml b/quickstarts/mlops/comet/config.yml index b306f38148..6b86eaf299 100644 --- a/quickstarts/mlops/comet/config.yml +++ b/quickstarts/mlops/comet/config.yml @@ -21,8 +21,6 @@ keywords: - monitoring - data monitoring - newrelic partner -installPlans: - - comet-mlops dataSourceIds: - comet documentation: diff --git a/quickstarts/mlops/dagshub/config.yml b/quickstarts/mlops/dagshub/config.yml index ddfae4b50b..2f879863a0 100644 --- a/quickstarts/mlops/dagshub/config.yml +++ b/quickstarts/mlops/dagshub/config.yml @@ -15,8 +15,6 @@ keywords: - dagshub - machine-learning - newrelic partner -installPlans: - - dagshub-mlops dataSourceIds: - dagshub documentation: diff --git a/quickstarts/mlops/mona/config.yml b/quickstarts/mlops/mona/config.yml index a8308d9edd..aff03ad3d5 100644 --- a/quickstarts/mlops/mona/config.yml +++ b/quickstarts/mlops/mona/config.yml @@ -20,8 +20,6 @@ keywords: - integrity - data integrity - newrelic partner -installPlans: - - monalabs-mlops dataSourceIds: - mona documentation: diff --git a/quickstarts/mlops/truera/config.yml b/quickstarts/mlops/truera/config.yml index a5cf3bb057..1eb8462792 100644 --- a/quickstarts/mlops/truera/config.yml +++ b/quickstarts/mlops/truera/config.yml @@ -21,8 +21,6 @@ keywords: - explanability - truera - newrelic partner -installPlans: - - truera-mlops dataSourceIds: - truera documentation: diff --git a/quickstarts/mobile-crash-analytics/config.yml b/quickstarts/mobile-crash-analytics/config.yml index 8c06879500..31807db382 100644 --- a/quickstarts/mobile-crash-analytics/config.yml +++ b/quickstarts/mobile-crash-analytics/config.yml @@ -4,13 +4,13 @@ title: Mobile Crash Analytics description: | ## Crash Analytics Monitoring Quickstart - Get deeper insights into the mobile application crash frequency, affected versions, crash impact on users. + Get deeper insights into the mobile application crash frequency, affected versions, crash impact on users. - Receive details about the last interactions before crash. + Receive details about the last interactions before crash. - Help page on the dashboard will guide you on how to enable data filtering. + Help page on the dashboard will guide you on how to enable data filtering. summary: | - Real time mobile application crash & network analysis to ensure ongoing reliability and performance. + Real time mobile application crash & network analysis to ensure ongoing reliability and performance. level: Community icon: icon.png authors: @@ -41,8 +41,6 @@ documentation: description: How to set up alerts for your mobile app dashboards: - mobile-crash-analytics -installPlans: - - mobile-dashboard-install dataSourceIds: - mobile-getting-started alertPolicies: diff --git a/quickstarts/mobile-network-performance/config.yml b/quickstarts/mobile-network-performance/config.yml index 8fc2100276..934f41a1ac 100644 --- a/quickstarts/mobile-network-performance/config.yml +++ b/quickstarts/mobile-network-performance/config.yml @@ -6,9 +6,9 @@ title: Mobile Network Performance description: | ## Network performance Quickstart - Get deeper insights into the networking details from your mobile application perspective. + Get deeper insights into the networking details from your mobile application perspective. - Receive details about the HTTP errors, Network failure, HTTP Request data, type of network errors. + Receive details about the HTTP errors, Network failure, HTTP Request data, type of network errors. Help page on the dashboard will guide you on how to enable data filtering. @@ -45,7 +45,5 @@ documentation: dashboards: - mobile-network-performance -installPlans: - - mobile-network-performance-install dataSourceIds: - mobile-network-performance-install diff --git a/quickstarts/mobile/config.yml b/quickstarts/mobile/config.yml index 75fbf6af3e..f6ee606f31 100644 --- a/quickstarts/mobile/config.yml +++ b/quickstarts/mobile/config.yml @@ -32,8 +32,6 @@ documentation: icon: icon.png dashboards: - mobile -installPlans: - - mobile-dashboard-install dataSourceIds: - mobile-getting-started alertPolicies: diff --git a/quickstarts/mongodb/config.yml b/quickstarts/mongodb/config.yml index 0d490e2176..601658779b 100644 --- a/quickstarts/mongodb/config.yml +++ b/quickstarts/mongodb/config.yml @@ -4,11 +4,11 @@ title: MongoDB description: | ## MongoDB Monitoring - MongoDB enables the unlimited virtual scaling of applications. Utilities like mongostat and mongotop offer immediate results but fail to provide insights into trends in a highly graphical visual dashboard. MongoDB dashboards provide insights into key metrics like RAM usage, operations per second, page fault, disk size, lock %, and app and database performance at a glance. + MongoDB enables the unlimited virtual scaling of applications. Utilities like mongostat and mongotop offer immediate results but fail to provide insights into trends in a highly graphical visual dashboard. MongoDB dashboards provide insights into key metrics like RAM usage, operations per second, page fault, disk size, lock %, and app and database performance at a glance. - Avoid slow queries with proper indexes that impact performance. Instantly monitor your entire MongoDB database with our instant observability kit or the MongoDB free monitoring tool. + Avoid slow queries with proper indexes that impact performance. Instantly monitor your entire MongoDB database with our instant observability kit or the MongoDB free monitoring tool. - The critical differences between MongoDB free monitoring and monitoring MongoDB with New Relic’s instant observability quickstart are efficiency, usability, scope, and cost. MongoDB free monitoring focuses on standalone instances and replica sets. Data collected on disk utilization, memory, and operation execution times are uploaded periodically. + The critical differences between MongoDB free monitoring and monitoring MongoDB with New Relic’s instant observability quickstart are efficiency, usability, scope, and cost. MongoDB free monitoring focuses on standalone instances and replica sets. Data collected on disk utilization, memory, and operation execution times are uploaded periodically. ### What’s Included? @@ -16,9 +16,9 @@ description: | New Relic + MongoDB quickstart - New Relic’s instant observability quickstart provides multiple monitoring parameters like operations per second, transactions, and queries by default (with Nagios, you must configure each parameter). New Relic’s MongoDB quickstart contains multiple dashboards, including: - - Total Commands, failed commands per second, bytes in & out per second, available connections, and more. + - Total Commands, failed commands per second, bytes in & out per second, available connections, and more. - Monitor MongoDB with New Relic to quickly gain improved distribution and increased visibility into real-time user and app response times, throughput and breakdown by component and layer, and long-term data trends over time. + Monitor MongoDB with New Relic to quickly gain improved distribution and increased visibility into real-time user and app response times, throughput and breakdown by component and layer, and long-term data trends over time. ### Value of MongoDB Quickstarts @@ -41,8 +41,6 @@ documentation: description: | Open source, document-oriented database where you store data in JSON-like files with dynamic schemas. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mongodb-monitoring-integration/ -installPlans: - - mongodb-integration dataSourceIds: - mongodb keywords: diff --git a/quickstarts/mssql/config.yml b/quickstarts/mssql/config.yml index fe436e0a8f..ed9baa9d67 100644 --- a/quickstarts/mssql/config.yml +++ b/quickstarts/mssql/config.yml @@ -20,7 +20,5 @@ documentation: keywords: - infrastructure - database -installPlans: - - microsoft-sql-server-integration dataSourceIds: - microsoft-sql-server diff --git a/quickstarts/mysql/config.yml b/quickstarts/mysql/config.yml index 69b7650c99..7668334d14 100644 --- a/quickstarts/mysql/config.yml +++ b/quickstarts/mysql/config.yml @@ -4,9 +4,9 @@ title: MySQL description: |+ ## MySQL monitoring quickstart - Applications powered by relational database management systems demand the user to understand how the application uses it. Quickly identify and resolve the source server issues with [MySQL performance monitoring tools](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/). + Applications powered by relational database management systems demand the user to understand how the application uses it. Quickly identify and resolve the source server issues with [MySQL performance monitoring tools](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/). - Identify query optimization metrics and more within a single New Relic MySQL dashboard and ensure the highest application performance with this approach. + Identify query optimization metrics and more within a single New Relic MySQL dashboard and ensure the highest application performance with this approach. ### MySQL monitoring @@ -14,7 +14,7 @@ description: |+ ### New Relic + MySQL - your ideal tool for better monitoring - Install this quickstart to access pre-configured observability solutions. Unlike other performance monitoring tools, New Relic is a powerful proactive remote monitoring solution that provides a comprehensive view from a single MySQL dashboard. + Install this quickstart to access pre-configured observability solutions. Unlike other performance monitoring tools, New Relic is a powerful proactive remote monitoring solution that provides a comprehensive view from a single MySQL dashboard. ### What’s included? @@ -42,8 +42,6 @@ documentation: description: | Open source relational database with more than 20 years of community development and support. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/ -installPlans: - - mysql-integration dataSourceIds: - mysql keywords: diff --git a/quickstarts/nagios/config.yml b/quickstarts/nagios/config.yml index 73d6ef579c..41228e9a4d 100644 --- a/quickstarts/nagios/config.yml +++ b/quickstarts/nagios/config.yml @@ -16,8 +16,6 @@ documentation: description: | Nagios is a free and open-source computer-software application that monitors systems, networks and infrastructure. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/nagios-monitoring-integration/ -installPlans: - - nagios-integration dataSourceIds: - nagios keywords: diff --git a/quickstarts/netlify/netlify-builds/config.yml b/quickstarts/netlify/netlify-builds/config.yml index e066d719a4..87381860d9 100644 --- a/quickstarts/netlify/netlify-builds/config.yml +++ b/quickstarts/netlify/netlify-builds/config.yml @@ -36,8 +36,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-netlify dataSourceIds: - netlify-builds documentation: diff --git a/quickstarts/netlify/netlify-logs/config.yml b/quickstarts/netlify/netlify-logs/config.yml index ebb8bf0a73..99cdf5b984 100644 --- a/quickstarts/netlify/netlify-logs/config.yml +++ b/quickstarts/netlify/netlify-logs/config.yml @@ -6,14 +6,14 @@ description: | ### Netlify Logs quickstart highlights - The Netlify Logs quickstart is the fastest way to explore and visualize data from traffic and function logs provided by [Netlify log drains](https://docs.netlify.com/monitor-sites/log-drains/). + The Netlify Logs quickstart is the fastest way to explore and visualize data from traffic and function logs provided by [Netlify log drains](https://docs.netlify.com/monitor-sites/log-drains/). With this quickstart, you can easily understand: - Changes in your sites' traffic over time - Percentage of successful requests, warnings, and errors - Requests by status - - Average duration of requests + - Average duration of requests - Changes in Functions utilization over time - Number of successful Function Invocations, warnings, and errors - Number of Function Invocations over time @@ -43,8 +43,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-netlify-logs dataSourceIds: - netlify-logs documentation: diff --git a/quickstarts/network-monitoring/arista-switches/config.yml b/quickstarts/network-monitoring/arista-switches/config.yml index c549318f77..688b476ea8 100644 --- a/quickstarts/network-monitoring/arista-switches/config.yml +++ b/quickstarts/network-monitoring/arista-switches/config.yml @@ -26,8 +26,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/bgpNeighbor/config.yml b/quickstarts/network-monitoring/bgpNeighbor/config.yml index 6a97891287..df0486f5ae 100644 --- a/quickstarts/network-monitoring/bgpNeighbor/config.yml +++ b/quickstarts/network-monitoring/bgpNeighbor/config.yml @@ -22,8 +22,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml b/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml index 4485180f0b..0a94800dec 100644 --- a/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml +++ b/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml @@ -26,8 +26,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/ciscoHardware/config.yml b/quickstarts/network-monitoring/ciscoHardware/config.yml index 4d1e1c485f..da20fab4b7 100644 --- a/quickstarts/network-monitoring/ciscoHardware/config.yml +++ b/quickstarts/network-monitoring/ciscoHardware/config.yml @@ -21,8 +21,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/get-started/npm-introduction/ description: | Learn about deploying ktranslate to monitor SNMP based devices. -installPlans: - - network-cisco-hardware dataSourceIds: - kentik icon: logo.svg diff --git a/quickstarts/network-monitoring/network-routers-and-switches/config.yml b/quickstarts/network-monitoring/network-routers-and-switches/config.yml index ec79eb6a2d..7d1b8342c2 100644 --- a/quickstarts/network-monitoring/network-routers-and-switches/config.yml +++ b/quickstarts/network-monitoring/network-routers-and-switches/config.yml @@ -28,8 +28,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/network-syslog/config.yml b/quickstarts/network-monitoring/network-syslog/config.yml index f302f519f4..d68584bcf6 100644 --- a/quickstarts/network-monitoring/network-syslog/config.yml +++ b/quickstarts/network-monitoring/network-syslog/config.yml @@ -26,8 +26,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/network-syslog-monitoring/ description: | Install Network Monitoring for syslog collection using a simple Docker container. -installPlans: - - network-syslog dataSourceIds: - network-syslog icon: logo.svg diff --git a/quickstarts/nextcloud/config.yml b/quickstarts/nextcloud/config.yml index 4d1047ac8c..b7c06d4e42 100644 --- a/quickstarts/nextcloud/config.yml +++ b/quickstarts/nextcloud/config.yml @@ -3,20 +3,20 @@ slug: nextcloud description: | ## Comprehensive monitoring for your Nextcloud server Empower yourself with New Relic's cutting-edge Nextcloud monitoring system and gain complete control over the health of your platform. Stay ahead of the curve by monitoring your Nextcloud in real-time, connecting the dots between transactions across your application environment, and swiftly troubleshoot any issues that arise with ease. - + ## Why monitor Nextcloud? - + ### Solve login problems - Users may experience issues with logging into their Nextcloud accounts, such as incorrect login credentials or connection errors. + Users may experience issues with logging into their Nextcloud accounts, such as incorrect login credentials or connection errors. ### Quickly identify performance issues - Nextcloud can become slow or unresponsive, especially if the server is running low on resources or if the network connection is slow. + Nextcloud can become slow or unresponsive, especially if the server is running low on resources or if the network connection is slow. ### Identify storage limitations - Nextcloud can experience storage limitations if the server's disk space is running low, or if there are issues with the underlying storage infrastructure. + Nextcloud can experience storage limitations if the server's disk space is running low, or if there are issues with the underlying storage infrastructure. ### Catch file syncing issues - Users may experience issues with file syncing, such as conflict errors or delayed updates, which can result in data loss or corruption. + Users may experience issues with file syncing, such as conflict errors or delayed updates, which can result in data loss or corruption. ### What’s included? @@ -24,7 +24,7 @@ description: | - Be alerted on things like excessive heap memory usage and scrape errors. - Use dashboards to monitor crucial performance metrics, such as uptime, free space, total active users, and more. - Enable your Nextcloud admins to keep track of the status and operation of your server installations. - + summary: | Achieve greater control over your productivity with our self-hosted platform. Stay on top of the performance of your server and ensure the optimal functioning of your system by monitoring it through our Infrastructure agent and utilizing the powerful integration with Prometheus open metrics. @@ -33,8 +33,6 @@ icon: logo.png authors: - New Relic title: Nextcloud -installPlans: - - nextcloud dataSourceIds: - nextcloud dashboards: diff --git a/quickstarts/nginx/config.yml b/quickstarts/nginx/config.yml index 5dbdb767a4..0e53625617 100644 --- a/quickstarts/nginx/config.yml +++ b/quickstarts/nginx/config.yml @@ -32,8 +32,6 @@ documentation: description: | Web server which can also be used as a reverse proxy, load balancer, mail proxy, and HTTP cache. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/nginx-monitoring-integration/ -installPlans: - - nginx-integration dataSourceIds: - nginx keywords: diff --git a/quickstarts/node-exporter/config.yml b/quickstarts/node-exporter/config.yml index 18a020e302..9d4306b4bb 100644 --- a/quickstarts/node-exporter/config.yml +++ b/quickstarts/node-exporter/config.yml @@ -39,8 +39,6 @@ keywords: - network - NR1_addData - NR1_sys -installPlans: - - setup-prometheus dataSourceIds: - prometheus documentation: diff --git a/quickstarts/node-js/express/config.yml b/quickstarts/node-js/express/config.yml index 0d028e2fd3..b01bcc7113 100644 --- a/quickstarts/node-js/express/config.yml +++ b/quickstarts/node-js/express/config.yml @@ -31,8 +31,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/hapi/config.yml b/quickstarts/node-js/hapi/config.yml index 83eeb5a5ba..a4bcd87552 100644 --- a/quickstarts/node-js/hapi/config.yml +++ b/quickstarts/node-js/hapi/config.yml @@ -33,8 +33,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/koa/config.yml b/quickstarts/node-js/koa/config.yml index 15dcbce98e..a00de89cd7 100644 --- a/quickstarts/node-js/koa/config.yml +++ b/quickstarts/node-js/koa/config.yml @@ -31,8 +31,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/node-js/config.yml b/quickstarts/node-js/node-js/config.yml index b41f2d60c7..4766f0fb16 100644 --- a/quickstarts/node-js/node-js/config.yml +++ b/quickstarts/node-js/node-js/config.yml @@ -3,17 +3,17 @@ slug: node-js description: | ## The comprehensive Node.js monitoring system - Node.js is an open-source platform built on Chrome's JavaScript runtime used to develop fast and scalable applications quickly with an event-driven, non-blocking input/output architecture. + Node.js is an open-source platform built on Chrome's JavaScript runtime used to develop fast and scalable applications quickly with an event-driven, non-blocking input/output architecture. However, these attributes can be inconvenient because verifying the correctness of an application with asynchronous nested callbacks is complex. So, it’s important to watch executing Node.js systems closely. Monitoring your Node.js applications ensures optimal performance, allows the maximization of system availability, and ensures that a system’s health is well maintained. - ### What should you look for in a Node.js dashboard? + ### What should you look for in a Node.js dashboard? - A [reliable Node.js network monitor](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/) must provide enough information to identify the problem sources. Some crucial information includes process ID, log management, request rate, application availability, resource usage, uptime, downtime, system health, error rates and handling, number of connections, load average, and latency. + A [reliable Node.js network monitor](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/) must provide enough information to identify the problem sources. Some crucial information includes process ID, log management, request rate, application availability, resource usage, uptime, downtime, system health, error rates and handling, number of connections, load average, and latency. ### What’s included in the Node.js quickstart? - Install this quickstart to install preconfigured observability solutions: + Install this quickstart to install preconfigured observability solutions: - Multiple high-value alerts, including Apdex score and CPU utilization - Informative dashboards (Slowest transactions, throughput comparisons, and more) @@ -41,8 +41,6 @@ keywords: - node - language agent - most popular -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/restify/config.yml b/quickstarts/node-js/restify/config.yml index c27abccddd..0a2d5f84be 100644 --- a/quickstarts/node-js/restify/config.yml +++ b/quickstarts/node-js/restify/config.yml @@ -31,8 +31,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/typescript/config.yml b/quickstarts/node-js/typescript/config.yml index 3997e11405..c6460c6ae2 100644 --- a/quickstarts/node-js/typescript/config.yml +++ b/quickstarts/node-js/typescript/config.yml @@ -37,8 +37,6 @@ keywords: - node.js - typescript - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/observability-as-code/ansible/config.yml b/quickstarts/observability-as-code/ansible/config.yml index e8b4e34c0a..ccca778760 100644 --- a/quickstarts/observability-as-code/ansible/config.yml +++ b/quickstarts/observability-as-code/ansible/config.yml @@ -24,8 +24,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-ansible dataSourceIds: - ansible-install documentation: diff --git a/quickstarts/observability-as-code/chef/config.yml b/quickstarts/observability-as-code/chef/config.yml index 2cd5057689..7eae0095ae 100644 --- a/quickstarts/observability-as-code/chef/config.yml +++ b/quickstarts/observability-as-code/chef/config.yml @@ -22,8 +22,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-chef dataSourceIds: - chef-install documentation: diff --git a/quickstarts/observability-as-code/cli/config.yml b/quickstarts/observability-as-code/cli/config.yml index 770311e14a..c18912c4d2 100644 --- a/quickstarts/observability-as-code/cli/config.yml +++ b/quickstarts/observability-as-code/cli/config.yml @@ -15,8 +15,6 @@ documentation: description: | This guide walks you through the essentials of New Relic CLI, from install and configuration to basic usage. url: https://developer.newrelic.com/automate-workflows/get-started-new-relic-cli/ -installPlans: - - third-party-newrelic-cli dataSourceIds: - newrelic-cli keywords: diff --git a/quickstarts/observability-as-code/pulumi/config.yml b/quickstarts/observability-as-code/pulumi/config.yml index 0e3da6b5b1..c62ec5f2f2 100644 --- a/quickstarts/observability-as-code/pulumi/config.yml +++ b/quickstarts/observability-as-code/pulumi/config.yml @@ -23,8 +23,6 @@ keywords: - gitops - NR1_addData - NR1_sys -installPlans: - - third-party-pulumi dataSourceIds: - pulumi documentation: diff --git a/quickstarts/observability-as-code/puppet/config.yml b/quickstarts/observability-as-code/puppet/config.yml index 341f93472a..65609dc6bf 100644 --- a/quickstarts/observability-as-code/puppet/config.yml +++ b/quickstarts/observability-as-code/puppet/config.yml @@ -20,8 +20,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-puppet dataSourceIds: - puppet-install documentation: diff --git a/quickstarts/observability-as-code/terraform/config.yml b/quickstarts/observability-as-code/terraform/config.yml index ddfd35add7..e50601ff05 100644 --- a/quickstarts/observability-as-code/terraform/config.yml +++ b/quickstarts/observability-as-code/terraform/config.yml @@ -21,8 +21,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-terraform dataSourceIds: - terraform documentation: diff --git a/quickstarts/okhttp/config.yml b/quickstarts/okhttp/config.yml index 99cc9cc33f..eaced1b3c5 100644 --- a/quickstarts/okhttp/config.yml +++ b/quickstarts/okhttp/config.yml @@ -11,8 +11,6 @@ level: New Relic authors: - New Relic title: OKHTTP -installPlans: - - third-party-okhttp dataSourceIds: - okhttp documentation: diff --git a/quickstarts/oma-aqm/config.yml b/quickstarts/oma-aqm/config.yml index 2e7ac8678f..0f62e7230a 100644 --- a/quickstarts/oma-aqm/config.yml +++ b/quickstarts/oma-aqm/config.yml @@ -22,8 +22,6 @@ documentation: url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/uptime-performance-reliability/aqm-implementation-guide/ description: | The implementation guide will show you how to implement the AQM process, including the webhook required to generate the data that feeds this dashboard. -installPlans: - - third-party-alert-quality-management dataSourceIds: - alert-quality-management icon: logo.png diff --git a/quickstarts/oma-bofu/config.yml b/quickstarts/oma-bofu/config.yml index 711f4bb0f9..194cfa4884 100644 --- a/quickstarts/oma-bofu/config.yml +++ b/quickstarts/oma-bofu/config.yml @@ -2,11 +2,11 @@ id: 8d339aa7-69e3-4efa-abc2-9eba600db91c slug: customer-experience-bottom-funnel-analysis title: Customer Experience Bottom of the funnel analysis description: | - Bottom of the funnel analysis uses cart abandonment reduction techniques and applies them to any user journey where conversion (completing the user journey) matters. + Bottom of the funnel analysis uses cart abandonment reduction techniques and applies them to any user journey where conversion (completing the user journey) matters. For more information view the [implementation guide](https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/bottom-funnel-analysis-customer-journey-guide) summary: | - Use cart abandonment reduction techniques to improve completion rates of any user journey + Use cart abandonment reduction techniques to improve completion rates of any user journey level: New Relic authors: - Kim Hickey @@ -30,8 +30,6 @@ documentation: description: | Explains what bottom of the funnel analysis is and how to apply it url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/bottom-funnel-analysis-customer-journey-guide -installPlans: - - third-party-customer-experience-bottom-funnel-analysis dataSourceIds: - customer-experience-bottom-funnel-analysis icon: logo.svg diff --git a/quickstarts/oma-data-gov/config.yml b/quickstarts/oma-data-gov/config.yml index 6114b2b229..c2b9166ef9 100644 --- a/quickstarts/oma-data-gov/config.yml +++ b/quickstarts/oma-data-gov/config.yml @@ -14,8 +14,6 @@ keywords: - Data Governance - Data Consumption - Manage Data Ingest -installPlans: - - solutions-hub-dashboards dataSourceIds: - solutions-hub-dashboards documentation: diff --git a/quickstarts/oma-qf/config.yml b/quickstarts/oma-qf/config.yml index f1a2a2fde4..c8cc1c772d 100644 --- a/quickstarts/oma-qf/config.yml +++ b/quickstarts/oma-qf/config.yml @@ -2,7 +2,7 @@ id: 7a5739bf-30ee-4be9-9705-14871cafd7f4 slug: customer-experience-quality-foundation title: Customer Experience Quality Foundation description: | - Quality foundation helps you see what your user's perception of web performance is. It does this in two ways: (1) focuses on user experience metrics for availability, page load, and in-page actions (2) segments data by device type, region, and user journey + Quality foundation helps you see what your user's perception of web performance is. It does this in two ways: (1) focuses on user experience metrics for availability, page load, and in-page actions (2) segments data by device type, region, and user journey For more information view the [implementation guide](https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide) summary: | @@ -26,8 +26,6 @@ documentation: description: | Explains what quality foundation is and how to apply it url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide -installPlans: - - third-party-customer-experience-quality-foundation dataSourceIds: - customer-experience-quality-foundation icon: logo.svg diff --git a/quickstarts/opencensus/config.yml b/quickstarts/opencensus/config.yml index 4c2faffc25..6a5753a202 100644 --- a/quickstarts/opencensus/config.yml +++ b/quickstarts/opencensus/config.yml @@ -17,8 +17,6 @@ level: New Relic authors: - New Relic title: OpenCensus -installPlans: - - third-party-opencensus dataSourceIds: - opencensus documentation: diff --git a/quickstarts/opentelemetry/config.yml b/quickstarts/opentelemetry/config.yml index 5580d82181..47978b04fc 100644 --- a/quickstarts/opentelemetry/config.yml +++ b/quickstarts/opentelemetry/config.yml @@ -27,8 +27,6 @@ level: New Relic authors: - New Relic title: OpenTelemetry -installPlans: - - third-party-opentelemetry dataSourceIds: - opentelemetry documentation: diff --git a/quickstarts/oracle/inet-oracle-driver/config.yml b/quickstarts/oracle/inet-oracle-driver/config.yml index 04444beb12..5e138446d2 100644 --- a/quickstarts/oracle/inet-oracle-driver/config.yml +++ b/quickstarts/oracle/inet-oracle-driver/config.yml @@ -7,8 +7,6 @@ level: New Relic authors: - New Relic title: Inet Oracle Driver (oranxo) -installPlans: - - third-party-inet-oracle-driver dataSourceIds: - java documentation: diff --git a/quickstarts/oracle/oracle-database/config.yml b/quickstarts/oracle/oracle-database/config.yml index 42e670e567..71b4dce3fb 100644 --- a/quickstarts/oracle/oracle-database/config.yml +++ b/quickstarts/oracle/oracle-database/config.yml @@ -12,8 +12,6 @@ level: New Relic authors: - New Relic title: Oracle Database -installPlans: - - third-party-oracledb dataSourceIds: - oracle-database documentation: diff --git a/quickstarts/pagerduty/pagerduty/config.yml b/quickstarts/pagerduty/pagerduty/config.yml index e65c329a2a..ea4c107f0e 100644 --- a/quickstarts/pagerduty/pagerduty/config.yml +++ b/quickstarts/pagerduty/pagerduty/config.yml @@ -19,8 +19,6 @@ level: New Relic authors: - New Relic title: Pagerduty -installPlans: - - third-party-pagerduty dataSourceIds: - pagerduty documentation: diff --git a/quickstarts/perfmon/config.yml b/quickstarts/perfmon/config.yml index 1f6cbef113..a84930a318 100644 --- a/quickstarts/perfmon/config.yml +++ b/quickstarts/perfmon/config.yml @@ -17,8 +17,6 @@ documentation: Windows Performance Monitor is a toolkit that enables system performance data and analytics. url: https://docs.newrelic.com/docs/perfmon-open-source-integration -installPlans: - - third-party-perfmon dataSourceIds: - perfmon keywords: diff --git a/quickstarts/php/cakephp/config.yml b/quickstarts/php/cakephp/config.yml index 9f9908b026..d1b8d9d553 100644 --- a/quickstarts/php/cakephp/config.yml +++ b/quickstarts/php/cakephp/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/codeigniter/config.yml b/quickstarts/php/codeigniter/config.yml index ca0848b356..378c3d082f 100644 --- a/quickstarts/php/codeigniter/config.yml +++ b/quickstarts/php/codeigniter/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for CodeIgniter. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for CodeIgniter. summary: Monitor CodeIgniter with New Relic's PHP agent icon: logo.svg level: New Relic @@ -26,8 +26,6 @@ keywords: - apm - php - language agent -installPlans: - - php-targeted-install dataSourceIds: - php dashboards: diff --git a/quickstarts/php/guzzle/config.yml b/quickstarts/php/guzzle/config.yml index 8a2fbbdb76..cc6a3a9190 100644 --- a/quickstarts/php/guzzle/config.yml +++ b/quickstarts/php/guzzle/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/joomla/config.yml b/quickstarts/php/joomla/config.yml index 4450af8f94..df76fb41c5 100644 --- a/quickstarts/php/joomla/config.yml +++ b/quickstarts/php/joomla/config.yml @@ -33,8 +33,6 @@ keywords: - cms - content management system - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/kohana/config.yml b/quickstarts/php/kohana/config.yml index 06c62c269c..4f08d0755e 100644 --- a/quickstarts/php/kohana/config.yml +++ b/quickstarts/php/kohana/config.yml @@ -20,7 +20,7 @@ description: | - Customizable charts for metric timeslice data and other custom metrics sent to New Relic - Kohana dashboards (for transactions overview, errors overview, VM overview, top five slowest transactions, latest error, and more) - When you accelerate troubleshooting with distributed tracing and enhanced visibility into application and data lags in a Kohana dashboard, it's much easier for your team to quickly identify and resolve potential errors and ensure uptime. + When you accelerate troubleshooting with distributed tracing and enhanced visibility into application and data lags in a Kohana dashboard, it's much easier for your team to quickly identify and resolve potential errors and ensure uptime. ### The Complete Kohana PHP Dashboard Tool @@ -46,8 +46,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/laravel/config.yml b/quickstarts/php/laravel/config.yml index a51d8967e0..462ef5a8bb 100644 --- a/quickstarts/php/laravel/config.yml +++ b/quickstarts/php/laravel/config.yml @@ -1,14 +1,14 @@ id: 919aad44-52ba-47fd-9e29-12195979015e slug: laravel description: | - ## Laravel PHP Monitoring + ## Laravel PHP Monitoring Laravel is a free, open-source PHP model-view-controller web framework that empowers developers to carry out common tasks in web and app development projects with ease. ### New Relic Laravel quickstart features The New Relic Laravel monitoring quickstart has the following features: - - Our standard dashboard provides a clear overview of transactions, errors and virtual machines. + - Our standard dashboard provides a clear overview of transactions, errors and virtual machines. - The Laravel PHP dashboard also helps you track other key indicators like daily transaction errors, comparison between weekly transaction errors, most popular transactions, and more. - Pre-defined alert conditions notify you on performance metrics like duration, error rate and throughput. @@ -34,8 +34,6 @@ keywords: - php - language agent - most popular -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/magento/config.yml b/quickstarts/php/magento/config.yml index bda784e01d..2e09bea770 100644 --- a/quickstarts/php/magento/config.yml +++ b/quickstarts/php/magento/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Magento. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Magento. summary: Monitor Magento with New Relic's PHP agent icon: logo.svg level: New Relic @@ -28,8 +28,6 @@ keywords: - cms - content management system - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/mediawiki/config.yml b/quickstarts/php/mediawiki/config.yml index 5e05cecf80..13417d28a6 100644 --- a/quickstarts/php/mediawiki/config.yml +++ b/quickstarts/php/mediawiki/config.yml @@ -33,8 +33,6 @@ keywords: - cms - content management system - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/odbc/config.yml b/quickstarts/php/odbc/config.yml index a143cc88d7..1a3c49bbd4 100644 --- a/quickstarts/php/odbc/config.yml +++ b/quickstarts/php/odbc/config.yml @@ -32,8 +32,6 @@ keywords: - php - database - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/pdo/config.yml b/quickstarts/php/pdo/config.yml index ffd7841a1c..0392f8f936 100644 --- a/quickstarts/php/pdo/config.yml +++ b/quickstarts/php/pdo/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PDO. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PDO. summary: Monitor PDO with New Relic's PHP agent icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ keywords: - php - database - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/php/config.yml b/quickstarts/php/php/config.yml index 1cb2c8d88f..cb45c0f162 100644 --- a/quickstarts/php/php/config.yml +++ b/quickstarts/php/php/config.yml @@ -6,7 +6,7 @@ description: | Use our PHP monitoring agent to see a high-level summary of their app performance in a comprehensive PHP dashboard. Help teams monitor the app's Apdex, build architectural maps, and find and resolve errors quickly. - Our [PHP agent](https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php/) collects and analyzes application data that drive data-driven decisions. Organize data, query data using NRQL, and visualize data (in customizable interactive dashboards) that directly impact customer experiences. + Our [PHP agent](https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php/) collects and analyzes application data that drive data-driven decisions. Organize data, query data using NRQL, and visualize data (in customizable interactive dashboards) that directly impact customer experiences. ### Real-time PHP metric monitoring @@ -41,8 +41,6 @@ keywords: - php - language agent - most popular -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/phpunit/config.yml b/quickstarts/php/phpunit/config.yml index 0ec3cfa03a..08c0e6bbe9 100644 --- a/quickstarts/php/phpunit/config.yml +++ b/quickstarts/php/phpunit/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PHPunit. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PHPunit. summary: Monitor PHPunit with New Relic's PHP agent icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ keywords: - php - testing - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/predis/config.yml b/quickstarts/php/predis/config.yml index 5e2d6c823f..f1e0c019c5 100644 --- a/quickstarts/php/predis/config.yml +++ b/quickstarts/php/predis/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Predis. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Predis. summary: Monitor Predis with New Relic's PHP agent icon: logo.svg level: New Relic @@ -22,8 +22,6 @@ documentation: - name: Predis installation docs description: Predis is a flexible and feature-complete Redis client for PHP. url: https://docs.newrelic.com/docs/agents/php-agent/frameworks-libraries/predis-library-php -installPlans: - - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/php/silex/config.yml b/quickstarts/php/silex/config.yml index 1a4b50e81f..0de9ef505b 100644 --- a/quickstarts/php/silex/config.yml +++ b/quickstarts/php/silex/config.yml @@ -15,8 +15,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/slim/config.yml b/quickstarts/php/slim/config.yml index 065db211bc..3c6cdaeb41 100644 --- a/quickstarts/php/slim/config.yml +++ b/quickstarts/php/slim/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/sqlite/config.yml b/quickstarts/php/sqlite/config.yml index 6a9e799ba7..d83625deed 100644 --- a/quickstarts/php/sqlite/config.yml +++ b/quickstarts/php/sqlite/config.yml @@ -32,8 +32,6 @@ keywords: - php - database - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/symfony/config.yml b/quickstarts/php/symfony/config.yml index b0d1f6010b..4516dce71f 100644 --- a/quickstarts/php/symfony/config.yml +++ b/quickstarts/php/symfony/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/yii/config.yml b/quickstarts/php/yii/config.yml index 58eb34fa84..7f9f511678 100644 --- a/quickstarts/php/yii/config.yml +++ b/quickstarts/php/yii/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Yii. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Yii. summary: Monitor Yii with New Relic's PHP agent icon: logo.svg level: New Relic @@ -26,8 +26,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/pixie/config.yml b/quickstarts/pixie/config.yml index 7bd3da6533..9cc6d5a11b 100644 --- a/quickstarts/pixie/config.yml +++ b/quickstarts/pixie/config.yml @@ -32,8 +32,6 @@ keywords: # Reference to install plans located under /install directory # Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - kubernetes-install dataSourceIds: - pixie diff --git a/quickstarts/port-monitoring/config.yml b/quickstarts/port-monitoring/config.yml index 988c843403..265fa9bacd 100644 --- a/quickstarts/port-monitoring/config.yml +++ b/quickstarts/port-monitoring/config.yml @@ -27,8 +27,6 @@ documentation: - name: Port monitoring installation docs description: Monitor the status for networking ports, such as TCP, UDP, etc. url: https://docs.newrelic.com/docs/port-monitoring-open-source-integration -installPlans: - - third-party-port-monitoring dataSourceIds: - port-monitoring keywords: diff --git a/quickstarts/postgresql/config.yml b/quickstarts/postgresql/config.yml index eb1cb90443..1cde960575 100644 --- a/quickstarts/postgresql/config.yml +++ b/quickstarts/postgresql/config.yml @@ -17,8 +17,6 @@ documentation: description: | Object-relational database management system designed to handle a range of workloads from single machines to data warehouses or services. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/postgresql-monitoring-integration/ -installPlans: - - postgresql-integration dataSourceIds: - postgresql keywords: diff --git a/quickstarts/postman/config.yml b/quickstarts/postman/config.yml index 85bad7ed4a..81efc358fd 100644 --- a/quickstarts/postman/config.yml +++ b/quickstarts/postman/config.yml @@ -33,8 +33,6 @@ keywords: - featured - NR1_addData - NR1_sys -installPlans: - - third-party-postman dataSourceIds: - postman documentation: diff --git a/quickstarts/prometheus-agent/config.yml b/quickstarts/prometheus-agent/config.yml index 41ab0fa044..df6b0eff6e 100644 --- a/quickstarts/prometheus-agent/config.yml +++ b/quickstarts/prometheus-agent/config.yml @@ -4,7 +4,7 @@ title: Prometheus Agent description: | ## About New Relic Prometheus Agent - New Relic created the [Prometheus Agent](https://github.com/newrelic/newrelic-prometheus-configurator) in order to simplify the experience of configuring features like discovery, filtering, metrics decoration, and sharding. + New Relic created the [Prometheus Agent](https://github.com/newrelic/newrelic-prometheus-configurator) in order to simplify the experience of configuring features like discovery, filtering, metrics decoration, and sharding. It generates a configuration file that is used to run a Prometheus Server in Agent mode to later send the metrics to the New Relic Remote Write Endpoint. @@ -17,8 +17,6 @@ level: New Relic authors: - New Relic - Marc Sanmiquel -installPlans: - - setup-prometheus-agent-mode dataSourceIds: - prometheus-agent-mode documentation: diff --git a/quickstarts/prometheus-remote-write/config.yml b/quickstarts/prometheus-remote-write/config.yml index 33b9df208f..0b829807d3 100644 --- a/quickstarts/prometheus-remote-write/config.yml +++ b/quickstarts/prometheus-remote-write/config.yml @@ -1,21 +1,21 @@ id: 7dbd7355-c380-4211-bd32-fed9a65351af slug: prometheus-remote-write description: | - ## Prometheus monitoring + ## Prometheus monitoring Prometheus is an open-source monitoring and alerting toolkit. Setting up Prometheus is straightforward, but scaling up and managing is not. That’s where New Relic steps in. ### New Relic's Prometheus quickstart - New Relic offers two Prometheus integration schemes, Remote Write and OpenMetrics. + New Relic offers two Prometheus integration schemes, Remote Write and OpenMetrics. - [Remote Write](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-remote-write/prometheus-remote-write-integration/) is ideal for well-established Prometheus infrastructures. It provides easy access to your metrics and only takes one line of yaml in your configuration for access. + [Remote Write](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-remote-write/prometheus-remote-write-integration/) is ideal for well-established Prometheus infrastructures. It provides easy access to your metrics and only takes one line of yaml in your configuration for access. [OpenMetrics](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-openmetrics/configure-prometheus-openmetrics-integrations/) allows for more visibility across multiple container platforms. Once the integration is set up, you can query data on memory usage for pods in deployment, facet any metrics, and view raw metric values all in one place. - New Relic's Prometheus Integration stores various kinds of telemetry data - whether open-source, vendor-specific, or vendor-agnostic. + New Relic's Prometheus Integration stores various kinds of telemetry data - whether open-source, vendor-specific, or vendor-agnostic. - ### Value of the Prometheus quickstart + ### Value of the Prometheus quickstart This New Relic quickstart helps you to configure Prometheus Remote Write. @@ -39,8 +39,6 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-remote-write/set-your-prometheus-remote-write-integration/ keywords: - open source monitoring -installPlans: - - setup-prometheus dataSourceIds: - prometheus dashboards: diff --git a/quickstarts/python/aiohttp/config.yml b/quickstarts/python/aiohttp/config.yml index 2f7d4f11e4..ad32695e7d 100644 --- a/quickstarts/python/aiohttp/config.yml +++ b/quickstarts/python/aiohttp/config.yml @@ -42,8 +42,6 @@ keywords: - apm - http - aiohttp -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/amqplib/config.yml b/quickstarts/python/amqplib/config.yml index 9af55b86dd..920710dd4b 100644 --- a/quickstarts/python/amqplib/config.yml +++ b/quickstarts/python/amqplib/config.yml @@ -31,8 +31,6 @@ keywords: - apm - python - NR1_addData -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/bottle/config.yml b/quickstarts/python/bottle/config.yml index 079524edd1..14b0075a5c 100644 --- a/quickstarts/python/bottle/config.yml +++ b/quickstarts/python/bottle/config.yml @@ -30,8 +30,6 @@ keywords: - apm - python - bottle -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/celery/config.yml b/quickstarts/python/celery/config.yml index e34653aec8..7a7257f495 100644 --- a/quickstarts/python/celery/config.yml +++ b/quickstarts/python/celery/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - celery -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/cherrypy/config.yml b/quickstarts/python/cherrypy/config.yml index 8fc15c9848..cd76440172 100644 --- a/quickstarts/python/cherrypy/config.yml +++ b/quickstarts/python/cherrypy/config.yml @@ -7,7 +7,7 @@ description: | ### CherryPy quickstart highlights - The New Relic CherryPy Quickstart has the following features - + The New Relic CherryPy Quickstart has the following features - Dashboards - Monitor metrics like CPU Utilization, memory heap used, garbage collection CPU time, top 5 slowest transactions, throughput reports, and most popular transactions, and more. Alerts - including apdex score, cpu utilization and transaction tracing @@ -33,8 +33,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/django/config.yml b/quickstarts/python/django/config.yml index e23d5f6bae..4837c03b48 100644 --- a/quickstarts/python/django/config.yml +++ b/quickstarts/python/django/config.yml @@ -37,8 +37,6 @@ keywords: - python - django - most popular -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/facepy/config.yml b/quickstarts/python/facepy/config.yml index dbd44eb7d1..111b5e8f74 100644 --- a/quickstarts/python/facepy/config.yml +++ b/quickstarts/python/facepy/config.yml @@ -28,8 +28,6 @@ keywords: - apm - python - facepy -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/falcon/config.yml b/quickstarts/python/falcon/config.yml index 2ef8ebee70..336b7e9844 100644 --- a/quickstarts/python/falcon/config.yml +++ b/quickstarts/python/falcon/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/fastapi/config.yml b/quickstarts/python/fastapi/config.yml index 2e7b224e33..a406436075 100644 --- a/quickstarts/python/fastapi/config.yml +++ b/quickstarts/python/fastapi/config.yml @@ -31,8 +31,6 @@ keywords: - python - language agent - fastapi -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/feedparser/config.yml b/quickstarts/python/feedparser/config.yml index c9f3e899e3..7d6a9652db 100644 --- a/quickstarts/python/feedparser/config.yml +++ b/quickstarts/python/feedparser/config.yml @@ -39,8 +39,6 @@ keywords: - apm - python - feedparser -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/flask/config.yml b/quickstarts/python/flask/config.yml index 9565e9987b..0979817c4e 100644 --- a/quickstarts/python/flask/config.yml +++ b/quickstarts/python/flask/config.yml @@ -48,8 +48,6 @@ keywords: - apm - python - flask -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/gearman/config.yml b/quickstarts/python/gearman/config.yml index bf263e0106..660a3cc02c 100644 --- a/quickstarts/python/gearman/config.yml +++ b/quickstarts/python/gearman/config.yml @@ -25,8 +25,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/gevent/config.yml b/quickstarts/python/gevent/config.yml index 9f33009e16..cc0f6f6ba5 100644 --- a/quickstarts/python/gevent/config.yml +++ b/quickstarts/python/gevent/config.yml @@ -30,8 +30,6 @@ keywords: - apm - python - gevent -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/httplib2/config.yml b/quickstarts/python/httplib2/config.yml index c27faf3ace..224ee4645a 100644 --- a/quickstarts/python/httplib2/config.yml +++ b/quickstarts/python/httplib2/config.yml @@ -30,8 +30,6 @@ keywords: - httplib2 - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/jinja2/config.yml b/quickstarts/python/jinja2/config.yml index cc67681a63..737225a2fe 100644 --- a/quickstarts/python/jinja2/config.yml +++ b/quickstarts/python/jinja2/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/mako/config.yml b/quickstarts/python/mako/config.yml index cd26b00fb3..e0aa0953c0 100644 --- a/quickstarts/python/mako/config.yml +++ b/quickstarts/python/mako/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - mako -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/oursql/config.yml b/quickstarts/python/oursql/config.yml index 599246baa8..8ab8a57984 100644 --- a/quickstarts/python/oursql/config.yml +++ b/quickstarts/python/oursql/config.yml @@ -31,8 +31,6 @@ keywords: - apm - python - database -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pika/config.yml b/quickstarts/python/pika/config.yml index 438d20784b..70135d3621 100644 --- a/quickstarts/python/pika/config.yml +++ b/quickstarts/python/pika/config.yml @@ -25,8 +25,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/piston/config.yml b/quickstarts/python/piston/config.yml index 7c280b5049..9dacc5f419 100644 --- a/quickstarts/python/piston/config.yml +++ b/quickstarts/python/piston/config.yml @@ -25,8 +25,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/proboscis/config.yml b/quickstarts/python/proboscis/config.yml index 4de1d9de19..20048a9969 100644 --- a/quickstarts/python/proboscis/config.yml +++ b/quickstarts/python/proboscis/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/psycopg2/config.yml b/quickstarts/python/psycopg2/config.yml index 9195d19526..0447f816b7 100644 --- a/quickstarts/python/psycopg2/config.yml +++ b/quickstarts/python/psycopg2/config.yml @@ -11,7 +11,7 @@ description: | The Quickstart offers a number of visual dashboards that display the following data: - CPU Utilization - - Memory heap used + - Memory heap used - Garbage collection CPU time - Top 5 slowest transactions - Throughput reports @@ -25,7 +25,7 @@ description: | ### New Relic - The complete Psycopg2 dashboard tool - Any [Python application](https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/introduction-new-relic-python/) which interfaces with a Postgres database is likely to use Psycopg2. This spans a huge array of applications from web backends to machine learning tools to general data stores. Regardless of the specific application, working with Psycopg2 on large-scale projects requires instantiating multiple simultaneous connections with the database. When this many connections are active at once, applications running Psycopg2 become prone to slowdowns or failure. + Any [Python application](https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/introduction-new-relic-python/) which interfaces with a Postgres database is likely to use Psycopg2. This spans a huge array of applications from web backends to machine learning tools to general data stores. Regardless of the specific application, working with Psycopg2 on large-scale projects requires instantiating multiple simultaneous connections with the database. When this many connections are active at once, applications running Psycopg2 become prone to slowdowns or failure. This observability pack can help you detect those before they become an issue. For example, the New Relic dashboards and alerts relating to CPU utilization provide notifications when a CPU running Psycopg2 nears full capacity. This can be used as a diagnostic tool to identify which sections of an application might need refinements or refactoring. @@ -49,8 +49,6 @@ keywords: - python - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pyelasticsearch/config.yml b/quickstarts/python/pyelasticsearch/config.yml index 9284b23593..8ca243f9ce 100644 --- a/quickstarts/python/pyelasticsearch/config.yml +++ b/quickstarts/python/pyelasticsearch/config.yml @@ -32,8 +32,6 @@ keywords: - python - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pylibmc/config.yml b/quickstarts/python/pylibmc/config.yml index 3306f94716..c38cd23fcf 100644 --- a/quickstarts/python/pylibmc/config.yml +++ b/quickstarts/python/pylibmc/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - pylibmc -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pylons/config.yml b/quickstarts/python/pylons/config.yml index d0baed17ee..74d77e6de7 100644 --- a/quickstarts/python/pylons/config.yml +++ b/quickstarts/python/pylons/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pymongo/config.yml b/quickstarts/python/pymongo/config.yml index b03f971156..47a0d3beba 100644 --- a/quickstarts/python/pymongo/config.yml +++ b/quickstarts/python/pymongo/config.yml @@ -33,8 +33,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pyramid/config.yml b/quickstarts/python/pyramid/config.yml index 821d546e82..0214c782f5 100644 --- a/quickstarts/python/pyramid/config.yml +++ b/quickstarts/python/pyramid/config.yml @@ -31,8 +31,6 @@ keywords: - python - pyramid - WSGI -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pysqlite/config.yml b/quickstarts/python/pysqlite/config.yml index 153a04b022..7c17073b78 100644 --- a/quickstarts/python/pysqlite/config.yml +++ b/quickstarts/python/pysqlite/config.yml @@ -31,8 +31,6 @@ keywords: - apm - python - database -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/python/config.yml b/quickstarts/python/python/config.yml index 514abbbd69..0b77a29dcc 100644 --- a/quickstarts/python/python/config.yml +++ b/quickstarts/python/python/config.yml @@ -9,7 +9,7 @@ description: | ### Why monitoring Python is so important - Python monitoring agents enable developers to troubleshoot application and endpoint issues, identify specific dependencies, and meet service level agreements. + Python monitoring agents enable developers to troubleshoot application and endpoint issues, identify specific dependencies, and meet service level agreements. Development teams can view detailed stack traces of sampled threads and extend performance monitoring to collect and analyze business data in a dashboard. This approach helps teams make data-driven decisions and enhance user experiences. @@ -17,7 +17,7 @@ description: | New Relic's Python monitoring quickstart boasts instant full-stack observability out-of-the-box: - Alerts (Adpex score, CPU utilization, transaction error) - - Dashboards (most popular transactions, average transaction duration today compared with that for the previous week, Adpex score comparisons, and more) + - Dashboards (most popular transactions, average transaction duration today compared with that for the previous week, Adpex score comparisons, and more) - Monitor scripts and functions - Monitor WSGI web transactions @@ -53,8 +53,6 @@ keywords: - apm - python - language agent -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/sanic/config.yml b/quickstarts/python/sanic/config.yml index ec896a69f4..71c7a455c2 100644 --- a/quickstarts/python/sanic/config.yml +++ b/quickstarts/python/sanic/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/tastypie/config.yml b/quickstarts/python/tastypie/config.yml index f62d1210fb..831f04c6ac 100644 --- a/quickstarts/python/tastypie/config.yml +++ b/quickstarts/python/tastypie/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/tornado/config.yml b/quickstarts/python/tornado/config.yml index 0cf1926135..92bb5938bb 100644 --- a/quickstarts/python/tornado/config.yml +++ b/quickstarts/python/tornado/config.yml @@ -25,8 +25,6 @@ keywords: - apm - python - tornado -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/twisted/config.yml b/quickstarts/python/twisted/config.yml index 16c6193e44..37d9b5ca24 100644 --- a/quickstarts/python/twisted/config.yml +++ b/quickstarts/python/twisted/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - twisted -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/web2py/config.yml b/quickstarts/python/web2py/config.yml index 89504a5a71..0c3ea7adf8 100644 --- a/quickstarts/python/web2py/config.yml +++ b/quickstarts/python/web2py/config.yml @@ -28,8 +28,6 @@ keywords: - apm - python - web2py -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/webpy/config.yml b/quickstarts/python/webpy/config.yml index 6ef4c0471d..58055c532a 100644 --- a/quickstarts/python/webpy/config.yml +++ b/quickstarts/python/webpy/config.yml @@ -35,8 +35,6 @@ keywords: - apm - python - webpy -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/quantum-metric/config.yml b/quickstarts/quantum-metric/config.yml index 0c8b77dd33..679d03f6db 100644 --- a/quickstarts/quantum-metric/config.yml +++ b/quickstarts/quantum-metric/config.yml @@ -7,8 +7,6 @@ level: Community authors: - Quantum Metric title: Quantum Metric -installPlans: - - third-party-quantum-metric dataSourceIds: - quantum-metric documentation: diff --git a/quickstarts/rabbitmq/config.yml b/quickstarts/rabbitmq/config.yml index 5df4e4aa51..247646cb2a 100644 --- a/quickstarts/rabbitmq/config.yml +++ b/quickstarts/rabbitmq/config.yml @@ -4,7 +4,7 @@ title: RabbitMQ description: | ## RabbitMQ performance - RabbitMQ is an open-source message broker that supports multiple protocols. It acts as a broker, fielding messages sent from a “producer” application and distributing them to the “consumer” applications for which they are designated. + RabbitMQ is an open-source message broker that supports multiple protocols. It acts as a broker, fielding messages sent from a “producer” application and distributing them to the “consumer” applications for which they are designated. The New Relic RabbitMQ agent monitors the performance of RabbitMQ instances, giving insights into their activity. It targets the AMQP RabbitMQ distribution that integrates with Node.js. @@ -22,11 +22,11 @@ description: | ### New Relic + RabbitMQ - Your tool for better monitoring - [Monitor RabbitMQ](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/) to ensure it’s coordinating messages between producer and consumer apps in a timely and efficient manner. Silent failures are common in RabbitMQ, frequently causing messages to hang or never be delivered. + [Monitor RabbitMQ](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/) to ensure it’s coordinating messages between producer and consumer apps in a timely and efficient manner. Silent failures are common in RabbitMQ, frequently causing messages to hang or never be delivered. This can drastically warp the downstream behavior of an app. By monitoring RabbitMQ application health, system administrators can catch these errors before they occur. - The key metrics to keep an eye on include memory usage, message throughput and utilization by queue, and queue consumers. Monitoring memory usage allows for detection of system overloads. Similarly, throughput and utilization trade off on queue capacity. + The key metrics to keep an eye on include memory usage, message throughput and utilization by queue, and queue consumers. Monitoring memory usage allows for detection of system overloads. Similarly, throughput and utilization trade off on queue capacity. Queues that are underutilized can be identified for message acceptance, and queues with low throughput can be investigated for hanging messages. Finally, insight into queue consumers can help to evenly distribute them across available queues. summary: | @@ -42,8 +42,6 @@ documentation: description: | Lightweight message queue and broker service that gives disparate services a common communication point. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/ -installPlans: - - rabbitmq-integration dataSourceIds: - rabbitmq keywords: diff --git a/quickstarts/redhat/red-hat-enterprise-linux/config.yml b/quickstarts/redhat/red-hat-enterprise-linux/config.yml index c0aef3a684..d00056f4e0 100644 --- a/quickstarts/redhat/red-hat-enterprise-linux/config.yml +++ b/quickstarts/redhat/red-hat-enterprise-linux/config.yml @@ -17,8 +17,6 @@ documentation: Red Hat Enterprise Linux is a Linux distribution developed by Red Hat for the commercial market. url: https://docs.newrelic.com/docs/infrastructure/install-configure-manage-infrastructure/linux-installation/install-infrastructure-linux-using-package-manager -installPlans: - - guided-install dataSourceIds: - guided-install keywords: diff --git a/quickstarts/redhat/red-hat-openshift/config.yml b/quickstarts/redhat/red-hat-openshift/config.yml index d137e7282b..3690d99b36 100644 --- a/quickstarts/redhat/red-hat-openshift/config.yml +++ b/quickstarts/redhat/red-hat-openshift/config.yml @@ -21,7 +21,5 @@ keywords: - k8s - NR1_addData - NR1_sys -installPlans: - - third-party-red-hat-openshift dataSourceIds: - kubernetes diff --git a/quickstarts/redis-prometheus/config.yml b/quickstarts/redis-prometheus/config.yml index 02ac36ffbf..c8122c1dea 100644 --- a/quickstarts/redis-prometheus/config.yml +++ b/quickstarts/redis-prometheus/config.yml @@ -47,9 +47,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/redis/config.yml b/quickstarts/redis/config.yml index c905408a21..b721622c87 100644 --- a/quickstarts/redis/config.yml +++ b/quickstarts/redis/config.yml @@ -38,8 +38,6 @@ documentation: description: | Open source, key-value data structure store for use as a database, cache, and message broker with wide protocol and dataset support. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/redis-monitoring-integration/ -installPlans: - - redis-integration dataSourceIds: - redis keywords: diff --git a/quickstarts/redisenterprise/config.yml b/quickstarts/redisenterprise/config.yml index 5e5a95005a..5f06ae6b1a 100644 --- a/quickstarts/redisenterprise/config.yml +++ b/quickstarts/redisenterprise/config.yml @@ -41,7 +41,7 @@ description: |+ - Lag: Time between application on servers - Pending: Details of the number of writes pending as part of the sync - - Bandwidth: Information on the amount of traffic between clusters + - Bandwidth: Information on the amount of traffic between clusters ### Contact us To get help please contact the [Redis Enterprise Field Engineering](mailto:redis.observability@redis.com?subject=NewRelic%20Integration%20Support) @@ -61,8 +61,6 @@ keywords: - active - NR1_addData - NR1_sys -installPlans: - - third-party-redisenterprise dataSourceIds: - redis-enterprise documentation: diff --git a/quickstarts/releaseiq/config.yml b/quickstarts/releaseiq/config.yml index 5cbabd28a9..404b43c5e4 100644 --- a/quickstarts/releaseiq/config.yml +++ b/quickstarts/releaseiq/config.yml @@ -33,8 +33,6 @@ documentation: ReleaseIQ is the Unified Enterprise DevOps Platform to Accelerate Software Delivery. Get started with newrelic setup and configuration. url: https://www.releaseiq.io/use-cases/new-relic/ -installPlans: - - third-party-releaseiq dataSourceIds: - releaseiq icon: logo.png diff --git a/quickstarts/roku/config.yml b/quickstarts/roku/config.yml index 70e5240421..5043e3648d 100644 --- a/quickstarts/roku/config.yml +++ b/quickstarts/roku/config.yml @@ -6,8 +6,8 @@ description: | Roku is one of the world's most popular streaming platforms. New Relic has developed the first and only open-source observabiilty agent for Roku, giving you unparalleled insight into the performance of your Roku application. ### Analytics on HTTP requests and errors - This can be manifestations of ISP or CDN issues or unwanted changes to the application or backend services. Faster identification and understanding of these issues is critical to maintaining a positive user experience. - ### Video Quality of Experience (QoE) + This can be manifestations of ISP or CDN issues or unwanted changes to the application or backend services. Faster identification and understanding of these issues is critical to maintaining a positive user experience. + ### Video Quality of Experience (QoE) Correlate video quality issues back through the rest of the streaming architecture. Acquire complete correlations between video playback sessions to the backend systems. ### Customer journey tracking Follow customers as they navigate the application towards their content and their video playback experience. See where and when drop offs occur and the time it takes to complete critical actions. @@ -31,9 +31,6 @@ keywords: - brightscript - NR1_addData - NR1_sys -installPlans: - - third-party-roku - - third-party-roku-http-analytics dataSourceIds: - roku - roku-http-analytics diff --git a/quickstarts/ruby/activerecord/config.yml b/quickstarts/ruby/activerecord/config.yml index fc02271d9a..68c0e2d8f0 100644 --- a/quickstarts/ruby/activerecord/config.yml +++ b/quickstarts/ruby/activerecord/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/acts-as-solr/config.yml b/quickstarts/ruby/acts-as-solr/config.yml index 880bc2213f..42c0fff5db 100644 --- a/quickstarts/ruby/acts-as-solr/config.yml +++ b/quickstarts/ruby/acts-as-solr/config.yml @@ -28,8 +28,6 @@ documentation: Ruby plugins that adds full text search capabilities and other features from Apache's Solr to any Rails model. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/authlogic/config.yml b/quickstarts/ruby/authlogic/config.yml index 9d548eb79e..de309296aa 100644 --- a/quickstarts/ruby/authlogic/config.yml +++ b/quickstarts/ruby/authlogic/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/bunny/config.yml b/quickstarts/ruby/bunny/config.yml index 516562f52f..f9ed8e08a0 100644 --- a/quickstarts/ruby/bunny/config.yml +++ b/quickstarts/ruby/bunny/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/curb/config.yml b/quickstarts/ruby/curb/config.yml index e1ebb087f6..c45d52c6f7 100644 --- a/quickstarts/ruby/curb/config.yml +++ b/quickstarts/ruby/curb/config.yml @@ -14,7 +14,7 @@ description: | ### New Relic + Curb = Optimum performance monitoring Monitor Curb with New Relic’s Ruby agent. With an interactive dashboard, you can explore, query, and visualize your data. This helps you to identify issues faster and improve Curb’s performance. The quickstart also has four alerts that can detect changes in key metrics. You can integrate the alerts with your favorite tools such as Slack or PagerDuty, and you will get instant notification when there is any issue. - You can [configure](https://docs.newrelic.com/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/) the New Relic Ruby agent with settings in a configuration file, environment variables, or programmatically with server-side configuration. The Ruby agent supports Curb version 0.8.1 or higher. + You can [configure](https://docs.newrelic.com/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/) the New Relic Ruby agent with settings in a configuration file, environment variables, or programmatically with server-side configuration. The Ruby agent supports Curb version 0.8.1 or higher. Install the New Relic Curb observability quickstart today to track Curb’s metrics in real time through a seamless dashboard and different alerts. The quickstart empowers you to leverage our Ruby agent for instant and comprehensive monitoring of Curb. summary: | Monitoring Curb is critical to ensure that you detect incidents and respond to them quickly. Download the New Relic quickstart to instrument Curb with our Ruby agent and track key performance metrics. @@ -33,8 +33,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/dalli/config.yml b/quickstarts/ruby/dalli/config.yml index 04bcb9d36f..22797f8f20 100644 --- a/quickstarts/ruby/dalli/config.yml +++ b/quickstarts/ruby/dalli/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/delayed-job/config.yml b/quickstarts/ruby/delayed-job/config.yml index 56304cdf46..61147ca4c0 100644 --- a/quickstarts/ruby/delayed-job/config.yml +++ b/quickstarts/ruby/delayed-job/config.yml @@ -23,8 +23,6 @@ documentation: - name: Delayed_Job installation docs description: Ruby Gem that enables asynchronously distributing tasks to the background. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/excon/config.yml b/quickstarts/ruby/excon/config.yml index a236617f62..26f0a64f0a 100644 --- a/quickstarts/ruby/excon/config.yml +++ b/quickstarts/ruby/excon/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/grape/config.yml b/quickstarts/ruby/grape/config.yml index 934a713df2..688edfe38e 100644 --- a/quickstarts/ruby/grape/config.yml +++ b/quickstarts/ruby/grape/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/httpclient/config.yml b/quickstarts/ruby/httpclient/config.yml index e32c4e7643..0ea38845ba 100644 --- a/quickstarts/ruby/httpclient/config.yml +++ b/quickstarts/ruby/httpclient/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/httprb/config.yml b/quickstarts/ruby/httprb/config.yml index a02f74ea92..e061989f4b 100644 --- a/quickstarts/ruby/httprb/config.yml +++ b/quickstarts/ruby/httprb/config.yml @@ -28,8 +28,6 @@ keywords: - ruby - NR1_addData - NR1_sys -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/net-http/config.yml b/quickstarts/ruby/net-http/config.yml index e0386e3e64..af23a95af8 100644 --- a/quickstarts/ruby/net-http/config.yml +++ b/quickstarts/ruby/net-http/config.yml @@ -28,8 +28,6 @@ documentation: Net::HTTP for Ruby provides a rich library which can be used to build HTTP user-agents. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/padrino/config.yml b/quickstarts/ruby/padrino/config.yml index e5de4559ad..b2ca17b24d 100644 --- a/quickstarts/ruby/padrino/config.yml +++ b/quickstarts/ruby/padrino/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/passenger/config.yml b/quickstarts/ruby/passenger/config.yml index 5d458ed17a..a9b9567bf2 100644 --- a/quickstarts/ruby/passenger/config.yml +++ b/quickstarts/ruby/passenger/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/puma/config.yml b/quickstarts/ruby/puma/config.yml index d37205c546..61d155c857 100644 --- a/quickstarts/ruby/puma/config.yml +++ b/quickstarts/ruby/puma/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rack/config.yml b/quickstarts/ruby/rack/config.yml index 68e9eea4d2..ef3c6473db 100644 --- a/quickstarts/ruby/rack/config.yml +++ b/quickstarts/ruby/rack/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rails/config.yml b/quickstarts/ruby/rails/config.yml index e4e9c72edb..362d655c6b 100644 --- a/quickstarts/ruby/rails/config.yml +++ b/quickstarts/ruby/rails/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rainbows/config.yml b/quickstarts/ruby/rainbows/config.yml index f7e317e397..55bcf915dd 100644 --- a/quickstarts/ruby/rainbows/config.yml +++ b/quickstarts/ruby/rainbows/config.yml @@ -28,8 +28,6 @@ documentation: An HTTP Rack app server designed to handle applications that expect long request/response times and/or slow clients. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/rake/config.yml b/quickstarts/ruby/rake/config.yml index 46e6051248..85e70ae9a7 100644 --- a/quickstarts/ruby/rake/config.yml +++ b/quickstarts/ruby/rake/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/resque/config.yml b/quickstarts/ruby/resque/config.yml index 334a571703..2c4febec2c 100644 --- a/quickstarts/ruby/resque/config.yml +++ b/quickstarts/ruby/resque/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/ruby/config.yml b/quickstarts/ruby/ruby/config.yml index ae9ea66e6f..ad8f6d6632 100644 --- a/quickstarts/ruby/ruby/config.yml +++ b/quickstarts/ruby/ruby/config.yml @@ -27,8 +27,6 @@ keywords: - apm - ruby - language agent -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sequel/config.yml b/quickstarts/ruby/sequel/config.yml index 46a8cf8443..8a07437bcc 100644 --- a/quickstarts/ruby/sequel/config.yml +++ b/quickstarts/ruby/sequel/config.yml @@ -27,8 +27,6 @@ keywords: - apm - ruby - database -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sidekiq/config.yml b/quickstarts/ruby/sidekiq/config.yml index b8caaf3c2d..86f2206cb6 100644 --- a/quickstarts/ruby/sidekiq/config.yml +++ b/quickstarts/ruby/sidekiq/config.yml @@ -38,8 +38,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sinatra/config.yml b/quickstarts/ruby/sinatra/config.yml index ed5918d2b7..9e97ad537d 100644 --- a/quickstarts/ruby/sinatra/config.yml +++ b/quickstarts/ruby/sinatra/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sunspot/config.yml b/quickstarts/ruby/sunspot/config.yml index c07b1471b8..fa907611d8 100644 --- a/quickstarts/ruby/sunspot/config.yml +++ b/quickstarts/ruby/sunspot/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/thin/config.yml b/quickstarts/ruby/thin/config.yml index dec25b11c3..3bfad88fa6 100644 --- a/quickstarts/ruby/thin/config.yml +++ b/quickstarts/ruby/thin/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/typhoeus/config.yml b/quickstarts/ruby/typhoeus/config.yml index 83c6cf6d5d..ec70be657a 100644 --- a/quickstarts/ruby/typhoeus/config.yml +++ b/quickstarts/ruby/typhoeus/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/unicorn/config.yml b/quickstarts/ruby/unicorn/config.yml index 270ba43027..4dbf5ad32c 100644 --- a/quickstarts/ruby/unicorn/config.yml +++ b/quickstarts/ruby/unicorn/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/webrick/config.yml b/quickstarts/ruby/webrick/config.yml index 58051f5977..91519284ae 100644 --- a/quickstarts/ruby/webrick/config.yml +++ b/quickstarts/ruby/webrick/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/salesforce-eventlog-for-logs/config.yml b/quickstarts/salesforce-eventlog-for-logs/config.yml index c7f5b4bd25..5f82088756 100644 --- a/quickstarts/salesforce-eventlog-for-logs/config.yml +++ b/quickstarts/salesforce-eventlog-for-logs/config.yml @@ -49,8 +49,6 @@ documentation: description: | Salesforce Security Dashboard provides visualization into the security details of your salesforce organization. url: https://github.com/newrelic-experimental/newrelic-logs-salesforce-eventlogfile/blob/main/dashboards/sfdc-overview/sfdc-overview.md -installPlans: - - third-party-salesforce-eventlog-for-logs dataSourceIds: - salesforce-eventlog-for-logs dashboards: diff --git a/quickstarts/security/config.yml b/quickstarts/security/config.yml index 098e64169b..be244e22a1 100644 --- a/quickstarts/security/config.yml +++ b/quickstarts/security/config.yml @@ -4,7 +4,7 @@ title: Security Events API description: |+ ## What is the Security Event API? - New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. + New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. ### Get started! @@ -14,7 +14,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. summary: Ingest scanner data into New Relic by using Security Event API level: New Relic @@ -23,8 +23,6 @@ authors: keywords: - vulnerability management - security -installPlans: - - security-api-install dataSourceIds: - security-api documentation: diff --git a/quickstarts/sendgrid/config.yml b/quickstarts/sendgrid/config.yml index ea3ac4456e..1bce28c502 100644 --- a/quickstarts/sendgrid/config.yml +++ b/quickstarts/sendgrid/config.yml @@ -13,9 +13,6 @@ keywords: - log - NR1_addData - NR1_sys -installPlans: - - third-party-sendgrid-integration - - aws-log-ingestion-s3 dataSourceIds: - sendgrid-integration - amazon-s3 @@ -30,4 +27,3 @@ icon: logo.png website: https://sendgrid.com/ dashboards: - sendgrid-dashboard - diff --git a/quickstarts/signl4/config.yml b/quickstarts/signl4/config.yml index b0ca1ac3e6..35998ca26b 100644 --- a/quickstarts/signl4/config.yml +++ b/quickstarts/signl4/config.yml @@ -11,8 +11,6 @@ level: Community authors: - Signl4 title: SIGNL4 -installPlans: - - third-party-signl4 dataSourceIds: - signl4 documentation: diff --git a/quickstarts/snmp/config.yml b/quickstarts/snmp/config.yml index 476377190e..be33d17f71 100644 --- a/quickstarts/snmp/config.yml +++ b/quickstarts/snmp/config.yml @@ -23,8 +23,6 @@ level: New Relic authors: - New Relic title: Legacy SNMP -installPlans: - - third-party-snmp dataSourceIds: - snmp documentation: diff --git a/quickstarts/snyk/config.yml b/quickstarts/snyk/config.yml index 9bb6108c3c..4d2fb28e4f 100644 --- a/quickstarts/snyk/config.yml +++ b/quickstarts/snyk/config.yml @@ -23,8 +23,6 @@ keywords: - snyk dashboards: - snyk -installPlans: - - third-party-snyk dataSourceIds: - snyk documentation: diff --git a/quickstarts/speedscale/config.yml b/quickstarts/speedscale/config.yml index 0a51e0dfeb..ab22b0c39d 100644 --- a/quickstarts/speedscale/config.yml +++ b/quickstarts/speedscale/config.yml @@ -2,7 +2,7 @@ id: c4512294-8f81-4efa-8f28-6c1db28d288c slug: speedscale title: Speedscale description: | - Speedscale lets you capture traffic from one environment and replay elsewhere. Use the traffic replay to validate new code performance and functionality. Track the SRE golden signals of latency, throughput, CPU, memory and error metrics before you deploy. Preview your container or API behavior in your CI pipeline without having to write any scripts. Any necessary backends are provided by Speedscale’s mocking technology, which also uses past traffic to generate proper responses you expect during traffic replay. + Speedscale lets you capture traffic from one environment and replay elsewhere. Use the traffic replay to validate new code performance and functionality. Track the SRE golden signals of latency, throughput, CPU, memory and error metrics before you deploy. Preview your container or API behavior in your CI pipeline without having to write any scripts. Any necessary backends are provided by Speedscale’s mocking technology, which also uses past traffic to generate proper responses you expect during traffic replay. Speedscale Snapshots are subsets of traffic that you would like to replay to test how your new code reacts, similar to test scenarios. Deploying this quickstart adds a Speedscale dashboard to your New Relic account that includes replay success rates, response time and deep links to reports. @@ -22,8 +22,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-speedscale-integration dataSourceIds: - speedscale documentation: diff --git a/quickstarts/split/config.yml b/quickstarts/split/config.yml index 0cb6999025..436de63eb1 100644 --- a/quickstarts/split/config.yml +++ b/quickstarts/split/config.yml @@ -11,8 +11,6 @@ level: Community authors: - Split title: Split -installPlans: - - third-party-split dataSourceIds: - split documentation: diff --git a/quickstarts/squid-prometheus/config.yml b/quickstarts/squid-prometheus/config.yml index 2969c67bdb..11da81b79f 100644 --- a/quickstarts/squid-prometheus/config.yml +++ b/quickstarts/squid-prometheus/config.yml @@ -38,9 +38,6 @@ documentation: Caching proxy for the Web supporting different protocols that reduces bandwidth and improves response times. url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/squid -installPlans: - - squid-prometheus-integration-docs - dataSourceIds: - squid-prometheus-integration-docs diff --git a/quickstarts/statsd/config.yml b/quickstarts/statsd/config.yml index 7127945460..d0dd1a438b 100644 --- a/quickstarts/statsd/config.yml +++ b/quickstarts/statsd/config.yml @@ -7,7 +7,7 @@ description: | ### Common StatsD use cases - StatsD makes it easier for you to instrument your applications. As a developer or organization, it empowers you to code quickly troubleshoot application issues in real-time, and have absolute control over your data. + StatsD makes it easier for you to instrument your applications. As a developer or organization, it empowers you to code quickly troubleshoot application issues in real-time, and have absolute control over your data. With StatsD, you can collect metrics from your production applications, even before the apps are deployed into production. In addition, resource utilization metrics can be directly linked to product metrics relevant to your organization. @@ -35,7 +35,5 @@ documentation: keywords: - infrastructure - open source monitoring -installPlans: - - third-party-statsd dataSourceIds: - statsd diff --git a/quickstarts/suse-linux-enterprise-server/config.yml b/quickstarts/suse-linux-enterprise-server/config.yml index c37449240d..a33873dbbd 100644 --- a/quickstarts/suse-linux-enterprise-server/config.yml +++ b/quickstarts/suse-linux-enterprise-server/config.yml @@ -24,7 +24,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/sybase/config.yml b/quickstarts/sybase/config.yml index 3cf1da3c2b..1da12d6362 100644 --- a/quickstarts/sybase/config.yml +++ b/quickstarts/sybase/config.yml @@ -4,11 +4,11 @@ title: Sybase description: |- ## Quickstart for Sybase monitoring - Sybase is a relational database software solution. + Sybase is a relational database software solution. ### New Relic Sybase quickstart features - With monitoring statistics enabled, you can observe key metrics such as the number of connections, execution times, statement cache, process activity, threads, and more. + With monitoring statistics enabled, you can observe key metrics such as the number of connections, execution times, statement cache, process activity, threads, and more. ### Sybase Quickstart instructions @@ -24,8 +24,6 @@ keywords: - sap - ase - adaptive server enterprise -installPlans: - - sybase-integration dataSourceIds: - sybase-integration dashboards: @@ -36,4 +34,3 @@ documentation: description: Monitor SAP Adaptive Server Enterprise (Sybase) icon: logo.svg website: https://www.newrelic.com - diff --git a/quickstarts/synthetics-optimization/config.yml b/quickstarts/synthetics-optimization/config.yml index 7cad530d1a..738af1a203 100644 --- a/quickstarts/synthetics-optimization/config.yml +++ b/quickstarts/synthetics-optimization/config.yml @@ -25,8 +25,6 @@ documentation: This document provides additional queries that can be run to determine Synthetics usage. icon: logo.png website: https://www.newrelic.com -installPlans: - - third-party-synthetics-endpoint-availability dataSourceIds: - new-relic-synthetics dashboards: diff --git a/quickstarts/synthetics/availability/config.yml b/quickstarts/synthetics/availability/config.yml index e3bbc26112..d1e4030e97 100644 --- a/quickstarts/synthetics/availability/config.yml +++ b/quickstarts/synthetics/availability/config.yml @@ -23,8 +23,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-availability dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/endpoint-availability/config.yml b/quickstarts/synthetics/endpoint-availability/config.yml index 297c15c962..82d42c33d9 100644 --- a/quickstarts/synthetics/endpoint-availability/config.yml +++ b/quickstarts/synthetics/endpoint-availability/config.yml @@ -20,8 +20,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-endpoint-availability dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/page-link-crawler/config.yml b/quickstarts/synthetics/page-link-crawler/config.yml index 5bdac41246..a73c370c70 100644 --- a/quickstarts/synthetics/page-link-crawler/config.yml +++ b/quickstarts/synthetics/page-link-crawler/config.yml @@ -30,8 +30,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-page-link-crawler dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/page-load-performance/config.yml b/quickstarts/synthetics/page-load-performance/config.yml index a5795c3541..eb9a0dbd32 100644 --- a/quickstarts/synthetics/page-load-performance/config.yml +++ b/quickstarts/synthetics/page-load-performance/config.yml @@ -23,8 +23,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-page-load-performance dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/private-locations/config.yml b/quickstarts/synthetics/private-locations/config.yml index 87798cbe0c..7bdee44354 100644 --- a/quickstarts/synthetics/private-locations/config.yml +++ b/quickstarts/synthetics/private-locations/config.yml @@ -36,8 +36,6 @@ keywords: - minion - minion dashboard - synthetics -installPlans: - - synthetics-private-locations dataSourceIds: - synthetics-private-locations documentation: @@ -48,4 +46,3 @@ icon: logo.svg website: https://www.newrelic.com dashboards: - synthetics-private-minions - diff --git a/quickstarts/synthetics/ssl-certification-check/config.yml b/quickstarts/synthetics/ssl-certification-check/config.yml index e233d94420..b94c70c4de 100644 --- a/quickstarts/synthetics/ssl-certification-check/config.yml +++ b/quickstarts/synthetics/ssl-certification-check/config.yml @@ -20,8 +20,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-ssl-certification-check dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/user-flow/config.yml b/quickstarts/synthetics/user-flow/config.yml index db1dbc420d..c7445e7ec9 100644 --- a/quickstarts/synthetics/user-flow/config.yml +++ b/quickstarts/synthetics/user-flow/config.yml @@ -26,8 +26,6 @@ documentation: - name: Getting started url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ description: Get started with synthetic monitoring -installPlans: - - third-party-synthetics-user-flow dataSourceIds: - new-relic-synthetics icon: logo.svg diff --git a/quickstarts/synthetics/user-step-execution/config.yml b/quickstarts/synthetics/user-step-execution/config.yml index 6de5f097c6..b5d8050d9f 100644 --- a/quickstarts/synthetics/user-step-execution/config.yml +++ b/quickstarts/synthetics/user-step-execution/config.yml @@ -38,8 +38,6 @@ documentation: - name: Getting started url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ description: Get started with synthetic monitoring -installPlans: - - third-party-synthetics-user-step-execution dataSourceIds: - new-relic-synthetics icon: logo.svg diff --git a/quickstarts/traefik/config.yml b/quickstarts/traefik/config.yml index 054c90ca9e..aa50dcc725 100644 --- a/quickstarts/traefik/config.yml +++ b/quickstarts/traefik/config.yml @@ -25,9 +25,6 @@ documentation: description: | Traefik Integration Documentation url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/integrations-list/traefik-integration -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/trendmicro-cloudone-conformity/config.yml b/quickstarts/trendmicro-cloudone-conformity/config.yml index 67ff6e3b2d..0981c257eb 100644 --- a/quickstarts/trendmicro-cloudone-conformity/config.yml +++ b/quickstarts/trendmicro-cloudone-conformity/config.yml @@ -25,8 +25,6 @@ documentation: - name: Trend Micro blog post description: Learn more about the integration on Trend Micro's blog post url: https://www.trendmicro.com/en_us/devops/21/f/how-to-achieve-more-security-observability.html -installPlans: - - third-party-trendmicro-cloudone-conformity dataSourceIds: - trendmicro-cloudone-conformity keywords: diff --git a/quickstarts/trivy/config.yml b/quickstarts/trivy/config.yml index c89f170584..25b47f4495 100644 --- a/quickstarts/trivy/config.yml +++ b/quickstarts/trivy/config.yml @@ -8,7 +8,7 @@ description: |+ ### What is the Security Event API? - New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. + New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. ### Get started! @@ -24,7 +24,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. summary: Ingest Trivy vulnerability data into New Relic by using Security Event API level: New Relic @@ -34,8 +34,6 @@ keywords: - vulnerability management - security - trivy -installPlans: - - trivy-api-install dataSourceIds: - trivy documentation: diff --git a/quickstarts/tvos/config.yml b/quickstarts/tvos/config.yml index 2d9f5f4548..f5f3dc3bc3 100644 --- a/quickstarts/tvos/config.yml +++ b/quickstarts/tvos/config.yml @@ -21,10 +21,7 @@ documentation: Default operating system for Apple media streaming devices, including the Apple TV. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/tvos/tvos-installation-configuration -installPlans: - - tvos-mobile dataSourceIds: - tvos-mobile keywords: - mobile - diff --git a/quickstarts/ubuntu/config.yml b/quickstarts/ubuntu/config.yml index c91e86ba1b..c88be5e926 100644 --- a/quickstarts/ubuntu/config.yml +++ b/quickstarts/ubuntu/config.yml @@ -24,7 +24,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/unix/config.yml b/quickstarts/unix/config.yml index 2592b574e5..f33490ebab 100644 --- a/quickstarts/unix/config.yml +++ b/quickstarts/unix/config.yml @@ -17,8 +17,6 @@ documentation: The Unix monitoring integration allows for system-level monitoring of AIX, Linux, macOS, Solaris/SunOS and other Unix-based servers. url: https://docs.newrelic.com/docs/integrations/host-integrations/open-source-host-integrations-list/unix-monitoring-open-source-integration -installPlans: - - third-party-unix dataSourceIds: - unix dashboards: diff --git a/quickstarts/varnish/config.yml b/quickstarts/varnish/config.yml index 427c554f78..a053916487 100644 --- a/quickstarts/varnish/config.yml +++ b/quickstarts/varnish/config.yml @@ -36,8 +36,6 @@ documentation: description: | Reverse caching proxy for HTTP built to accelerate web application performance. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/varnish-cache-monitoring-integration/ -installPlans: - - varnish-cache-integration dataSourceIds: - varnish keywords: diff --git a/quickstarts/velero-prometheus/config.yml b/quickstarts/velero-prometheus/config.yml index 69bd8abb8c..6b44d43a30 100644 --- a/quickstarts/velero-prometheus/config.yml +++ b/quickstarts/velero-prometheus/config.yml @@ -10,14 +10,14 @@ description: |+ ### New Relic - a perfect tool to monitor Velero using Prometheus. - Velero has become an important part of Kubernetes architectures, providing features to ensure continuity of state during disaster recover, and ease the burden of systems migration. + Velero has become an important part of Kubernetes architectures, providing features to ensure continuity of state during disaster recover, and ease the burden of systems migration. Using the [New Relic Prometheus Remote-Write](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-remote-write/set-your-prometheus-remote-write-integration/) integration you can deliver your critical Velero metrics from your internally supported instance of Prometheus directly to New Relic where the rest of your observability data resides. ### New Relic Velero quickstart features Our Velero Quickstart include out-of-the-box dashboards and alerts, including data such as: - - Overview Schedules (# successes, # failures) + charts with duration and sizes of backups + - Overview Schedules (# successes, # failures) + charts with duration and sizes of backups ### Value of the Velero (Prometheus) quickstart @@ -36,8 +36,6 @@ keywords: - kubernetes - disaster recovery - featured -installPlans: - - setup-prometheus dataSourceIds: - prometheus documentation: diff --git a/quickstarts/vercel/config.yml b/quickstarts/vercel/config.yml index 9561f27f04..3637e7be6b 100644 --- a/quickstarts/vercel/config.yml +++ b/quickstarts/vercel/config.yml @@ -61,8 +61,6 @@ keywords: # Reference to install plans located under /install directory # Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - third-party-vercel dataSourceIds: - vercel documentation: diff --git a/quickstarts/video/video-android/config.yml b/quickstarts/video/video-android/config.yml index 3b4b449f75..2f1c8b6d14 100644 --- a/quickstarts/video/video-android/config.yml +++ b/quickstarts/video/video-android/config.yml @@ -12,8 +12,6 @@ keywords: - video - tracking - Android -installPlans: - - third-party-video-android dataSourceIds: - video-android documentation: @@ -21,4 +19,3 @@ documentation: url: https://github.com/newrelic/video-agent-android description: Agent to monitor video applications for Android. icon: logo.svg - diff --git a/quickstarts/video/video-chromecast/config.yml b/quickstarts/video/video-chromecast/config.yml index 51444a49a1..3b4ac01f08 100644 --- a/quickstarts/video/video-chromecast/config.yml +++ b/quickstarts/video/video-chromecast/config.yml @@ -17,7 +17,5 @@ documentation: url: https://github.com/newrelic/video-caf-js description: Agent to monitor video applications for Chromecast. icon: logo.svg -installPlans: - - third-party-video-chromecast dataSourceIds: - video-chromecast diff --git a/quickstarts/video/video-ios-tvos/config.yml b/quickstarts/video/video-ios-tvos/config.yml index da3bc6271a..4143b5bfdf 100644 --- a/quickstarts/video/video-ios-tvos/config.yml +++ b/quickstarts/video/video-ios-tvos/config.yml @@ -18,7 +18,5 @@ documentation: url: https://github.com/newrelic/video-agent-iOS description: Agent to monitor video applications for iOS and tvOS. icon: logo.png -installPlans: - - third-party-video-ios-tvos dataSourceIds: - video-ios-tvos diff --git a/quickstarts/video/video-web/video-web-akamai/config.yml b/quickstarts/video/video-web/video-web-akamai/config.yml index c7555c2939..0216f37b32 100644 --- a/quickstarts/video/video-web/video-web-akamai/config.yml +++ b/quickstarts/video/video-web/video-web-akamai/config.yml @@ -34,9 +34,6 @@ documentation: - name: Video Akamai Installation Docs url: https://github.com/newrelic/video-akamai-js description: Agent to monitor video applications using Akamai player. -installPlans: - - browser-docs - - video-web-akamai dataSourceIds: - new-relic-browser - video-web-akamai diff --git a/quickstarts/video/video-web/video-web-html5/config.yml b/quickstarts/video/video-web/video-web-html5/config.yml index d06327f647..b692fb9f94 100644 --- a/quickstarts/video/video-web/video-web-html5/config.yml +++ b/quickstarts/video/video-web/video-web-html5/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video HTML5 Installation Docs url: https://github.com/newrelic/video-html5-js description: Agent to monitor video applications using HTML5 player. -installPlans: - - browser-docs - - video-web-html5 dataSourceIds: - new-relic-browser - video-web-html5 diff --git a/quickstarts/video/video-web/video-web-jwplayer/config.yml b/quickstarts/video/video-web/video-web-jwplayer/config.yml index 6527ce6470..a6bfc0503f 100644 --- a/quickstarts/video/video-web/video-web-jwplayer/config.yml +++ b/quickstarts/video/video-web/video-web-jwplayer/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video JWPlayer Installation Docs url: https://github.com/newrelic/video-jwplayer-js description: Agent to monitor video applications using JWPlayer. -installPlans: - - browser-docs - - video-web-jwplayer dataSourceIds: - new-relic-browser - video-web-jwplayer diff --git a/quickstarts/video/video-web/video-web-theplatform/config.yml b/quickstarts/video/video-web/video-web-theplatform/config.yml index f07472ee9e..0813adcde2 100644 --- a/quickstarts/video/video-web/video-web-theplatform/config.yml +++ b/quickstarts/video/video-web/video-web-theplatform/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video The Platform Installation Docs url: https://github.com/newrelic/video-theplatform-js description: Agent to monitor video applications using The Platform player. -installPlans: - - browser-docs - - video-web-theplatform dataSourceIds: - new-relic-browser - video-web-theplatform diff --git a/quickstarts/video/video-web/video-web-videojs/config.yml b/quickstarts/video/video-web/video-web-videojs/config.yml index 539adc69e0..f3828fad57 100644 --- a/quickstarts/video/video-web/video-web-videojs/config.yml +++ b/quickstarts/video/video-web/video-web-videojs/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video VideoJS Installation Docs url: https://github.com/newrelic/video-videojs-js description: Agent to monitor video applications using VideoJS player. -installPlans: - - browser-docs - - video-web-videojs dataSourceIds: - new-relic-browser - video-web-videojs diff --git a/quickstarts/vmware/vmware-tanzu/config.yml b/quickstarts/vmware/vmware-tanzu/config.yml index a87fc4c37c..69b072aa77 100644 --- a/quickstarts/vmware/vmware-tanzu/config.yml +++ b/quickstarts/vmware/vmware-tanzu/config.yml @@ -15,7 +15,5 @@ keywords: - infrastructure - kubernetes - k8s -installPlans: - - third-party-vmware-tanzu dataSourceIds: - vmware-tanzu diff --git a/quickstarts/vmware/vmware-vsphere/config.yml b/quickstarts/vmware/vmware-vsphere/config.yml index 1db5d523c7..06858fc8f4 100644 --- a/quickstarts/vmware/vmware-vsphere/config.yml +++ b/quickstarts/vmware/vmware-vsphere/config.yml @@ -16,8 +16,6 @@ keywords: - vsphere - esxi - vcenter -installPlans: - - vsphere-integration dataSourceIds: - vmware-vsphere alertPolicies: diff --git a/quickstarts/windows/windows-desktop/config.yml b/quickstarts/windows/windows-desktop/config.yml index 0e160baa0c..c3653ed522 100644 --- a/quickstarts/windows/windows-desktop/config.yml +++ b/quickstarts/windows/windows-desktop/config.yml @@ -24,8 +24,6 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure -installPlans: - - guided-install dataSourceIds: - guided-install icon: logo.svg diff --git a/quickstarts/windows/windows-server/config.yml b/quickstarts/windows/windows-server/config.yml index d2adf4ae6a..3acefae5b9 100644 --- a/quickstarts/windows/windows-server/config.yml +++ b/quickstarts/windows/windows-server/config.yml @@ -24,8 +24,6 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure -installPlans: - - guided-install dataSourceIds: - guided-install icon: logo.svg diff --git a/quickstarts/winservices/config.yml b/quickstarts/winservices/config.yml index c1818f500b..ae2d28ffca 100644 --- a/quickstarts/winservices/config.yml +++ b/quickstarts/winservices/config.yml @@ -4,15 +4,15 @@ title: Windows Services description: | ## Windows Services - New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. + New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. You can check the state and start mode of each service, find out which hosts are running a service, set up alerts for services, and more. Our integration is bundled with the Windows infrastructure agent. If you're monitoring Windows hosts on New Relic, you only need to enable the integration to get Windows services data into our platform. ### Why it matters - Microsoft Windows services are the Windows equivalent of daemons in Unix and Linux: - long-running executables that can be started, stopped, paused, and restarted without a graphical interface. + Microsoft Windows services are the Windows equivalent of daemons in Unix and Linux: + long-running executables that can be started, stopped, paused, and restarted without a graphical interface. Knowing which services are enabled, or their state or health, is essential when monitoring Windows infrastructure. @@ -38,10 +38,8 @@ authors: documentation: - name: Windows Services monitoring integration description: | - New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. + New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/windows-services-integration/ -installPlans: - - winservices-integration-docs dataSourceIds: - winservices-integration-docs dashboards: diff --git a/quickstarts/wordpress/config.yml b/quickstarts/wordpress/config.yml index 86bda0b2d4..d3f49f191f 100644 --- a/quickstarts/wordpress/config.yml +++ b/quickstarts/wordpress/config.yml @@ -30,8 +30,6 @@ documentation: Monitoring for the self-hosted version of the popular CMS and blogging tool. url: https://docs.newrelic.com/docs/agents/php-agent/getting-started/php-agent-compatibility-requirements -installPlans: - - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/xamarin/config.yml b/quickstarts/xamarin/config.yml index 17edd25042..65d63fc44d 100644 --- a/quickstarts/xamarin/config.yml +++ b/quickstarts/xamarin/config.yml @@ -16,8 +16,6 @@ keywords: - xamarin - hybrid mobile - C-sharp mobile -installPlans: - - third-party-xamarin dataSourceIds: - xamarin documentation: diff --git a/quickstarts/xmatters/config.yml b/quickstarts/xmatters/config.yml index 680e459f01..dd12088b6d 100644 --- a/quickstarts/xmatters/config.yml +++ b/quickstarts/xmatters/config.yml @@ -27,7 +27,5 @@ documentation: keywords: - xmatters - alerts -installPlans: - - third-party-xmatters dataSourceIds: - xmatters diff --git a/quickstarts/zebrium/config.yml b/quickstarts/zebrium/config.yml index a7a788a132..b7e4d3d1e7 100644 --- a/quickstarts/zebrium/config.yml +++ b/quickstarts/zebrium/config.yml @@ -9,7 +9,7 @@ description: | ### How to use Zebrium - - Send your logs to Zebrium by installing an open source log collector (Zebrium does not retain your logs, it analyzes them inline). + - Send your logs to Zebrium by installing an open source log collector (Zebrium does not retain your logs, it analyzes them inline). - When you know there is a problem, simply look at the Zebrium dashboard and you will see root cause indicators to explain what happened ### Benefits @@ -42,8 +42,6 @@ keywords: - sre - NR1_addData - NR1_sys -installPlans: - - third-party-zebrium dataSourceIds: - zebrium documentation: diff --git a/quickstarts/zenduty/config.yml b/quickstarts/zenduty/config.yml index 77ecf69929..ffdbc68006 100644 --- a/quickstarts/zenduty/config.yml +++ b/quickstarts/zenduty/config.yml @@ -14,7 +14,7 @@ description: | Check out the [Zenduty documentation](https://docs.zenduty.com/docs/newrelic) to learn how to setup best in class alerts around the New Relic APM. summary: | - Zenduty provides robust incident response, automation and notification abilities when you send your New Relic alerts to Zenduty. + Zenduty provides robust incident response, automation and notification abilities when you send your New Relic alerts to Zenduty. level: Community authors: - Zenduty @@ -34,7 +34,5 @@ documentation: description: Send your New Relic alerts to Zenduty icon: logo.png website: https://www.zenduty.com -installPlans: - - third-party-zenduty dataSourceIds: - zenduty diff --git a/quickstarts/zipkin/config.yml b/quickstarts/zipkin/config.yml index a7be8929cd..5c9e02932c 100644 --- a/quickstarts/zipkin/config.yml +++ b/quickstarts/zipkin/config.yml @@ -23,7 +23,5 @@ documentation: keywords: - tracing - apm -installPlans: - - third-party-zipkin dataSourceIds: - zipkin From 288e7c23bc2ca835d242076b67c9c19f38b8549b Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Mon, 26 Aug 2024 11:01:13 -0700 Subject: [PATCH 20/43] chore: Clean up references to install plan GHA workflows --- .github/workflows/submit-gate.yml | 2 +- .github/workflows/validation_gate.yml | 2 +- utils/lib/github-api-helpers.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/submit-gate.yml b/.github/workflows/submit-gate.yml index 64ec1e8d71..948919007f 100644 --- a/.github/workflows/submit-gate.yml +++ b/.github/workflows/submit-gate.yml @@ -1,6 +1,6 @@ # This looks like a confusing workflow, but it has a purpose (✿ ◕‿◕) # It functions kind of as a workflow shim. We can't setup other important workflows to run on pull_request (due to forks), so we setup this workflow to be triggered by pull_request and it is always able to run. -# When it is finished running, it triggers the other important workflows -- submit_packs, submit_install_plans. +# When it is finished running, it triggers the other important workflows -- submit_packs, etc. # Having it setup this way allows us to have manual approval for this workflow run, and then the subsequent triggered runs can access secrets in the repository for validation (even for forked PRs). name: Submit Gate diff --git a/.github/workflows/validation_gate.yml b/.github/workflows/validation_gate.yml index 2285f324bb..958de4beb4 100644 --- a/.github/workflows/validation_gate.yml +++ b/.github/workflows/validation_gate.yml @@ -1,6 +1,6 @@ # This looks like a confusing workflow, but it has a purpose (✿ ◕‿◕) # It functions kind of as a workflow shim. We can't setup other important workflows to run on pull_request (due to forks), so we setup this workflow to be triggered by pull_request and it is always able to run. -# When it is finished running, it triggers the other important workflows -- validate_packs, validate_install_plans. +# When it is finished running, it triggers the other important workflows -- validate_packs, etc. # Having it setup this way allows us to have manual approval for this workflow run, and then the subsequent triggered runs can access secrets in the repository for validation (even for forked PRs). name: Validation Gate diff --git a/utils/lib/github-api-helpers.ts b/utils/lib/github-api-helpers.ts index 40c2eb41f3..ca28d9aac6 100644 --- a/utils/lib/github-api-helpers.ts +++ b/utils/lib/github-api-helpers.ts @@ -5,7 +5,7 @@ import { DATA_SOURCE_CONFIG_REGEXP, } from '../constants'; import logger from '../logger'; -const INSTALL_CONFIG_REGEXP = new RegExp('install/.+/install.+(yml|yaml)'); + const MOCK_FILES_REGEXP = new RegExp('mock_files/.+'); const TEMPLATE_REGEXP = new RegExp('_template/.+'); From 5e5dd78db874ed119407c3b545facd2323adf396 Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Mon, 26 Aug 2024 14:40:01 -0700 Subject: [PATCH 21/43] Revert "chore: Remove deprecated installPlans field from quickstarts yml" This reverts commit 526ffba9dbf06666f67d2fd6670b4ffb3de43865. --- quickstarts/ads/web/ads-web-gpt/config.yml | 2 ++ quickstarts/ads/web/ads-web-prebid/config.yml | 2 ++ quickstarts/ajax/config.yml | 10 +++--- quickstarts/android/config.yml | 2 ++ quickstarts/apache/config.yml | 4 ++- quickstarts/apis/event/config.yml | 2 ++ quickstarts/apis/logs/config.yml | 2 ++ quickstarts/apis/metric/config.yml | 2 ++ quickstarts/apis/trace/config.yml | 2 ++ quickstarts/apm-change-tracking/config.yml | 4 +++ quickstarts/apm-logs/config.yml | 2 ++ quickstarts/apollo/apollo-server/config.yml | 2 ++ quickstarts/argocd/config.yml | 3 ++ quickstarts/atlassian/bitbucket/config.yml | 4 ++- .../config.yml | 3 ++ .../audit/audit-events-analysis/config.yaml | 2 ++ .../config.yml | 3 ++ .../k8s-log-ingestion-analysis/config.yaml | 2 ++ .../audit/log-ingestion-analysis/config.yml | 3 ++ .../config.yml | 2 ++ quickstarts/aws/amazon-athena/config.yml | 2 ++ quickstarts/aws/amazon-aurora/config.yml | 2 ++ .../aws/amazon-cloudfront-logs/config.yml | 6 ++-- quickstarts/aws/amazon-cloudfront/config.yml | 2 ++ .../config.yml | 2 ++ quickstarts/aws/amazon-cognito/config.yml | 2 ++ quickstarts/aws/amazon-connect/config.yml | 2 ++ quickstarts/aws/amazon-documentdb/config.yml | 2 ++ quickstarts/aws/amazon-dynamodb/config.yml | 2 ++ quickstarts/aws/amazon-ebs/config.yml | 2 ++ quickstarts/aws/amazon-ec2/config.yml | 2 ++ quickstarts/aws/amazon-ecs/config.yml | 2 ++ quickstarts/aws/amazon-efs/config.yml | 2 ++ .../aws/amazon-eks-on-aws-fargate/config.yml | 2 ++ quickstarts/aws/amazon-elasticache/config.yml | 2 ++ .../aws/amazon-elasticsearch/config.yml | 2 ++ quickstarts/aws/amazon-emr/config.yml | 2 ++ quickstarts/aws/amazon-fsx/config.yml | 2 ++ .../aws/amazon-kinesis-firehose/config.yml | 2 ++ quickstarts/aws/amazon-kinesis/config.yml | 2 ++ quickstarts/aws/amazon-linux/config.yml | 2 ++ quickstarts/aws/amazon-mq/config.yml | 4 ++- quickstarts/aws/amazon-msk/config.yml | 2 ++ quickstarts/aws/amazon-neptune/config.yml | 2 ++ quickstarts/aws/amazon-qldb/config.yml | 2 ++ .../aws/amazon-rds-enhanced/config.yml | 2 ++ quickstarts/aws/amazon-rds/config.yml | 2 ++ quickstarts/aws/amazon-redshift/config.yml | 2 ++ .../aws/amazon-route53-resolver/config.yml | 2 ++ quickstarts/aws/amazon-route53/config.yml | 2 ++ .../aws/amazon-s3-storagelens/config.yml | 2 ++ quickstarts/aws/amazon-s3/config.yml | 2 ++ .../aws/amazon-security-lake/config.yml | 4 ++- quickstarts/aws/amazon-ses/config.yml | 2 ++ quickstarts/aws/amazon-sns/config.yml | 2 ++ quickstarts/aws/amazon-sqs/config.yml | 2 ++ .../aws/amazon-web-services/config.yml | 2 ++ quickstarts/aws/aws-appsync/config.yml | 2 ++ quickstarts/aws/aws-auto-scaling/config.yml | 2 ++ quickstarts/aws/aws-billing/config.yml | 6 ++-- quickstarts/aws/aws-cloudformation/config.yml | 2 ++ quickstarts/aws/aws-cloudtrail/config.yml | 2 ++ .../aws-cloudwatch-plugin-for-logs/config.yml | 2 ++ quickstarts/aws/aws-direct-connect/config.yml | 2 ++ .../aws/aws-elastic-beanstalk/config.yml | 2 ++ quickstarts/aws/aws-elb/config.yml | 2 ++ .../aws/aws-elemental-mediaconvert/config.yml | 2 ++ .../aws-elemental-mediapackage-vod/config.yml | 2 ++ .../aws/aws-enhanced-monitoring/config.yml | 2 ++ .../aws-firelens-plugin-for-logs/config.yml | 2 ++ quickstarts/aws/aws-glue/config.yml | 2 ++ quickstarts/aws/aws-health/config.yml | 2 ++ quickstarts/aws/aws-iam/config.yml | 2 ++ quickstarts/aws/aws-iot/config.yml | 2 ++ quickstarts/aws/aws-lambda/config.yml | 2 ++ quickstarts/aws/aws-nlb-alb/config.yml | 2 ++ quickstarts/aws/aws-outposts/config.yml | 2 ++ quickstarts/aws/aws-security-hub/config.yml | 4 ++- quickstarts/aws/aws-step-functions/config.yml | 2 ++ quickstarts/aws/aws-transitgateway/config.yml | 2 ++ .../aws/aws-trusted-advisor/config.yml | 6 ++-- quickstarts/aws/aws-vpc-flow-logs/config.yml | 2 ++ quickstarts/aws/aws-vpc/config.yml | 2 ++ quickstarts/aws/aws-waf/config.yml | 2 ++ quickstarts/aws/aws-x-ray/config.yml | 2 ++ .../azure/azure-api-management/config.yml | 4 ++- .../azure/azure-app-service/config.yml | 2 ++ quickstarts/azure/azure-containers/config.yml | 4 ++- quickstarts/azure/azure-cosmos-db/config.yml | 4 ++- .../azure/azure-cost-management/config.yml | 2 ++ .../azure/azure-datafactories/config.yml | 2 ++ quickstarts/azure/azure-event-hubs/config.yml | 2 ++ .../azure/azure-express-route/config.yml | 2 ++ quickstarts/azure/azure-functions/config.yml | 2 ++ quickstarts/azure/azure-key-vault/config.yml | 4 ++- .../config.yml | 4 ++- quickstarts/azure/azure-mariadb/config.yml | 2 ++ quickstarts/azure/azure-mysql/config.yml | 6 ++-- quickstarts/azure/azure-postgresql/config.yml | 2 ++ .../config.yml | 4 ++- .../azure/azure-service-bus/config.yml | 2 ++ quickstarts/azure/azure-storage/config.yml | 8 +++-- .../azure/azure-virtual-machines/config.yml | 2 ++ .../azure/azure-virtual-network/config.yml | 6 ++-- quickstarts/azure/azure-vms/config.yml | 2 ++ quickstarts/battlesnake/config.yml | 3 ++ quickstarts/biztalk360/config.yml | 8 +++-- quickstarts/blameless/config.yml | 2 ++ quickstarts/blazor-webassembly/config.yml | 6 ++-- .../browser-segment-investigation/config.yml | 2 ++ quickstarts/browser/config.yml | 4 ++- quickstarts/c/config.yml | 2 ++ quickstarts/calico/config.yml | 3 ++ quickstarts/cassandra/config.yml | 8 +++-- quickstarts/catchpoint/config.yml | 2 ++ quickstarts/centos/config.yml | 2 ++ quickstarts/circleci/config.yml | 4 ++- quickstarts/cloudflare/config.yml | 2 ++ quickstarts/cockroach-db/config.yml | 3 ++ quickstarts/confluent-cloud/config.yml | 2 ++ quickstarts/consul/config.yml | 2 ++ quickstarts/contentsquare/config.yml | 28 ++++++++------- quickstarts/cordova/config.yml | 2 ++ quickstarts/core-web-vitals/config.yml | 11 +++--- quickstarts/coredns/config.yml | 3 ++ quickstarts/couchbase/config.yml | 2 ++ quickstarts/cribl-logstream/config.yml | 4 ++- quickstarts/dapr/config.yml | 2 ++ quickstarts/databricks/config.yml | 2 ++ quickstarts/datastream2-akamai/config.yml | 4 ++- quickstarts/datazoom/config.yml | 2 ++ quickstarts/dbmarlin/config.yml | 2 ++ quickstarts/debian/config.yml | 2 ++ quickstarts/deeper-network/config.yml | 2 ++ quickstarts/delphix/config.yml | 8 +++-- quickstarts/docker/config.yml | 4 ++- quickstarts/dotnet/ado-dotnet/config.yml | 10 +++--- quickstarts/dotnet/asp-dotnet-mvc/config.yml | 2 ++ .../dotnet/asp-dotnet-web-forms/config.yml | 2 ++ quickstarts/dotnet/blazor-server/config.yml | 16 +++++---- quickstarts/dotnet/csharp/config.yml | 34 ++++++++++--------- quickstarts/dotnet/csla-dotnet/config.yml | 2 ++ quickstarts/dotnet/dnn-community/config.yml | 2 ++ quickstarts/dotnet/dnn-evoq/config.yml | 2 ++ quickstarts/dotnet/dotnet-core/config.yml | 2 ++ .../dotnet/dotnet-mvc-web-api/config.yml | 2 ++ quickstarts/dotnet/dotnet/config.yml | 2 ++ quickstarts/dotnet/episerver-cms/config.yml | 4 ++- quickstarts/dotnet/fubumvc/config.yml | 6 ++-- quickstarts/dotnet/iis/config.yml | 4 ++- quickstarts/dotnet/jayrock/config.yml | 2 ++ quickstarts/dotnet/monorail/config.yml | 2 ++ quickstarts/dotnet/msmq/config.yml | 2 ++ quickstarts/dotnet/nancyfx/config.yml | 2 ++ quickstarts/dotnet/nservicebus/config.yml | 12 ++++--- quickstarts/dotnet/openrasta/config.yml | 2 ++ quickstarts/dotnet/restsharp/config.yml | 4 ++- quickstarts/dotnet/servicestack/config.yml | 2 ++ quickstarts/dotnet/silverlight/config.yml | 2 ++ quickstarts/dotnet/springdotnet/config.yml | 2 ++ quickstarts/dotnet/umbraco/config.yml | 4 ++- quickstarts/dropwizard/config.yml | 2 ++ quickstarts/drupal/config.yml | 2 ++ quickstarts/elasticsearch/config.yml | 2 ++ quickstarts/elixir/config.yml | 3 ++ quickstarts/etcd/config.yml | 3 ++ quickstarts/f5/config.yml | 4 ++- quickstarts/fastly/config.yml | 2 ++ .../fluent-bit-plugin-for-logs/config.yml | 2 ++ .../fluentd-plugin-for-logs/config.yml | 2 ++ .../full-stack-observability/config.yml | 3 ++ quickstarts/full-story/config.yml | 2 ++ quickstarts/gatsby-build/config.yml | 4 ++- quickstarts/gcp/apigee-api/config.yml | 2 ++ quickstarts/gcp/gcp-cloud-run/config.yml | 2 ++ quickstarts/gcp/gcp-dataflow/config.yml | 2 ++ quickstarts/gcp/gcp-dataproc/config.yml | 2 ++ quickstarts/gcp/gcp-datastore/config.yml | 2 ++ .../gcp/gcp-dedicated-interconnect/config.yml | 2 ++ .../gcp/gcp-firebase-database/config.yml | 2 ++ .../gcp/gcp-firebase-hosting/config.yml | 2 ++ .../gcp/gcp-firebase-storage/config.yml | 2 ++ quickstarts/gcp/gcp-firestore/config.yml | 2 ++ quickstarts/gcp/gcp-router/config.yml | 2 ++ quickstarts/gcp/gcp-vpc/config.yml | 2 ++ quickstarts/gcp/google-app-engine/config.yml | 2 ++ quickstarts/gcp/google-bigquery/config.yml | 2 ++ .../gcp/google-cloud-functions/config.yml | 2 ++ .../gcp/google-cloud-spanner-otel/config.yml | 2 ++ .../gcp/google-cloud-spanner/config.yml | 2 ++ quickstarts/gcp/google-cloud-sql/config.yml | 2 ++ .../gcp/google-cloud-storage/config.yml | 2 ++ .../gcp/google-compute-engine/config.yml | 2 ++ .../gcp/google-load-balancing/config.yml | 2 ++ quickstarts/gcp/google-pub-sub/config.yml | 2 ++ quickstarts/gigamon-appinsights/config.yml | 8 +++-- quickstarts/gigamon/config.yml | 2 ++ quickstarts/github/config.yml | 4 ++- quickstarts/gitlab/config.yml | 3 ++ quickstarts/glassbox/config.yml | 2 ++ quickstarts/golang/echo/config.yml | 4 ++- quickstarts/golang/gin/config.yml | 4 ++- quickstarts/golang/golang/config.yml | 2 ++ quickstarts/golang/httprouter/config.yml | 4 ++- quickstarts/golang/lambda-go/config.yml | 2 ++ quickstarts/golang/logrus/config.yml | 2 ++ quickstarts/golang/logxi/config.yml | 2 ++ quickstarts/golang/micro/config.yml | 2 ++ quickstarts/golang/mux/config.yml | 2 ++ quickstarts/golang/nats/config.yml | 4 ++- quickstarts/golang/pkg-errors/config.yml | 2 ++ quickstarts/golang/zap/config.yml | 4 ++- .../grafana-dashboard-migration/config.yml | 2 ++ .../grafana-prometheus-integration/config.yml | 2 ++ quickstarts/haproxy/config.yml | 8 +++-- quickstarts/harbor/config.yml | 3 ++ quickstarts/hashicorp/hcp-consul/config.yml | 4 ++- quickstarts/hashicorp/hcp-vault/config.yml | 8 +++-- quickstarts/heroku/config.yml | 2 ++ quickstarts/hivemq/config.yml | 3 ++ quickstarts/ibmmq/config.yml | 3 ++ quickstarts/infrastructure/config.yml | 4 ++- quickstarts/ios/config.yml | 2 ++ quickstarts/java/adobe-cq/config.yml | 4 ++- quickstarts/java/akka/config.yml | 4 ++- quickstarts/java/anorm/config.yml | 4 ++- quickstarts/java/asynchttpclient/config.yml | 2 ++ quickstarts/java/camel/config.yml | 4 ++- quickstarts/java/coldfusion/config.yml | 4 ++- quickstarts/java/cxf/config.yml | 2 ++ .../java/datastax-cassandra/config.yml | 2 ++ quickstarts/java/derby/config.yml | 4 ++- quickstarts/java/ejb-session-beans/config.yml | 4 ++- .../java/elasticsearch-query/config.yml | 4 ++- quickstarts/java/gcp-pubsub/config.yml | 2 ++ quickstarts/java/generic-jdbc/config.yml | 4 ++- quickstarts/java/glassfish/config.yml | 2 ++ quickstarts/java/grails/config.yml | 2 ++ quickstarts/java/grpc/config.yml | 4 ++- quickstarts/java/h2/config.yml | 2 ++ quickstarts/java/hibernate/config.yml | 4 ++- quickstarts/java/hsql/config.yml | 2 ++ quickstarts/java/hystrix/config.yml | 4 ++- quickstarts/java/ibm-db2/config.yml | 2 ++ quickstarts/java/inet-merlia/config.yml | 2 ++ quickstarts/java/java/config.yml | 8 +++-- quickstarts/java/jax-rs/config.yml | 2 ++ quickstarts/java/jcache-api/config.yml | 2 ++ quickstarts/java/jdbc-executebatch/config.yml | 8 +++-- quickstarts/java/jersey/config.yml | 2 ++ quickstarts/java/jetty/config.yml | 4 ++- quickstarts/java/jms/config.yml | 4 ++- quickstarts/java/jsf/config.yml | 4 ++- quickstarts/java/jsp/config.yml | 4 ++- quickstarts/java/mule-esb/config.yml | 2 ++ quickstarts/java/netty/config.yml | 6 ++-- quickstarts/java/oc4j/config.yml | 2 ++ quickstarts/java/play-ws/config.yml | 2 ++ quickstarts/java/play/config.yml | 4 ++- .../java/quartz-job-scheduler/config.yml | 4 ++- quickstarts/java/resin/config.yml | 4 ++- quickstarts/java/resteasy/config.yml | 4 ++- quickstarts/java/scala/config.yml | 4 ++- quickstarts/java/slick/config.yml | 2 ++ quickstarts/java/solr/config.yml | 4 ++- quickstarts/java/spray-can/config.yml | 4 ++- quickstarts/java/spring-jms/config.yml | 4 ++- quickstarts/java/spring/config.yml | 4 ++- quickstarts/java/spymemcached/config.yml | 4 ++- quickstarts/java/struts/config.yml | 4 ++- quickstarts/java/thrift/config.yml | 4 ++- quickstarts/java/tomcat/config.yml | 2 ++ quickstarts/java/tomee/config.yml | 4 ++- quickstarts/java/vert-x/config.yml | 4 ++- quickstarts/java/weblogic/config.yml | 2 ++ .../java/websphere-liberty-profile/config.yml | 4 ++- quickstarts/java/websphere/config.yml | 2 ++ quickstarts/java/wildfly/config.yml | 4 ++- quickstarts/jenkins/config.yml | 6 ++-- quickstarts/jfrog-platform/config.yml | 14 ++++---- quickstarts/jira-errors/config.yml | 2 ++ quickstarts/jmx/config.yml | 3 ++ quickstarts/kafka/config.yml | 12 ++++--- quickstarts/kamon/config.yml | 2 ++ quickstarts/kentik/config.yml | 2 ++ quickstarts/kubernetes-prometheus/config.yml | 26 +++++++------- .../azure-kubernetes-service/config.yml | 2 ++ .../google-kubernetes-engine/config.yml | 2 ++ quickstarts/kubernetes/kubernetes/config.yml | 2 ++ quickstarts/kubernetes/nginx/config.yml | 3 ++ quickstarts/lacework/config.yml | 6 ++-- quickstarts/lamp/config.yml | 4 +++ quickstarts/lampy/config.yml | 31 ++++++++++------- quickstarts/launchdarkly/config.yml | 2 ++ quickstarts/lighthouse/config.yml | 2 ++ quickstarts/linux/config.yml | 2 ++ .../logstash-plugin-for-logs/config.yml | 2 ++ quickstarts/macos/config.yml | 2 ++ quickstarts/mariadb/config.yml | 2 ++ quickstarts/memcached/config.yml | 2 ++ quickstarts/micrometer/config.yml | 2 ++ quickstarts/mlops/aporia/config.yml | 2 ++ quickstarts/mlops/bring-your-own/config.yml | 2 ++ quickstarts/mlops/comet/config.yml | 2 ++ quickstarts/mlops/dagshub/config.yml | 2 ++ quickstarts/mlops/mona/config.yml | 2 ++ quickstarts/mlops/truera/config.yml | 2 ++ quickstarts/mobile-crash-analytics/config.yml | 10 +++--- .../mobile-network-performance/config.yml | 6 ++-- quickstarts/mobile/config.yml | 2 ++ quickstarts/mongodb/config.yml | 12 ++++--- quickstarts/mssql/config.yml | 2 ++ quickstarts/mysql/config.yml | 8 +++-- quickstarts/nagios/config.yml | 2 ++ quickstarts/netlify/netlify-builds/config.yml | 2 ++ quickstarts/netlify/netlify-logs/config.yml | 6 ++-- .../arista-switches/config.yml | 2 ++ .../network-monitoring/bgpNeighbor/config.yml | 2 ++ .../cisco-ip-sla-operations/config.yml | 2 ++ .../ciscoHardware/config.yml | 2 ++ .../network-routers-and-switches/config.yml | 2 ++ .../network-syslog/config.yml | 2 ++ quickstarts/nextcloud/config.yml | 16 +++++---- quickstarts/nginx/config.yml | 2 ++ quickstarts/node-exporter/config.yml | 2 ++ quickstarts/node-js/express/config.yml | 2 ++ quickstarts/node-js/hapi/config.yml | 2 ++ quickstarts/node-js/koa/config.yml | 2 ++ quickstarts/node-js/node-js/config.yml | 10 +++--- quickstarts/node-js/restify/config.yml | 2 ++ quickstarts/node-js/typescript/config.yml | 2 ++ .../observability-as-code/ansible/config.yml | 2 ++ .../observability-as-code/chef/config.yml | 2 ++ .../observability-as-code/cli/config.yml | 2 ++ .../observability-as-code/pulumi/config.yml | 2 ++ .../observability-as-code/puppet/config.yml | 2 ++ .../terraform/config.yml | 2 ++ quickstarts/okhttp/config.yml | 2 ++ quickstarts/oma-aqm/config.yml | 2 ++ quickstarts/oma-bofu/config.yml | 6 ++-- quickstarts/oma-data-gov/config.yml | 2 ++ quickstarts/oma-qf/config.yml | 4 ++- quickstarts/opencensus/config.yml | 2 ++ quickstarts/opentelemetry/config.yml | 2 ++ .../oracle/inet-oracle-driver/config.yml | 2 ++ quickstarts/oracle/oracle-database/config.yml | 2 ++ quickstarts/pagerduty/pagerduty/config.yml | 2 ++ quickstarts/perfmon/config.yml | 2 ++ quickstarts/php/cakephp/config.yml | 2 ++ quickstarts/php/codeigniter/config.yml | 4 ++- quickstarts/php/guzzle/config.yml | 2 ++ quickstarts/php/joomla/config.yml | 2 ++ quickstarts/php/kohana/config.yml | 4 ++- quickstarts/php/laravel/config.yml | 6 ++-- quickstarts/php/magento/config.yml | 4 ++- quickstarts/php/mediawiki/config.yml | 2 ++ quickstarts/php/odbc/config.yml | 2 ++ quickstarts/php/pdo/config.yml | 4 ++- quickstarts/php/php/config.yml | 4 ++- quickstarts/php/phpunit/config.yml | 4 ++- quickstarts/php/predis/config.yml | 4 ++- quickstarts/php/silex/config.yml | 2 ++ quickstarts/php/slim/config.yml | 2 ++ quickstarts/php/sqlite/config.yml | 2 ++ quickstarts/php/symfony/config.yml | 2 ++ quickstarts/php/yii/config.yml | 4 ++- quickstarts/pixie/config.yml | 2 ++ quickstarts/port-monitoring/config.yml | 2 ++ quickstarts/postgresql/config.yml | 2 ++ quickstarts/postman/config.yml | 2 ++ quickstarts/prometheus-agent/config.yml | 4 ++- .../prometheus-remote-write/config.yml | 12 ++++--- quickstarts/python/aiohttp/config.yml | 2 ++ quickstarts/python/amqplib/config.yml | 2 ++ quickstarts/python/bottle/config.yml | 2 ++ quickstarts/python/celery/config.yml | 2 ++ quickstarts/python/cherrypy/config.yml | 4 ++- quickstarts/python/django/config.yml | 2 ++ quickstarts/python/facepy/config.yml | 2 ++ quickstarts/python/falcon/config.yml | 2 ++ quickstarts/python/fastapi/config.yml | 2 ++ quickstarts/python/feedparser/config.yml | 2 ++ quickstarts/python/flask/config.yml | 2 ++ quickstarts/python/gearman/config.yml | 2 ++ quickstarts/python/gevent/config.yml | 2 ++ quickstarts/python/httplib2/config.yml | 2 ++ quickstarts/python/jinja2/config.yml | 2 ++ quickstarts/python/mako/config.yml | 2 ++ quickstarts/python/oursql/config.yml | 2 ++ quickstarts/python/pika/config.yml | 2 ++ quickstarts/python/piston/config.yml | 2 ++ quickstarts/python/proboscis/config.yml | 2 ++ quickstarts/python/psycopg2/config.yml | 6 ++-- quickstarts/python/pyelasticsearch/config.yml | 2 ++ quickstarts/python/pylibmc/config.yml | 2 ++ quickstarts/python/pylons/config.yml | 2 ++ quickstarts/python/pymongo/config.yml | 2 ++ quickstarts/python/pyramid/config.yml | 2 ++ quickstarts/python/pysqlite/config.yml | 2 ++ quickstarts/python/python/config.yml | 6 ++-- quickstarts/python/sanic/config.yml | 2 ++ quickstarts/python/tastypie/config.yml | 2 ++ quickstarts/python/tornado/config.yml | 2 ++ quickstarts/python/twisted/config.yml | 2 ++ quickstarts/python/web2py/config.yml | 2 ++ quickstarts/python/webpy/config.yml | 2 ++ quickstarts/quantum-metric/config.yml | 2 ++ quickstarts/rabbitmq/config.yml | 8 +++-- .../red-hat-enterprise-linux/config.yml | 2 ++ .../redhat/red-hat-openshift/config.yml | 2 ++ quickstarts/redis-prometheus/config.yml | 3 ++ quickstarts/redis/config.yml | 2 ++ quickstarts/redisenterprise/config.yml | 4 ++- quickstarts/releaseiq/config.yml | 2 ++ quickstarts/roku/config.yml | 7 ++-- quickstarts/ruby/activerecord/config.yml | 2 ++ quickstarts/ruby/acts-as-solr/config.yml | 2 ++ quickstarts/ruby/authlogic/config.yml | 2 ++ quickstarts/ruby/bunny/config.yml | 2 ++ quickstarts/ruby/curb/config.yml | 4 ++- quickstarts/ruby/dalli/config.yml | 2 ++ quickstarts/ruby/delayed-job/config.yml | 2 ++ quickstarts/ruby/excon/config.yml | 2 ++ quickstarts/ruby/grape/config.yml | 2 ++ quickstarts/ruby/httpclient/config.yml | 2 ++ quickstarts/ruby/httprb/config.yml | 2 ++ quickstarts/ruby/net-http/config.yml | 2 ++ quickstarts/ruby/padrino/config.yml | 2 ++ quickstarts/ruby/passenger/config.yml | 2 ++ quickstarts/ruby/puma/config.yml | 2 ++ quickstarts/ruby/rack/config.yml | 2 ++ quickstarts/ruby/rails/config.yml | 2 ++ quickstarts/ruby/rainbows/config.yml | 2 ++ quickstarts/ruby/rake/config.yml | 2 ++ quickstarts/ruby/resque/config.yml | 2 ++ quickstarts/ruby/ruby/config.yml | 2 ++ quickstarts/ruby/sequel/config.yml | 2 ++ quickstarts/ruby/sidekiq/config.yml | 2 ++ quickstarts/ruby/sinatra/config.yml | 2 ++ quickstarts/ruby/sunspot/config.yml | 2 ++ quickstarts/ruby/thin/config.yml | 2 ++ quickstarts/ruby/typhoeus/config.yml | 2 ++ quickstarts/ruby/unicorn/config.yml | 2 ++ quickstarts/ruby/webrick/config.yml | 2 ++ .../salesforce-eventlog-for-logs/config.yml | 2 ++ quickstarts/security/config.yml | 6 ++-- quickstarts/sendgrid/config.yml | 4 +++ quickstarts/signl4/config.yml | 2 ++ quickstarts/snmp/config.yml | 2 ++ quickstarts/snyk/config.yml | 2 ++ quickstarts/speedscale/config.yml | 4 ++- quickstarts/split/config.yml | 2 ++ quickstarts/squid-prometheus/config.yml | 3 ++ quickstarts/statsd/config.yml | 4 ++- .../suse-linux-enterprise-server/config.yml | 2 ++ quickstarts/sybase/config.yml | 7 ++-- .../synthetics-optimization/config.yml | 2 ++ .../synthetics/availability/config.yml | 2 ++ .../endpoint-availability/config.yml | 2 ++ .../synthetics/page-link-crawler/config.yml | 2 ++ .../page-load-performance/config.yml | 2 ++ .../synthetics/private-locations/config.yml | 3 ++ .../ssl-certification-check/config.yml | 2 ++ quickstarts/synthetics/user-flow/config.yml | 2 ++ .../synthetics/user-step-execution/config.yml | 2 ++ quickstarts/traefik/config.yml | 3 ++ .../trendmicro-cloudone-conformity/config.yml | 2 ++ quickstarts/trivy/config.yml | 6 ++-- quickstarts/tvos/config.yml | 3 ++ quickstarts/ubuntu/config.yml | 2 ++ quickstarts/unix/config.yml | 2 ++ quickstarts/varnish/config.yml | 2 ++ quickstarts/velero-prometheus/config.yml | 6 ++-- quickstarts/vercel/config.yml | 2 ++ quickstarts/video/video-android/config.yml | 3 ++ quickstarts/video/video-chromecast/config.yml | 2 ++ quickstarts/video/video-ios-tvos/config.yml | 2 ++ .../video-web/video-web-akamai/config.yml | 3 ++ .../video-web/video-web-html5/config.yml | 3 ++ .../video-web/video-web-jwplayer/config.yml | 3 ++ .../video-web-theplatform/config.yml | 3 ++ .../video-web/video-web-videojs/config.yml | 3 ++ quickstarts/vmware/vmware-tanzu/config.yml | 2 ++ quickstarts/vmware/vmware-vsphere/config.yml | 2 ++ .../windows/windows-desktop/config.yml | 2 ++ quickstarts/windows/windows-server/config.yml | 2 ++ quickstarts/winservices/config.yml | 10 +++--- quickstarts/wordpress/config.yml | 2 ++ quickstarts/xamarin/config.yml | 2 ++ quickstarts/xmatters/config.yml | 2 ++ quickstarts/zebrium/config.yml | 4 ++- quickstarts/zenduty/config.yml | 4 ++- quickstarts/zipkin/config.yml | 2 ++ 493 files changed, 1300 insertions(+), 270 deletions(-) diff --git a/quickstarts/ads/web/ads-web-gpt/config.yml b/quickstarts/ads/web/ads-web-gpt/config.yml index 861db856aa..8c47904572 100644 --- a/quickstarts/ads/web/ads-web-gpt/config.yml +++ b/quickstarts/ads/web/ads-web-gpt/config.yml @@ -13,6 +13,8 @@ keywords: - tracking - GPT - NR1_addData +installPlans: + - third-party-ads-web-gpt dataSourceIds: - ads-web-gpt documentation: diff --git a/quickstarts/ads/web/ads-web-prebid/config.yml b/quickstarts/ads/web/ads-web-prebid/config.yml index 1f61863ce9..c30f943708 100644 --- a/quickstarts/ads/web/ads-web-prebid/config.yml +++ b/quickstarts/ads/web/ads-web-prebid/config.yml @@ -13,6 +13,8 @@ keywords: - tracking - Prebid - NR1_addData +installPlans: + - third-party-ads-web-prebid dataSourceIds: - ads-web-prebid documentation: diff --git a/quickstarts/ajax/config.yml b/quickstarts/ajax/config.yml index 0a95d693dd..fdfee80489 100644 --- a/quickstarts/ajax/config.yml +++ b/quickstarts/ajax/config.yml @@ -18,15 +18,15 @@ description: | 4. **Optimize application performance:** By reviewing AJAX requests in New Relic, you can identify opportunities to optimize your application's performance. For example, you may identify slow-loading AJAX requests that can be optimized by reducing the size of the payload or optimizing the code. - + **Distributed tracing with AJAX requests in a microsystem architecture can provide several benefits:** 1. **End-to-end visibility:** Distributed tracing allows you to trace the flow of a request across multiple services in your microsystem architecture. With AJAX requests, you can trace the request from the client-side through to the server-side, allowing you to see the complete end-to-end flow of the request. - + 2. **Performance monitoring:** Distributed tracing can provide valuable insights into the performance of your microsystem architecture. By tracing the flow of requests, you can identify bottlenecks and optimize the performance of your system. - + 3. **Debugging and troubleshooting:** Distributed tracing can make it easier to debug and troubleshoot issues in your microsystem architecture. By tracing the flow of a request, you can quickly identify which service is causing the issue and address it. - + 4. **Root cause analysis:** Distributed tracing can help you identify the root cause of issues in your microsystem architecture. By tracing the flow of requests, you can identify the root cause of a problem and take steps to prevent similar issues from occurring in the future. icon: logo.svg @@ -36,6 +36,8 @@ documentation: description: >- With New Relic One's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ +installPlans: + - browser-docs dataSourceIds: - new-relic-browser diff --git a/quickstarts/android/config.yml b/quickstarts/android/config.yml index 5cbfd7d965..32290861dd 100644 --- a/quickstarts/android/config.yml +++ b/quickstarts/android/config.yml @@ -22,6 +22,8 @@ documentation: Mobile operating system based on a modified Linux kernel and other open source software. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/get-started/introduction-new-relic-mobile-android +installPlans: + - android-mobile dataSourceIds: - android keywords: diff --git a/quickstarts/apache/config.yml b/quickstarts/apache/config.yml index ab7eed94d4..a4b1da0257 100644 --- a/quickstarts/apache/config.yml +++ b/quickstarts/apache/config.yml @@ -34,6 +34,8 @@ documentation: description: | Free and open-source cross-platform web server software, released under the terms of Apache License 2.0. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/apache-monitoring-integration/ +installPlans: + - apache-integration dataSourceIds: - apache keywords: @@ -44,4 +46,4 @@ keywords: dashboards: - apache alertPolicies: - - apache + - apache diff --git a/quickstarts/apis/event/config.yml b/quickstarts/apis/event/config.yml index 205035356b..bb0d1e32d3 100644 --- a/quickstarts/apis/event/config.yml +++ b/quickstarts/apis/event/config.yml @@ -9,6 +9,8 @@ level: New Relic authors: - New Relic title: Event API +installPlans: + - third-party-event-api dataSourceIds: - event-api documentation: diff --git a/quickstarts/apis/logs/config.yml b/quickstarts/apis/logs/config.yml index 7ee187d8f4..1a1c361b80 100644 --- a/quickstarts/apis/logs/config.yml +++ b/quickstarts/apis/logs/config.yml @@ -9,6 +9,8 @@ level: New Relic authors: - New Relic title: Logs API +installPlans: + - third-party-logs-api dataSourceIds: - logs-api documentation: diff --git a/quickstarts/apis/metric/config.yml b/quickstarts/apis/metric/config.yml index d24951a79d..5234650757 100644 --- a/quickstarts/apis/metric/config.yml +++ b/quickstarts/apis/metric/config.yml @@ -9,6 +9,8 @@ level: New Relic authors: - New Relic title: Metric API +installPlans: + - third-party-metric-api dataSourceIds: - metric-api documentation: diff --git a/quickstarts/apis/trace/config.yml b/quickstarts/apis/trace/config.yml index 3137f0f733..635b8581f5 100644 --- a/quickstarts/apis/trace/config.yml +++ b/quickstarts/apis/trace/config.yml @@ -14,6 +14,8 @@ documentation: description: | Our Trace API is used to send distributed tracing data to New Relic: either in our own generic format or the Zipkin data format. This API is also how trace data from some of our integrations and exporters is reported to New Relic. url: https://docs.newrelic.com/docs/distributed-tracing/trace-api/introduction-trace-api/ +installPlans: + - third-party-trace-and-span-api dataSourceIds: - trace-and-span-api keywords: diff --git a/quickstarts/apm-change-tracking/config.yml b/quickstarts/apm-change-tracking/config.yml index 6589f240c8..65f1e6ecf7 100644 --- a/quickstarts/apm-change-tracking/config.yml +++ b/quickstarts/apm-change-tracking/config.yml @@ -14,6 +14,8 @@ keywords: - marker - change - tracking +installPlans: + - change-tracking dataSourceIds: - change-tracking documentation: @@ -23,3 +25,5 @@ documentation: icon: logo.svg dashboards: - change-tracking-apm + + \ No newline at end of file diff --git a/quickstarts/apm-logs/config.yml b/quickstarts/apm-logs/config.yml index eeb1de7e6f..6c3014bf92 100644 --- a/quickstarts/apm-logs/config.yml +++ b/quickstarts/apm-logs/config.yml @@ -13,6 +13,8 @@ authors: keywords: - logs - APM +installPlans: + - apm-logs dataSourceIds: - guided-install documentation: diff --git a/quickstarts/apollo/apollo-server/config.yml b/quickstarts/apollo/apollo-server/config.yml index 73c6718cdb..d0738b661b 100644 --- a/quickstarts/apollo/apollo-server/config.yml +++ b/quickstarts/apollo/apollo-server/config.yml @@ -36,6 +36,8 @@ keywords: - fastify - lambda - NR1_addData +installPlans: + - node-agent dashboards: - apollo-server dataSourceIds: diff --git a/quickstarts/argocd/config.yml b/quickstarts/argocd/config.yml index ced93ec4e6..010e3d88ec 100644 --- a/quickstarts/argocd/config.yml +++ b/quickstarts/argocd/config.yml @@ -52,6 +52,9 @@ keywords: - grafana - featured - NR1_addData +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/atlassian/bitbucket/config.yml b/quickstarts/atlassian/bitbucket/config.yml index fdcfdba63d..1b49e23050 100644 --- a/quickstarts/atlassian/bitbucket/config.yml +++ b/quickstarts/atlassian/bitbucket/config.yml @@ -10,7 +10,7 @@ description: | ### About this quickstart - This quickstart is built around a [Bitbucket Pipe](https://bitbucket.org/product/features/pipelines/integrations) integration. This tool will enable you to send CI/CD events into New Relic, where you can monitor your Bitbucket Pipelines. + This quickstart is built around a [Bitbucket Pipe](https://bitbucket.org/product/features/pipelines/integrations) integration. This tool will enable you to send CI/CD events into New Relic, where you can monitor your Bitbucket Pipelines. With this visualization you can monitor: - Number of events/pipeline builds @@ -30,6 +30,8 @@ keywords: - pipeline - NR1_addData - NR1_sys +installPlans: + - third-party-bitbucket dataSourceIds: - bitbucket documentation: diff --git a/quickstarts/audit/account-data-ingestion-analysis/config.yml b/quickstarts/audit/account-data-ingestion-analysis/config.yml index bfa1dd743d..a593f0ac4b 100644 --- a/quickstarts/audit/account-data-ingestion-analysis/config.yml +++ b/quickstarts/audit/account-data-ingestion-analysis/config.yml @@ -13,6 +13,8 @@ authors: keywords: - data - ingest +installPlans: + - telemetry-data-platform dataSourceIds: - telemetry-data-platform documentation: @@ -21,3 +23,4 @@ documentation: description: Manage data coming into New Relic dashboards: - data-ingestion-breakdown + diff --git a/quickstarts/audit/audit-events-analysis/config.yaml b/quickstarts/audit/audit-events-analysis/config.yaml index 577e08f870..c5015b3bdd 100644 --- a/quickstarts/audit/audit-events-analysis/config.yaml +++ b/quickstarts/audit/audit-events-analysis/config.yaml @@ -26,6 +26,8 @@ keywords: - new relic - NR1_addData - NR1_sys +installPlans: + - third-party-audit-events-analysis dataSourceIds: - audit-events-analysis documentation: diff --git a/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml b/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml index 4cecfa2532..35d6173f44 100644 --- a/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml +++ b/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml @@ -23,6 +23,8 @@ keywords: - pixie - NR1_addData - NR1_sys +installPlans: + - telemetry-data-platform dataSourceIds: - telemetry-data-platform documentation: @@ -38,3 +40,4 @@ dashboards: - gcp-integrations-data-ingest-analysis - kubernetes-data-ingest-analysis - on-host-integrations-data-analysis + diff --git a/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml b/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml index 77b494f77e..bf5fec2edd 100644 --- a/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml +++ b/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml @@ -41,6 +41,8 @@ documentation: description: | Kubernetes plugin for log forwarding +installPlans: + - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/audit/log-ingestion-analysis/config.yml b/quickstarts/audit/log-ingestion-analysis/config.yml index dfe64e8540..14330a371f 100644 --- a/quickstarts/audit/log-ingestion-analysis/config.yml +++ b/quickstarts/audit/log-ingestion-analysis/config.yml @@ -15,6 +15,8 @@ keywords: - data - NR1_addData - NR1_sys +installPlans: + - logs-default dataSourceIds: - logs-default documentation: @@ -26,3 +28,4 @@ icon: logo.svg website: https://www.newrelic.com dashboards: - log-analysis + diff --git a/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml b/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml index 593f864c96..37eddc51c0 100644 --- a/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml +++ b/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml @@ -22,6 +22,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - network-performance-monitoring dataSourceIds: - network-data-ingest-and-cardinality documentation: diff --git a/quickstarts/aws/amazon-athena/config.yml b/quickstarts/aws/amazon-athena/config.yml index b5c5c5a1bf..4d8c9a0bcd 100644 --- a/quickstarts/aws/amazon-athena/config.yml +++ b/quickstarts/aws/amazon-athena/config.yml @@ -36,6 +36,8 @@ keywords: - aws - amazon web services - database +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-aurora/config.yml b/quickstarts/aws/amazon-aurora/config.yml index d83b0b6551..1907427acf 100644 --- a/quickstarts/aws/amazon-aurora/config.yml +++ b/quickstarts/aws/amazon-aurora/config.yml @@ -36,6 +36,8 @@ keywords: - rds - aurora - NR1_addData +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-cloudfront-logs/config.yml b/quickstarts/aws/amazon-cloudfront-logs/config.yml index f7ddf92d2f..806246f750 100644 --- a/quickstarts/aws/amazon-cloudfront-logs/config.yml +++ b/quickstarts/aws/amazon-cloudfront-logs/config.yml @@ -7,13 +7,13 @@ description: |- ### Get started! - Start monitoring Amazon CloudFront by sending your Amazon Cloudfront Web Logs to New Relic. + Start monitoring Amazon CloudFront by sending your Amazon Cloudfront Web Logs to New Relic. Check out our Amazon CloudFront documentation to instrument your cloud service and manage the stability, scalability, and reliability of your systems with New Relic's Log monitoring capabilities. ### More info - Check out the [documentation](https://docs.newrelic.com/docs/logs/forward-logs/cloudfront-web-logs/) to learn more about New Relic monitoring for Amazon CloudFront. + Check out the [documentation](https://docs.newrelic.com/docs/logs/forward-logs/cloudfront-web-logs/) to learn more about New Relic monitoring for Amazon CloudFront. summary: Monitor Amazon CloudFront Web logs in New Relic icon: logo.svg level: New Relic @@ -39,6 +39,8 @@ keywords: - NR1_sys dashboards: - amazon-cloudfront-web-logs +installPlans: + - amazon-cloudfront-web-logs dataSourceIds: - aws-cloudfront-logs alertPolicies: diff --git a/quickstarts/aws/amazon-cloudfront/config.yml b/quickstarts/aws/amazon-cloudfront/config.yml index 5bbf738c97..4b7a619a88 100644 --- a/quickstarts/aws/amazon-cloudfront/config.yml +++ b/quickstarts/aws/amazon-cloudfront/config.yml @@ -19,5 +19,7 @@ keywords: - web content dashboards: - amazon-cloudfront +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml b/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml index cdd3fe055d..67f475fe46 100644 --- a/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml +++ b/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml @@ -25,5 +25,7 @@ documentation: keywords: - aws - amazon web services +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-cognito/config.yml b/quickstarts/aws/amazon-cognito/config.yml index ed1ee48b55..db4c226dd3 100644 --- a/quickstarts/aws/amazon-cognito/config.yml +++ b/quickstarts/aws/amazon-cognito/config.yml @@ -19,5 +19,7 @@ documentation: icon: logo.svg dashboards: - amazon-cognito +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-connect/config.yml b/quickstarts/aws/amazon-connect/config.yml index bb38537ddb..31742f7faf 100644 --- a/quickstarts/aws/amazon-connect/config.yml +++ b/quickstarts/aws/amazon-connect/config.yml @@ -19,5 +19,7 @@ documentation: icon: logo.svg dashboards: - amazon-connect +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-documentdb/config.yml b/quickstarts/aws/amazon-documentdb/config.yml index e3f7f66192..4d54bd457a 100644 --- a/quickstarts/aws/amazon-documentdb/config.yml +++ b/quickstarts/aws/amazon-documentdb/config.yml @@ -28,5 +28,7 @@ documentation: icon: logo.svg dashboards: - amazon-documentdb +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-dynamodb/config.yml b/quickstarts/aws/amazon-dynamodb/config.yml index 26e97eb136..0ba0414783 100644 --- a/quickstarts/aws/amazon-dynamodb/config.yml +++ b/quickstarts/aws/amazon-dynamodb/config.yml @@ -30,6 +30,8 @@ documentation: icon: logo.svg dashboards: - amazon-dynamodb +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams alertPolicies: diff --git a/quickstarts/aws/amazon-ebs/config.yml b/quickstarts/aws/amazon-ebs/config.yml index 3b91d49f82..34740cbc10 100644 --- a/quickstarts/aws/amazon-ebs/config.yml +++ b/quickstarts/aws/amazon-ebs/config.yml @@ -20,5 +20,7 @@ documentation: icon: logo.svg dashboards: - amazon-ebs +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-ec2/config.yml b/quickstarts/aws/amazon-ec2/config.yml index de334d580f..d505615461 100644 --- a/quickstarts/aws/amazon-ec2/config.yml +++ b/quickstarts/aws/amazon-ec2/config.yml @@ -19,6 +19,8 @@ documentation: icon: logo.svg dashboards: - amazon-ec2 +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams alertPolicies: diff --git a/quickstarts/aws/amazon-ecs/config.yml b/quickstarts/aws/amazon-ecs/config.yml index 220126a2ec..76a9c15666 100644 --- a/quickstarts/aws/amazon-ecs/config.yml +++ b/quickstarts/aws/amazon-ecs/config.yml @@ -20,5 +20,7 @@ documentation: icon: logo.svg dashboards: - amazon-ecs +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-efs/config.yml b/quickstarts/aws/amazon-efs/config.yml index 3e6789c2d2..8c89847cde 100644 --- a/quickstarts/aws/amazon-efs/config.yml +++ b/quickstarts/aws/amazon-efs/config.yml @@ -19,5 +19,7 @@ documentation: icon: logo.svg dashboards: - amazon-efs +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml b/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml index ea682065f2..2e1e038b56 100644 --- a/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml +++ b/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml @@ -20,5 +20,7 @@ keywords: - kubernetes - k8s - NR1_addData +installPlans: + - third-party-amazon-eks-on-aws-fargate dataSourceIds: - amazon-eks-on-aws-fargate diff --git a/quickstarts/aws/amazon-elasticache/config.yml b/quickstarts/aws/amazon-elasticache/config.yml index d35df3d471..747e6c5d4f 100644 --- a/quickstarts/aws/amazon-elasticache/config.yml +++ b/quickstarts/aws/amazon-elasticache/config.yml @@ -20,5 +20,7 @@ icon: logo.svg dashboards: - amazon-elasticache-redis - amazon-elasticache-memcached +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-elasticsearch/config.yml b/quickstarts/aws/amazon-elasticsearch/config.yml index bb58140a83..41b5a0ea0f 100644 --- a/quickstarts/aws/amazon-elasticsearch/config.yml +++ b/quickstarts/aws/amazon-elasticsearch/config.yml @@ -33,5 +33,7 @@ keywords: - amazon web services dashboards: - amazon-elasticsearch +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-emr/config.yml b/quickstarts/aws/amazon-emr/config.yml index 45d34bb4ef..b2b59af215 100644 --- a/quickstarts/aws/amazon-emr/config.yml +++ b/quickstarts/aws/amazon-emr/config.yml @@ -33,5 +33,7 @@ keywords: - analytics dashboards: - amazon-emr +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-fsx/config.yml b/quickstarts/aws/amazon-fsx/config.yml index 57b11b4273..b0fc9988fc 100644 --- a/quickstarts/aws/amazon-fsx/config.yml +++ b/quickstarts/aws/amazon-fsx/config.yml @@ -37,5 +37,7 @@ keywords: - windows file server dashboards: - amazon-fsx +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-kinesis-firehose/config.yml b/quickstarts/aws/amazon-kinesis-firehose/config.yml index 95dbf0ec5c..2434551997 100644 --- a/quickstarts/aws/amazon-kinesis-firehose/config.yml +++ b/quickstarts/aws/amazon-kinesis-firehose/config.yml @@ -34,6 +34,8 @@ keywords: - aws - amazon web services - NR1_addData +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-kinesis/config.yml b/quickstarts/aws/amazon-kinesis/config.yml index a77fbeaf6e..41582e0c7c 100644 --- a/quickstarts/aws/amazon-kinesis/config.yml +++ b/quickstarts/aws/amazon-kinesis/config.yml @@ -34,5 +34,7 @@ keywords: - amazon web services dashboards: - amazon-kinesis +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-linux/config.yml b/quickstarts/aws/amazon-linux/config.yml index 7a290716de..d26a0b5406 100644 --- a/quickstarts/aws/amazon-linux/config.yml +++ b/quickstarts/aws/amazon-linux/config.yml @@ -27,6 +27,8 @@ keywords: - os - operating system - NR1_addData +installPlans: + - guided-install dataSourceIds: - guided-install dashboards: diff --git a/quickstarts/aws/amazon-mq/config.yml b/quickstarts/aws/amazon-mq/config.yml index 640404dec4..0a4ed0de07 100644 --- a/quickstarts/aws/amazon-mq/config.yml +++ b/quickstarts/aws/amazon-mq/config.yml @@ -11,7 +11,7 @@ description: |- Check out our Amazon MQ documentation to instrument your cloud service and manage the stability, scalability, and reliability of your systems with New Relic's infrastructure monitoring capabilities. - ### More info + ### More info Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-mq-integration/) to learn more about New Relic monitoring for Amazon MQ. @@ -32,6 +32,8 @@ keywords: - messaging - queue +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-msk/config.yml b/quickstarts/aws/amazon-msk/config.yml index bea7f705cf..88e3339524 100644 --- a/quickstarts/aws/amazon-msk/config.yml +++ b/quickstarts/aws/amazon-msk/config.yml @@ -34,6 +34,8 @@ keywords: - aws - amazon web services - queue +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-neptune/config.yml b/quickstarts/aws/amazon-neptune/config.yml index f8361bfe91..e7a7a1b5ea 100644 --- a/quickstarts/aws/amazon-neptune/config.yml +++ b/quickstarts/aws/amazon-neptune/config.yml @@ -35,5 +35,7 @@ keywords: - neptune dashboards: - amazon-neptune +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-qldb/config.yml b/quickstarts/aws/amazon-qldb/config.yml index 0dae785bef..d809eb3411 100644 --- a/quickstarts/aws/amazon-qldb/config.yml +++ b/quickstarts/aws/amazon-qldb/config.yml @@ -42,6 +42,8 @@ keywords: - aws - amazon web services - database +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-rds-enhanced/config.yml b/quickstarts/aws/amazon-rds-enhanced/config.yml index 6a10145971..49d28eb2dc 100644 --- a/quickstarts/aws/amazon-rds-enhanced/config.yml +++ b/quickstarts/aws/amazon-rds-enhanced/config.yml @@ -19,5 +19,7 @@ keywords: - NR1_addData dashboards: - amazon-rds +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-rds/config.yml b/quickstarts/aws/amazon-rds/config.yml index fc43590281..13a3e5bdb0 100644 --- a/quickstarts/aws/amazon-rds/config.yml +++ b/quickstarts/aws/amazon-rds/config.yml @@ -34,6 +34,8 @@ keywords: - aws - amazon web services - database +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-redshift/config.yml b/quickstarts/aws/amazon-redshift/config.yml index b68aca7d77..4c15c846c7 100644 --- a/quickstarts/aws/amazon-redshift/config.yml +++ b/quickstarts/aws/amazon-redshift/config.yml @@ -36,5 +36,7 @@ keywords: - redshift dashboards: - amazon-redshift +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-route53-resolver/config.yml b/quickstarts/aws/amazon-route53-resolver/config.yml index 59b2cff762..3edc1c7594 100644 --- a/quickstarts/aws/amazon-route53-resolver/config.yml +++ b/quickstarts/aws/amazon-route53-resolver/config.yml @@ -20,5 +20,7 @@ keywords: - NR1_addData dashboards: - amazon-route53 +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-route53/config.yml b/quickstarts/aws/amazon-route53/config.yml index 3b2f7552cc..9cb3fb80fa 100644 --- a/quickstarts/aws/amazon-route53/config.yml +++ b/quickstarts/aws/amazon-route53/config.yml @@ -35,5 +35,7 @@ keywords: - networking dashboards: - amazon-route53 +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-s3-storagelens/config.yml b/quickstarts/aws/amazon-s3-storagelens/config.yml index 36ab80b0b1..67b37e3b19 100644 --- a/quickstarts/aws/amazon-s3-storagelens/config.yml +++ b/quickstarts/aws/amazon-s3-storagelens/config.yml @@ -31,6 +31,8 @@ keywords: - storage - logs - logging +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-s3/config.yml b/quickstarts/aws/amazon-s3/config.yml index d446d5fb32..087f9cab2b 100644 --- a/quickstarts/aws/amazon-s3/config.yml +++ b/quickstarts/aws/amazon-s3/config.yml @@ -36,6 +36,8 @@ keywords: - storage - logs - logging +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-security-lake/config.yml b/quickstarts/aws/amazon-security-lake/config.yml index a11f1fddb1..f3059ff107 100644 --- a/quickstarts/aws/amazon-security-lake/config.yml +++ b/quickstarts/aws/amazon-security-lake/config.yml @@ -3,7 +3,7 @@ slug: aws-security-lake description: |- ## What is Amazon Security Lake? - Amazon Security Lake allow you to automatically centralize your security data in just a few steps. + Amazon Security Lake allow you to automatically centralize your security data in just a few steps. ### Get started! @@ -43,5 +43,7 @@ dashboards: - amazon-security-lake-security-hub - amazon-security-lake-route53-resolver-query-logs - amazon-security-lake-cloudtrail-logs +installPlans: + - aws-security-lake dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-ses/config.yml b/quickstarts/aws/amazon-ses/config.yml index df5111b965..3cd428d5ee 100644 --- a/quickstarts/aws/amazon-ses/config.yml +++ b/quickstarts/aws/amazon-ses/config.yml @@ -18,5 +18,7 @@ keywords: - messaging dashboards: - amazon-ses +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-sns/config.yml b/quickstarts/aws/amazon-sns/config.yml index ef3d0d45ab..6150294e38 100644 --- a/quickstarts/aws/amazon-sns/config.yml +++ b/quickstarts/aws/amazon-sns/config.yml @@ -35,5 +35,7 @@ keywords: - messaging dashboards: - amazon-sns +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-sqs/config.yml b/quickstarts/aws/amazon-sqs/config.yml index 79b5e8f2b7..fdcf48a706 100644 --- a/quickstarts/aws/amazon-sqs/config.yml +++ b/quickstarts/aws/amazon-sqs/config.yml @@ -18,6 +18,8 @@ keywords: - aws - amazon web services - queue +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-web-services/config.yml b/quickstarts/aws/amazon-web-services/config.yml index 21d4290b39..193d0fe184 100644 --- a/quickstarts/aws/amazon-web-services/config.yml +++ b/quickstarts/aws/amazon-web-services/config.yml @@ -34,5 +34,7 @@ keywords: - amazon web services - cloudwatch - cloudwach metric streams +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-appsync/config.yml b/quickstarts/aws/aws-appsync/config.yml index f1290afb86..70ee829301 100644 --- a/quickstarts/aws/aws-appsync/config.yml +++ b/quickstarts/aws/aws-appsync/config.yml @@ -37,5 +37,7 @@ keywords: - NR1_addData dashboards: - aws-appsync +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-auto-scaling/config.yml b/quickstarts/aws/aws-auto-scaling/config.yml index b36174db5f..f54d071f92 100644 --- a/quickstarts/aws/aws-auto-scaling/config.yml +++ b/quickstarts/aws/aws-auto-scaling/config.yml @@ -35,5 +35,7 @@ keywords: - auto scaling dashboards: - aws-auto-scaling +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-billing/config.yml b/quickstarts/aws/aws-billing/config.yml index 54939adf6a..2c7a890ad8 100644 --- a/quickstarts/aws/aws-billing/config.yml +++ b/quickstarts/aws/aws-billing/config.yml @@ -11,9 +11,9 @@ description: |- ### Why monitor AWS Billing with New Relic? - With our AWS Billing integration, you can gain visibility into all of your financial data. Our integration aggregates data from different sub-accounts and services and looks at your budgets in actual and forecasted spend. The best part? It’s all in one place. + With our AWS Billing integration, you can gain visibility into all of your financial data. Our integration aggregates data from different sub-accounts and services and looks at your budgets in actual and forecasted spend. The best part? It’s all in one place. - Start ingesting your AWS billing data today and visualize your AWS billing metrics in real-time. + Start ingesting your AWS billing data today and visualize your AWS billing metrics in real-time. summary: Monitoring AWS Billing is critical to effectively track AWS cost and usage. Download the New Relic AWS Billing quickstart to proactively monitor AWS financial data including AWS billing metrics and AWS budget metrics. icon: logo.svg level: New Relic @@ -34,5 +34,7 @@ keywords: - costs dashboards: - aws-billing +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudformation/config.yml b/quickstarts/aws/aws-cloudformation/config.yml index be30e0a87b..e9b386eee9 100644 --- a/quickstarts/aws/aws-cloudformation/config.yml +++ b/quickstarts/aws/aws-cloudformation/config.yml @@ -31,5 +31,7 @@ keywords: - aws - amazon web services - automation +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudtrail/config.yml b/quickstarts/aws/aws-cloudtrail/config.yml index 6a7505b3f6..e588ceb05d 100644 --- a/quickstarts/aws/aws-cloudtrail/config.yml +++ b/quickstarts/aws/aws-cloudtrail/config.yml @@ -31,5 +31,7 @@ keywords: - aws - amazon web services - security +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml b/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml index 8e15a67261..c4244e14d0 100644 --- a/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml +++ b/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml @@ -7,6 +7,8 @@ icon: logo.svg level: New Relic authors: - New Relic +installPlans: + - third-party-aws-cloudwatch-plugin-for-logs dataSourceIds: - amazon-cloudwatch documentation: diff --git a/quickstarts/aws/aws-direct-connect/config.yml b/quickstarts/aws/aws-direct-connect/config.yml index 0264bdfa18..d856b749b2 100644 --- a/quickstarts/aws/aws-direct-connect/config.yml +++ b/quickstarts/aws/aws-direct-connect/config.yml @@ -19,5 +19,7 @@ documentation: icon: logo.svg dashboards: - aws-directconnect +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elastic-beanstalk/config.yml b/quickstarts/aws/aws-elastic-beanstalk/config.yml index 9831dfa0a9..c072f56613 100644 --- a/quickstarts/aws/aws-elastic-beanstalk/config.yml +++ b/quickstarts/aws/aws-elastic-beanstalk/config.yml @@ -35,5 +35,7 @@ keywords: - deploy dashboards: - aws-elasticbeanstalk +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elb/config.yml b/quickstarts/aws/aws-elb/config.yml index 8d81d0ca88..b9f0147c2b 100644 --- a/quickstarts/aws/aws-elb/config.yml +++ b/quickstarts/aws/aws-elb/config.yml @@ -32,5 +32,7 @@ keywords: - networking dashboards: - aws-elb +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elemental-mediaconvert/config.yml b/quickstarts/aws/aws-elemental-mediaconvert/config.yml index c31f973f22..e85defefa3 100644 --- a/quickstarts/aws/aws-elemental-mediaconvert/config.yml +++ b/quickstarts/aws/aws-elemental-mediaconvert/config.yml @@ -33,5 +33,7 @@ keywords: - amazon web services dashboards: - aws-elemental-mediaconvert +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml b/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml index bf66fe0505..966beb17bc 100644 --- a/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml +++ b/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml @@ -30,5 +30,7 @@ documentation: keywords: - aws - amazon web services +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-enhanced-monitoring/config.yml b/quickstarts/aws/aws-enhanced-monitoring/config.yml index ac3041bc91..94d0262122 100644 --- a/quickstarts/aws/aws-enhanced-monitoring/config.yml +++ b/quickstarts/aws/aws-enhanced-monitoring/config.yml @@ -36,5 +36,7 @@ documentation: icon: logo.svg dashboards: - aws-lambda +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml b/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml index 44ff040548..26e1025126 100644 --- a/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml +++ b/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml @@ -7,6 +7,8 @@ level: New Relic authors: - New Relic title: AWS FireLens plugin for Logs +installPlans: + - third-party-aws-firelens-plugin-for-logs dataSourceIds: - aws-firelens documentation: diff --git a/quickstarts/aws/aws-glue/config.yml b/quickstarts/aws/aws-glue/config.yml index 29f1f6b339..1a7b329455 100644 --- a/quickstarts/aws/aws-glue/config.yml +++ b/quickstarts/aws/aws-glue/config.yml @@ -32,5 +32,7 @@ keywords: - data integration dashboards: - aws-glue +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-health/config.yml b/quickstarts/aws/aws-health/config.yml index 917a3aaefb..359e66e051 100644 --- a/quickstarts/aws/aws-health/config.yml +++ b/quickstarts/aws/aws-health/config.yml @@ -33,5 +33,7 @@ documentation: keywords: - aws - amazon web services +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-iam/config.yml b/quickstarts/aws/aws-iam/config.yml index f68c6fab0a..d3a6018fd0 100644 --- a/quickstarts/aws/aws-iam/config.yml +++ b/quickstarts/aws/aws-iam/config.yml @@ -35,5 +35,7 @@ keywords: - Identity and access management dashboards: - aws-iam +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-iot/config.yml b/quickstarts/aws/aws-iot/config.yml index 0dfb4c6cb4..13c181ef41 100644 --- a/quickstarts/aws/aws-iot/config.yml +++ b/quickstarts/aws/aws-iot/config.yml @@ -34,5 +34,7 @@ keywords: - amazon web services dashboards: - aws-iot +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-lambda/config.yml b/quickstarts/aws/aws-lambda/config.yml index a6fefb8d17..6abd58abe1 100644 --- a/quickstarts/aws/aws-lambda/config.yml +++ b/quickstarts/aws/aws-lambda/config.yml @@ -35,6 +35,8 @@ keywords: - amazon web services - serverless - lambda +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/aws-nlb-alb/config.yml b/quickstarts/aws/aws-nlb-alb/config.yml index 2d25e32503..f481e1f3d1 100644 --- a/quickstarts/aws/aws-nlb-alb/config.yml +++ b/quickstarts/aws/aws-nlb-alb/config.yml @@ -37,5 +37,7 @@ dashboards: - aws-alb - aws-nlb +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-outposts/config.yml b/quickstarts/aws/aws-outposts/config.yml index 2ff3fade66..255d58b8c3 100644 --- a/quickstarts/aws/aws-outposts/config.yml +++ b/quickstarts/aws/aws-outposts/config.yml @@ -30,5 +30,7 @@ documentation: keywords: - aws - amazon web services +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-security-hub/config.yml b/quickstarts/aws/aws-security-hub/config.yml index f9df9156e1..6e14302827 100644 --- a/quickstarts/aws/aws-security-hub/config.yml +++ b/quickstarts/aws/aws-security-hub/config.yml @@ -20,7 +20,7 @@ description: | ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/aws) to learn more about New Relic ingestion for AWS Security Hub. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/aws) to learn more about New Relic ingestion for AWS Security Hub. summary: Ingest AWS Security Hub by connecting AWS to New Relic icon: logo.png level: New Relic @@ -30,6 +30,8 @@ documentation: - name: AWS Security Hub installation docs description: Cloud-based service for detecting vulnerabilities in AWS resources. url: https://docs.newrelic.com/docs/vulnerability-management/integrations/aws +installPlans: + - aws-security-hub-install dataSourceIds: - aws-security-hub keywords: diff --git a/quickstarts/aws/aws-step-functions/config.yml b/quickstarts/aws/aws-step-functions/config.yml index e2fa36050e..d1439f7d6e 100644 --- a/quickstarts/aws/aws-step-functions/config.yml +++ b/quickstarts/aws/aws-step-functions/config.yml @@ -19,5 +19,7 @@ keywords: - serverless dashboards: - aws-step-functions +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-transitgateway/config.yml b/quickstarts/aws/aws-transitgateway/config.yml index 56f224bede..8752f52c4d 100644 --- a/quickstarts/aws/aws-transitgateway/config.yml +++ b/quickstarts/aws/aws-transitgateway/config.yml @@ -19,5 +19,7 @@ keywords: - networking dashboards: - aws-transitgateway +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-trusted-advisor/config.yml b/quickstarts/aws/aws-trusted-advisor/config.yml index 8cf1100bf2..a1f5a360e6 100644 --- a/quickstarts/aws/aws-trusted-advisor/config.yml +++ b/quickstarts/aws/aws-trusted-advisor/config.yml @@ -8,7 +8,7 @@ description: |- ### New Relic AWS Trusted Advisor quickstart features - The New Relic AWS Trusted Advisor monitoring quickstart empowers you with our [AWS Trusted Advisor integration](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-trusted-advisor-integration/) to collect data about key metrics, query the data and gain valuable insights. + The New Relic AWS Trusted Advisor monitoring quickstart empowers you with our [AWS Trusted Advisor integration](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-trusted-advisor-integration/) to collect data about key metrics, query the data and gain valuable insights. ### Why monitor AWS Trusted Advisor with New Relic? @@ -16,7 +16,7 @@ description: |- You can activate the integration by following our [standard procedures](https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/getting-started/connect-aws-integrations-infrastructure) for connecting AWS services to New Relic. The monitoring quickstart helps you to track key AWS Trusted Advisor metrics like AWS region, current usage, limit amount, service limit usage, status, and timestamp. - Install the New Relic AWS Trusted Advisor quickstart today to proactively monitor AWS Trusted Advisor and keep getting quality recommendations that help you follow AWS best practices. + Install the New Relic AWS Trusted Advisor quickstart today to proactively monitor AWS Trusted Advisor and keep getting quality recommendations that help you follow AWS best practices. summary: Monitoring AWS Trusted Advisor is critical to keep getting quality recommendations that help you follow AWS best practices. Download the New Relic quickstart to proactively instrument AWS Trusted Advisor with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -31,5 +31,7 @@ documentation: keywords: - aws - amazon web services +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-vpc-flow-logs/config.yml b/quickstarts/aws/aws-vpc-flow-logs/config.yml index 2c3a415be2..2d3820a669 100644 --- a/quickstarts/aws/aws-vpc-flow-logs/config.yml +++ b/quickstarts/aws/aws-vpc-flow-logs/config.yml @@ -37,5 +37,7 @@ keywords: - kinesis firehose - kinesis data firehose - networking +installPlans: + - aws-vpc-flow-logs dataSourceIds: - aws-vpc-flow-logs diff --git a/quickstarts/aws/aws-vpc/config.yml b/quickstarts/aws/aws-vpc/config.yml index 220b3d4847..01805c4c91 100644 --- a/quickstarts/aws/aws-vpc/config.yml +++ b/quickstarts/aws/aws-vpc/config.yml @@ -35,5 +35,7 @@ keywords: - networking dashboards: - amazon-vpc +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-waf/config.yml b/quickstarts/aws/aws-waf/config.yml index 924c280c66..dab2a454c4 100644 --- a/quickstarts/aws/aws-waf/config.yml +++ b/quickstarts/aws/aws-waf/config.yml @@ -19,5 +19,7 @@ keywords: dashboards: - aws-waf - aws-wafv2 +installPlans: + - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-x-ray/config.yml b/quickstarts/aws/aws-x-ray/config.yml index 39f11fdfc0..7d03434ea7 100644 --- a/quickstarts/aws/aws-x-ray/config.yml +++ b/quickstarts/aws/aws-x-ray/config.yml @@ -31,5 +31,7 @@ keywords: - aws - amazon web services - tracing +installPlans: + - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/azure/azure-api-management/config.yml b/quickstarts/azure/azure-api-management/config.yml index f3cb277dee..bed29b27e1 100644 --- a/quickstarts/azure/azure-api-management/config.yml +++ b/quickstarts/azure/azure-api-management/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-api-management-monitoring-integration/) to learn more about New Relic monitoring for Azure API Management. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-api-management-monitoring-integration/) to learn more about New Relic monitoring for Azure API Management. summary: Monitor Azure API Management by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -28,5 +28,7 @@ documentation: keywords: - azure - api +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-app-service/config.yml b/quickstarts/azure/azure-app-service/config.yml index 3d0a268388..86540a629e 100644 --- a/quickstarts/azure/azure-app-service/config.yml +++ b/quickstarts/azure/azure-app-service/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - azure - web +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-containers/config.yml b/quickstarts/azure/azure-containers/config.yml index 5b5ba8bcf8..4373264dd3 100644 --- a/quickstarts/azure/azure-containers/config.yml +++ b/quickstarts/azure/azure-containers/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-containers-monitoring-integration/) to learn more about New Relic monitoring for Azure Containers. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-containers-monitoring-integration/) to learn more about New Relic monitoring for Azure Containers. summary: Monitor Azure Containers by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -27,6 +27,8 @@ documentation: keywords: - azure - containers +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-cosmos-db/config.yml b/quickstarts/azure/azure-cosmos-db/config.yml index 4296f1e14b..93512ed845 100644 --- a/quickstarts/azure/azure-cosmos-db/config.yml +++ b/quickstarts/azure/azure-cosmos-db/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration/) to learn more about New Relic monitoring for Azure Cosmos DB. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration/) to learn more about New Relic monitoring for Azure Cosmos DB. summary: Monitor Azure Cosmos DB by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -29,6 +29,8 @@ documentation: keywords: - azure - database +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-cost-management/config.yml b/quickstarts/azure/azure-cost-management/config.yml index b4132f4020..9e377efd1b 100644 --- a/quickstarts/azure/azure-cost-management/config.yml +++ b/quickstarts/azure/azure-cost-management/config.yml @@ -31,6 +31,8 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cost-management-monitoring-integration/ keywords: - azure +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-datafactories/config.yml b/quickstarts/azure/azure-datafactories/config.yml index b41c9eb1a5..ea261c00a1 100644 --- a/quickstarts/azure/azure-datafactories/config.yml +++ b/quickstarts/azure/azure-datafactories/config.yml @@ -37,5 +37,7 @@ keywords: - NR1_sys dashboards: - azure-datafactories +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-event-hubs/config.yml b/quickstarts/azure/azure-event-hubs/config.yml index a218768bc5..e2c16d0ada 100644 --- a/quickstarts/azure/azure-event-hubs/config.yml +++ b/quickstarts/azure/azure-event-hubs/config.yml @@ -31,5 +31,7 @@ keywords: - azure - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-express-route/config.yml b/quickstarts/azure/azure-express-route/config.yml index dfa6168afe..b0cfd2ed6e 100644 --- a/quickstarts/azure/azure-express-route/config.yml +++ b/quickstarts/azure/azure-express-route/config.yml @@ -30,5 +30,7 @@ documentation: keywords: - azure - networking +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-functions/config.yml b/quickstarts/azure/azure-functions/config.yml index 11101a9c59..15e019f0c2 100644 --- a/quickstarts/azure/azure-functions/config.yml +++ b/quickstarts/azure/azure-functions/config.yml @@ -33,6 +33,8 @@ keywords: - serverless - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-key-vault/config.yml b/quickstarts/azure/azure-key-vault/config.yml index 66d2671f88..77bfbacd21 100644 --- a/quickstarts/azure/azure-key-vault/config.yml +++ b/quickstarts/azure/azure-key-vault/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-key-vault-monitoring-integration) to learn more about New Relic monitoring for Azure Key Vault. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-key-vault-monitoring-integration) to learn more about New Relic monitoring for Azure Key Vault. summary: Monitor Azure Key Vault by connecting Azure to New Relic icon: logo.png level: New Relic @@ -30,6 +30,8 @@ keywords: - keyvault - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-machine-learning-services/config.yml b/quickstarts/azure/azure-machine-learning-services/config.yml index 8d2dc4ccf2..bf9c5733bb 100644 --- a/quickstarts/azure/azure-machine-learning-services/config.yml +++ b/quickstarts/azure/azure-machine-learning-services/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-machine-learning-integration/) to learn more about New Relic monitoring for Azure Machine Learning Services. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-machine-learning-integration/) to learn more about New Relic monitoring for Azure Machine Learning Services. summary: Monitor Azure Machine Learning Services by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -28,5 +28,7 @@ keywords: - azure - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-mariadb/config.yml b/quickstarts/azure/azure-mariadb/config.yml index 9ae1de829b..8394c07046 100644 --- a/quickstarts/azure/azure-mariadb/config.yml +++ b/quickstarts/azure/azure-mariadb/config.yml @@ -33,6 +33,8 @@ keywords: - database - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-mysql/config.yml b/quickstarts/azure/azure-mysql/config.yml index 2d1bf5cbc8..10add42d10 100644 --- a/quickstarts/azure/azure-mysql/config.yml +++ b/quickstarts/azure/azure-mysql/config.yml @@ -8,7 +8,7 @@ description: |- ### New Relic + Azure integration - The New Relic Azure MySQL monitoring quickstart instruments your cloud service and manages the stability, scalability, and reliability of Azure MySQL with our infrastructure monitoring capabilities. + The New Relic Azure MySQL monitoring quickstart instruments your cloud service and manages the stability, scalability, and reliability of Azure MySQL with our infrastructure monitoring capabilities. Once instrumented, we proactively track your organization’s Azure MySQL metric data in real-time. @@ -18,7 +18,7 @@ description: |- With our [Azure integration](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-database-mysql-monitoring-integration/), you can view the Azure database for mysql data in pre-built dashboards, create your own alert conditions, and run custom queries for easy data visualization. - If you’re looking to optimize your mysql database with high availability, elastic scaling, and more, install our quickstart. + If you’re looking to optimize your mysql database with high availability, elastic scaling, and more, install our quickstart. summary: Monitoring Azure MySQL is crucial to track your organization’s Azure MySQL metric data in real-time. Download the New Relic quickstart to proactively instrument Azure MySQL with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -36,6 +36,8 @@ keywords: - database - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-postgresql/config.yml b/quickstarts/azure/azure-postgresql/config.yml index 5e84ae54f5..9e3fa1814b 100644 --- a/quickstarts/azure/azure-postgresql/config.yml +++ b/quickstarts/azure/azure-postgresql/config.yml @@ -33,6 +33,8 @@ keywords: - database - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml b/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml index e0b114cbd8..8843c21404 100644 --- a/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml +++ b/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-power-bi-dedicated-capacities-monitoring-integration/) to learn more about New Relic monitoring for Azure Power BI Dedicated capacities. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-power-bi-dedicated-capacities-monitoring-integration/) to learn more about New Relic monitoring for Azure Power BI Dedicated capacities. summary: Monitor Azure Power BI Dedicated capacities by connecting Azure to New Relic icon: logo.png level: New Relic @@ -29,5 +29,7 @@ keywords: - azure - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-service-bus/config.yml b/quickstarts/azure/azure-service-bus/config.yml index 90bc1d5441..ce5ed0ecf5 100644 --- a/quickstarts/azure/azure-service-bus/config.yml +++ b/quickstarts/azure/azure-service-bus/config.yml @@ -32,5 +32,7 @@ keywords: - messaging - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-storage/config.yml b/quickstarts/azure/azure-storage/config.yml index c30183c8ef..7b9c59c878 100644 --- a/quickstarts/azure/azure-storage/config.yml +++ b/quickstarts/azure/azure-storage/config.yml @@ -3,7 +3,7 @@ slug: azure-storage description: |- ## What is Azure Storage? - Azure Storage is Microsoft’s cloud storage solution that offers highly available, scalable, secure, and durable storage for different data objects in the cloud. + Azure Storage is Microsoft’s cloud storage solution that offers highly available, scalable, secure, and durable storage for different data objects in the cloud. ### New Relic Azure storage quickstart features @@ -17,11 +17,11 @@ description: |- ### Why monitor Azure Storage with New Relic? - [New Relic Azure Storage](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-storage-monitoring-integration/) monitoring quickstart empowers you to track the performance of Azure Storage via different metrics including account used capacity, the amount of ingress and egress data, and latency. + [New Relic Azure Storage](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-storage-monitoring-integration/) monitoring quickstart empowers you to track the performance of Azure Storage via different metrics including account used capacity, the amount of ingress and egress data, and latency. Our integration features a standard dashboard that provides interactive visualizations to explore your data, understand context, and get valuable insights. We’ve also made it easy for you to view your data in pre-built dashboards, create specialized alerts, and run custom queries with immediate data visualization. - Start ingesting your Azure data today and get immediate access to our visualization dashboards so you can optimize your Azure service. + Start ingesting your Azure data today and get immediate access to our visualization dashboards so you can optimize your Azure service. summary: Monitoring Azure Storage is critical to track the performance of the storage via key metrics. Download New Relic Azure Storage monitoring quickstart to proactively instrument Azure Storage with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -39,6 +39,8 @@ keywords: - storage - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-virtual-machines/config.yml b/quickstarts/azure/azure-virtual-machines/config.yml index 79a6b0b020..8434a78b0a 100644 --- a/quickstarts/azure/azure-virtual-machines/config.yml +++ b/quickstarts/azure/azure-virtual-machines/config.yml @@ -28,6 +28,8 @@ keywords: - virtual machines - NR1_addData - NR1_sys +installPlans: + - third-party-azure-virtual-machines dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-virtual-network/config.yml b/quickstarts/azure/azure-virtual-network/config.yml index 0b2659af39..2db4390bbb 100644 --- a/quickstarts/azure/azure-virtual-network/config.yml +++ b/quickstarts/azure/azure-virtual-network/config.yml @@ -2,7 +2,7 @@ id: f812a124-5443-4451-94d3-32b54c109555 slug: azure-virtual-network description: | ## What is Azure Virtual Network? - Azure Virtual Network (VNet) provides the means for Azure cloud resources such as virtual machines to securely communicate with each other as well as the rest of the internet and on-premises resources. Using VNet to create a private network gives you control over network filtering, routing, and other key pieces of the network infrastructure. + Azure Virtual Network (VNet) provides the means for Azure cloud resources such as virtual machines to securely communicate with each other as well as the rest of the internet and on-premises resources. Using VNet to create a private network gives you control over network filtering, routing, and other key pieces of the network infrastructure. Given an Azure virtual network, you can do things like assign a public IP, assign a load balancer, and handle outbound connections. VNets are ideal for developers deploying on Azure resources who want fine-grained control over network management. ### New Relic Azure Vnet integration @@ -14,7 +14,7 @@ description: | - Virtual network per resource group: Shows the number of virtual networks deployed within each resource group ### Why monitor Azure Virtual Network with New Relic? - Having insight into Azure virtual network performance is key to keeping network systems healthy and reliable. Virtual networks are often vulnerable to attack, so continuous monitoring of IP requests and understanding which IPs may be experiencing a distributed denial of service (DDOS) attack can be critical for initiating a proactive response. + Having insight into Azure virtual network performance is key to keeping network systems healthy and reliable. Virtual networks are often vulnerable to attack, so continuous monitoring of IP requests and understanding which IPs may be experiencing a distributed denial of service (DDOS) attack can be critical for initiating a proactive response. The virtual network time series display can give insight into fluctuations in network health and uptime within a specified interval and can be useful for drilling down into any deviations from the norm. Finally, being able to understand how virtual networks are distributed across geographic regions can help you pinpoint when a particular region is being underserved and deploy network resources accordingly. summary: | @@ -34,6 +34,8 @@ keywords: - networking - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-vms/config.yml b/quickstarts/azure/azure-vms/config.yml index 77148c88b5..cf1136af31 100644 --- a/quickstarts/azure/azure-vms/config.yml +++ b/quickstarts/azure/azure-vms/config.yml @@ -31,6 +31,8 @@ keywords: - azure - NR1_addData - NR1_sys +installPlans: + - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/battlesnake/config.yml b/quickstarts/battlesnake/config.yml index c5c5f34808..23626acdaf 100644 --- a/quickstarts/battlesnake/config.yml +++ b/quickstarts/battlesnake/config.yml @@ -14,6 +14,8 @@ authors: - New Relic - Zack Stickles (New Relic) - Alec Swanson (New Relic) +installPlans: + - battlesnake dataSourceIds: - battlesnake documentation: @@ -34,3 +36,4 @@ dashboards: - battlesnake-game-tracking - battlesnake-performance - battlesnake-server-status + diff --git a/quickstarts/biztalk360/config.yml b/quickstarts/biztalk360/config.yml index 6006104076..b86230d0af 100644 --- a/quickstarts/biztalk360/config.yml +++ b/quickstarts/biztalk360/config.yml @@ -2,7 +2,7 @@ id: 95e5a505-7373-4980-9ce8-e6165930063e slug: biztalk360 title: BizTalk360 description: | - ## What's BizTalk360? + ## What's BizTalk360? BizTalk360 is a one-stop tool for administration, monitoring and application performance management (APM) of BizTalk environments. To be able to use the integration with New Relic from BizTalk360, you must have : @@ -10,8 +10,8 @@ description: | - BizTalk360 Platinum license . - You must be a Super User in your BizTalk360 application to configure the New Relic environment in BizTalk360 - Below are some of the important performance metrics you can see in your Newrelic dashboard. - + Below are some of the important performance metrics you can see in your Newrelic dashboard. + - BizTalk and SQL Server Health - CPU Usage - Memory Usage @@ -52,6 +52,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-biztalk360 dataSourceIds: - third-party-biztalk360 documentation: diff --git a/quickstarts/blameless/config.yml b/quickstarts/blameless/config.yml index 921fb85f5f..0d661e67bc 100644 --- a/quickstarts/blameless/config.yml +++ b/quickstarts/blameless/config.yml @@ -11,6 +11,8 @@ level: Community authors: - Blameless title: Blameless +installPlans: + - third-party-blameless dataSourceIds: - blameless documentation: diff --git a/quickstarts/blazor-webassembly/config.yml b/quickstarts/blazor-webassembly/config.yml index 4c93698f80..516fa1ea2a 100644 --- a/quickstarts/blazor-webassembly/config.yml +++ b/quickstarts/blazor-webassembly/config.yml @@ -19,7 +19,7 @@ description: | ## What’s included? Get these Blazor WebAssembly monitoring features out of the box: - - Understand the health of your system with dashboards that show throughput and error rate data, logs, web transaction time, page views, page load time, and more. + - Understand the health of your system with dashboards that show throughput and error rate data, logs, web transaction time, page views, page load time, and more. - Get alerts when your application suffers critical failures and errors. - Monitor scripts and functions. - Monitor web transactions. @@ -33,7 +33,7 @@ title: Blazor WebAssembly documentation: - name: Blazor WebAssembly installation docs description: | - Our Browser Monitoring agent can be used to instrument and monitor your Blazor WebAssembly application. Perform an immediate analysis of your performance statistics. + Our Browser Monitoring agent can be used to instrument and monitor your Blazor WebAssembly application. Perform an immediate analysis of your performance statistics. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/browser-monitoring-integrations/blazor-webassembly/ keywords: - blazor web assembly @@ -43,6 +43,8 @@ keywords: - blazor webassembly - NR1_addData - NR1_sys +installPlans: + - blazor-webassembly dataSourceIds: - blazor-webassembly dashboards: diff --git a/quickstarts/browser-segment-investigation/config.yml b/quickstarts/browser-segment-investigation/config.yml index 25e79c3c1d..b60b68ba6e 100644 --- a/quickstarts/browser-segment-investigation/config.yml +++ b/quickstarts/browser-segment-investigation/config.yml @@ -19,6 +19,8 @@ documentation: - name: Usage instructions url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide#validate-browser-url-grouping description: The _Validate Browser URL grouping_ section of Quality foundation explains how to use the segment investigation dashboard as well as resolve any crushed URLs you might find. +installPlans: + - third-party-browser-segment-investigation dataSourceIds: - browser-segment-investigation icon: logo.svg diff --git a/quickstarts/browser/config.yml b/quickstarts/browser/config.yml index 083abd7d60..aa13aed363 100644 --- a/quickstarts/browser/config.yml +++ b/quickstarts/browser/config.yml @@ -28,6 +28,8 @@ documentation: - name: Browser description: With New Relic One's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ +installPlans: + - browser-docs dataSourceIds: - new-relic-browser keywords: @@ -43,4 +45,4 @@ dashboards: - javascript-errors - traffic-analysis alertPolicies: - - browser + - browser \ No newline at end of file diff --git a/quickstarts/c/config.yml b/quickstarts/c/config.yml index 677b58d2c1..0ece688f0b 100644 --- a/quickstarts/c/config.yml +++ b/quickstarts/c/config.yml @@ -29,6 +29,8 @@ documentation: keywords: - apm - language agent +installPlans: + - setup-c-agent dataSourceIds: - c dashboards: diff --git a/quickstarts/calico/config.yml b/quickstarts/calico/config.yml index 59bb0fe8c1..6036b2cae3 100644 --- a/quickstarts/calico/config.yml +++ b/quickstarts/calico/config.yml @@ -17,6 +17,9 @@ keywords: - prometheus - remote-write - cni +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/cassandra/config.yml b/quickstarts/cassandra/config.yml index a1c428646b..04965c1fb6 100644 --- a/quickstarts/cassandra/config.yml +++ b/quickstarts/cassandra/config.yml @@ -8,15 +8,15 @@ description: | ### Cassandra quickstart highlights The New Relic Cassandra quickstart automatically instruments your database and includes pre-built dashboards visualizing: - - client request rates + - client request rates - average pending pool tasks - - active request pool tasks + - active request pool tasks - active and pending read tasks by node - write/read latency ### New Relic + Cassandra - Your tool for better monitoring - Monitor all Cassandra key performance indicators with the [New Relic Cassandra integration](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/). This gives you insights on client request rates, average pending and active request pool tasks, active and pending read tasks by node, write latency, read latency, etc. + Monitor all Cassandra key performance indicators with the [New Relic Cassandra integration](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/). This gives you insights on client request rates, average pending and active request pool tasks, active and pending read tasks by node, write latency, read latency, etc. The Cassandra integration sends performance metrics and inventory data from your Cassandra database to the New Relic platform. On the platform, you can view pre-built dashboards of your Cassandra metric data, create alert policies, query data for troubleshooting purposes, and create charts. @@ -36,6 +36,8 @@ documentation: description: | Open-source NoSQL database management platform built for large datasets. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/ +installPlans: + - cassandra-integration dataSourceIds: - cassandra keywords: diff --git a/quickstarts/catchpoint/config.yml b/quickstarts/catchpoint/config.yml index 27730e8805..55a5643c6e 100644 --- a/quickstarts/catchpoint/config.yml +++ b/quickstarts/catchpoint/config.yml @@ -31,6 +31,8 @@ documentation: description: A repository to help get you started setting up your New Relic & Catchpoint integration. icon: logo.svg website: https://www.newrelic.com +installPlans: + - third-party-catchpoint-quickstart dataSourceIds: - catchpoint-quickstart dashboards: diff --git a/quickstarts/centos/config.yml b/quickstarts/centos/config.yml index 0a3ae6fe4d..03ea23813a 100644 --- a/quickstarts/centos/config.yml +++ b/quickstarts/centos/config.yml @@ -22,5 +22,7 @@ documentation: keywords: - os - operating system +installPlans: + - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/circleci/config.yml b/quickstarts/circleci/config.yml index 314073adff..f390d97878 100644 --- a/quickstarts/circleci/config.yml +++ b/quickstarts/circleci/config.yml @@ -6,7 +6,7 @@ description: |+ The world’s best software teams use CircleCI to deliver quality code with confidence. As the largest continuous integration and delivery (CI/CD) platform, CircleCI empowers engineers to seamlessly take ideas to execution, at scale. Every feature of our platform is built to fine-tune the entire development process from start to finish. - This quickstart allows users to view analytical data about their CircleCI jobs within the New Relic dashboard to gain visibility into the performance and health of their continuous integration and deployment pipelines. + This quickstart allows users to view analytical data about their CircleCI jobs within the New Relic dashboard to gain visibility into the performance and health of their continuous integration and deployment pipelines. ### With the CircleCI quickstart you can: @@ -41,6 +41,8 @@ keywords: - logs - NR1_addData - NR1_sys +installPlans: + - third-party-circleci dataSourceIds: - circleci documentation: diff --git a/quickstarts/cloudflare/config.yml b/quickstarts/cloudflare/config.yml index fdb1041bb0..007ad6862a 100644 --- a/quickstarts/cloudflare/config.yml +++ b/quickstarts/cloudflare/config.yml @@ -27,6 +27,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-cloudflare dataSourceIds: - cloudflare documentation: diff --git a/quickstarts/cockroach-db/config.yml b/quickstarts/cockroach-db/config.yml index 620de44e41..84f00e7da4 100644 --- a/quickstarts/cockroach-db/config.yml +++ b/quickstarts/cockroach-db/config.yml @@ -20,6 +20,9 @@ keywords: - prometheus - remote-write - sql +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/confluent-cloud/config.yml b/quickstarts/confluent-cloud/config.yml index 11684121a0..956e0065db 100644 --- a/quickstarts/confluent-cloud/config.yml +++ b/quickstarts/confluent-cloud/config.yml @@ -36,6 +36,8 @@ keywords: - Kafka - newrelic partner - featured +installPlans: + - third-party-confluent-cloud dataSourceIds: - confluent-cloud dashboards: diff --git a/quickstarts/consul/config.yml b/quickstarts/consul/config.yml index d911ff4aba..dd6e4b9f42 100644 --- a/quickstarts/consul/config.yml +++ b/quickstarts/consul/config.yml @@ -17,6 +17,8 @@ documentation: description: | Connect your disparate services and platforms in a multi-cloud environment. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/hashicorp-consul-monitoring-integration/ +installPlans: + - hashicorp-consul-integration dataSourceIds: - consul keywords: diff --git a/quickstarts/contentsquare/config.yml b/quickstarts/contentsquare/config.yml index b849f3a5d0..8648e50d75 100644 --- a/quickstarts/contentsquare/config.yml +++ b/quickstarts/contentsquare/config.yml @@ -2,37 +2,37 @@ id: 875f2e3d-7c1b-436b-ab77-602090de1134 slug: contentsquare title: Contentsquare summary: | - Contentsquare is a powerful, yet easy-to-use, digital experience analytics platform that collects and quantifies user behavior across all your digital properties showing you what users like, what they don’t like, where they struggle, and why they leave. + Contentsquare is a powerful, yet easy-to-use, digital experience analytics platform that collects and quantifies user behavior across all your digital properties showing you what users like, what they don’t like, where they struggle, and why they leave. description: | ## Contentsquare performance monitoring Contentsquare surfaces opportunities to improve your customer experience automatically and easily so you can increase your conversion rates, improve customer loyalty, reduce costs and drive revenue. - + Get more value from your investments in Contentsquare and New Relic by seeing - how performance issues truly affect your customers’ digital experience. - + how performance issues truly affect your customers’ digital experience. + ### What's included? Through this integration, access Contentsquare Session Replay links directly - within New Relic. With this, Contentsquare shows you exactly what a user was - doing before, during, and after an issue occurs, so that you can remediate - issues quickly and with the complete picture. Dramatically reduce the - time-to-repair of system errors by linking to your impacted users' exact + within New Relic. With this, Contentsquare shows you exactly what a user was + doing before, during, and after an issue occurs, so that you can remediate + issues quickly and with the complete picture. Dramatically reduce the + time-to-repair of system errors by linking to your impacted users' exact session replays. - **Reduce time-to-recovery** - By integrating Contentsquare with your New Relic, you can provide your - engineering team with all of the necessary technical and behavioral data - needed to identify the root cause of an issue without having to spend cycles + By integrating Contentsquare with your New Relic, you can provide your + engineering team with all of the necessary technical and behavioral data + needed to identify the root cause of an issue without having to spend cycles trying to recreate the issue. - **Reduce time-to-recovery** - Combine the technical data from New Relic with the behavioral data surfaced + Combine the technical data from New Relic with the behavioral data surfaced from Contentsquare to uncover and prioritize the issues that have the greatest impact on your revenue and customer experience metrics. level: Community @@ -43,13 +43,15 @@ keywords: - Customer Experience - Digital Experience - User Experience +installPlans: + - third-party-contentsquare dataSourceIds: - contentsquare documentation: - name: Installation Doc url: https://uxanalyser.zendesk.com/hc/en-gb/articles/4408893503122-New-Relic description: | - See how to install this integration and the data exchanged between New + See how to install this integration and the data exchanged between New Relic ancd Contentsquare. - name: Partnership Page url: https://partners.contentsquare.com/technology-partners/new-relic diff --git a/quickstarts/cordova/config.yml b/quickstarts/cordova/config.yml index d03776ac22..3313901b18 100644 --- a/quickstarts/cordova/config.yml +++ b/quickstarts/cordova/config.yml @@ -15,6 +15,8 @@ level: New Relic authors: - New Relic title: Cordova +installPlans: + - third-party-cordova dataSourceIds: - cordova documentation: diff --git a/quickstarts/core-web-vitals/config.yml b/quickstarts/core-web-vitals/config.yml index 82209c83ce..045d5ccae3 100644 --- a/quickstarts/core-web-vitals/config.yml +++ b/quickstarts/core-web-vitals/config.yml @@ -8,13 +8,13 @@ summary: >- description: | ## Monitor Core Web Vitals and Improve User Experience - Core web vitals are Google’s metrics to gauge overall user experience of your site, which can influence your site’s SEO rankings and give you valuable insight into how users perceive your business. - + Core web vitals are Google’s metrics to gauge overall user experience of your site, which can influence your site’s SEO rankings and give you valuable insight into how users perceive your business. + This is why it’s important to monitor your site’s core web vitals and take action on low scores - and New Relic can help you do that! This quickstart includes a dashboard that displays the performance of your Core Web Vitals to help you troubleshoot. - + Benefits of understanding Core Web Vitals: - + 1. **Improved User Experience:** Core Web Vitals are key performance metrics that can impact the user experience of a website. By monitoring these metrics with the New Relic Browser agent, you can identify and address issues that may be negatively affecting user experience, such as slow page load times, high input latency, or unexpected layout shifts. 2. **Better Search Engine Optimization:** Google has announced that Core Web Vitals will be used as a ranking factor in search results starting in May 2021. By monitoring and optimizing for these metrics using New Relic's Browser agent, you can improve your website's search engine visibility and attract more traffic to your site. @@ -32,6 +32,8 @@ documentation: description: >- With New Relic's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ +installPlans: + - browser-docs dataSourceIds: - new-relic-browser @@ -51,3 +53,4 @@ dashboards: # Authors of the quickstart (required) authors: - Darren Doyle + diff --git a/quickstarts/coredns/config.yml b/quickstarts/coredns/config.yml index 24491492df..8bed306f80 100644 --- a/quickstarts/coredns/config.yml +++ b/quickstarts/coredns/config.yml @@ -34,6 +34,9 @@ documentation: Learn more about the Prometheus metrics available for CoreDNS alertPolicies: - coredns +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/couchbase/config.yml b/quickstarts/couchbase/config.yml index 357a6e66b7..55cb04e075 100644 --- a/quickstarts/couchbase/config.yml +++ b/quickstarts/couchbase/config.yml @@ -23,6 +23,8 @@ documentation: description: | Couchbase is an open-source, distributed multi-model NoSQL document-oriented database software package. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/couchbase-monitoring-integration/ +installPlans: + - couchbase-integration dataSourceIds: - couchbase keywords: diff --git a/quickstarts/cribl-logstream/config.yml b/quickstarts/cribl-logstream/config.yml index 0d8892e36c..1bf458c0bd 100644 --- a/quickstarts/cribl-logstream/config.yml +++ b/quickstarts/cribl-logstream/config.yml @@ -4,7 +4,7 @@ title: Cribl description: | ## About Cribl - Cribl Stream unlocks [data sources](https://docs.cribl.io/stream/sources), including metrics, events, and logs, in an observability pipeline. + Cribl Stream unlocks [data sources](https://docs.cribl.io/stream/sources), including metrics, events, and logs, in an observability pipeline. Deploying this quickstart will allow you to add context to your data, by enriching it with information from external data sources, help secure your data, by redacting, obfuscating, or encrypting sensitive fields, and optimize your data, per your performance and cost requirements. @@ -43,6 +43,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-cribl-stream dataSourceIds: - cribl documentation: diff --git a/quickstarts/dapr/config.yml b/quickstarts/dapr/config.yml index eecdf69e8b..f5c68bdc88 100644 --- a/quickstarts/dapr/config.yml +++ b/quickstarts/dapr/config.yml @@ -16,6 +16,8 @@ keywords: dashboards: - dapr-metrics - dapr-system-services +installPlans: + - third-party-dapr dataSourceIds: - dapr documentation: diff --git a/quickstarts/databricks/config.yml b/quickstarts/databricks/config.yml index 1fc116d929..117e719eec 100644 --- a/quickstarts/databricks/config.yml +++ b/quickstarts/databricks/config.yml @@ -27,6 +27,8 @@ documentation: description: | Collect Spark telemetry data with the New Relic Databricks integration url: https://github.com/newrelic-experimental/newrelic-databricks-integration +installPlans: + - third-party-databricks dataSourceIds: - databricks dashboards: diff --git a/quickstarts/datastream2-akamai/config.yml b/quickstarts/datastream2-akamai/config.yml index 415beeeff4..7c53502306 100644 --- a/quickstarts/datastream2-akamai/config.yml +++ b/quickstarts/datastream2-akamai/config.yml @@ -3,7 +3,7 @@ slug: datastream2 title: Akamai DataStream 2 description: |+ ## Akamai and DataStream 2 - + Akamai Technologies is a leading content delivery network (CDN), cybersecurity, and cloud service provider. [DataStream 2](https://techdocs.akamai.com/datastream2/docs) captures performance and security logs from your delivery properties and streams them in near real-time to provide complete monitoring. @@ -38,6 +38,8 @@ keywords: - featured - NR1_addData - NR1_sys +installPlans: + - third-party-datastream2-akamai dataSourceIds: - akamai documentation: diff --git a/quickstarts/datazoom/config.yml b/quickstarts/datazoom/config.yml index 0033be65b1..1f768f7556 100644 --- a/quickstarts/datazoom/config.yml +++ b/quickstarts/datazoom/config.yml @@ -19,6 +19,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-datazoom dataSourceIds: - datazoom documentation: diff --git a/quickstarts/dbmarlin/config.yml b/quickstarts/dbmarlin/config.yml index f7ba7242c8..0338d55b5c 100644 --- a/quickstarts/dbmarlin/config.yml +++ b/quickstarts/dbmarlin/config.yml @@ -33,6 +33,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-dbmarlin dataSourceIds: - dbmarlin documentation: diff --git a/quickstarts/debian/config.yml b/quickstarts/debian/config.yml index addb532e42..f18964a40a 100644 --- a/quickstarts/debian/config.yml +++ b/quickstarts/debian/config.yml @@ -24,5 +24,7 @@ documentation: keywords: - os - operating system +installPlans: + - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/deeper-network/config.yml b/quickstarts/deeper-network/config.yml index 920ed481ec..2157dab048 100644 --- a/quickstarts/deeper-network/config.yml +++ b/quickstarts/deeper-network/config.yml @@ -27,6 +27,8 @@ documentation: description: | A guide detailing how to configure and use the `deeper-cli` with New Relic. url: https://github.com/Kav91/deeper-connect-monitoring +installPlans: + - third-party-deeper-network dataSourceIds: - deeper-network keywords: diff --git a/quickstarts/delphix/config.yml b/quickstarts/delphix/config.yml index 91a65a97c1..d7b9b391a1 100644 --- a/quickstarts/delphix/config.yml +++ b/quickstarts/delphix/config.yml @@ -4,19 +4,19 @@ title: Delphix description: | ### Summary - The Delphix quickstart for New Relic grants insights and observability of the Delphix Platform to administrators. Users may monitor various Delphix objects, such as dSources and VDBs, and trigger alerts on exceeded thresholds. + The Delphix quickstart for New Relic grants insights and observability of the Delphix Platform to administrators. Users may monitor various Delphix objects, such as dSources and VDBs, and trigger alerts on exceeded thresholds. In addition, when leveraging the Delphix integration, users can feed data into triggered New Relic workflows to command data-ready RCA environments through a [ServiceNow automated request](https://store.servicenow.com/sn_appstore_store.do#!/store/application/bb688f9f9734111012b7318c1253af11) or direct webhook. ### What's the value? - The Delphix Platform is a powerful test data management tool enabling the provisioning of RCA environments for mission-critical applications on demand. The quickstart allows Delphix administrators to monitor their usage, maintain high availability, and reduce the costs of forgotten virtual databases. + The Delphix Platform is a powerful test data management tool enabling the provisioning of RCA environments for mission-critical applications on demand. The quickstart allows Delphix administrators to monitor their usage, maintain high availability, and reduce the costs of forgotten virtual databases. Site Reliability Engineers rely on Delphix and New Relic to provide mission-critical application environments within minutes of an issue which eases investigation during stressful issues and helps achieve SLA times. Delphix can reduce provisioning times from days to minutes. ### What's inside? - The quickstart contains a sample Delphix Platform Dashboard and Storage Utilization Alert to help users get started. + The quickstart contains a sample Delphix Platform Dashboard and Storage Utilization Alert to help users get started. Populating data for dashboards, alerts, and workflows requires the [Delphix Integration](https://github.com/delphix/dct-newrelic-integration) and [Delphix Data Control Tower](https://dct.delphix.com/docs/latest). icon: logo.svg @@ -35,6 +35,8 @@ keywords: - sre - NR1_addData - NR1_sys +installPlans: + - third-party-delphix dataSourceIds: - delphix documentation: diff --git a/quickstarts/docker/config.yml b/quickstarts/docker/config.yml index 0cf540ee84..3465fa9348 100644 --- a/quickstarts/docker/config.yml +++ b/quickstarts/docker/config.yml @@ -9,7 +9,7 @@ description: | ### Why monitor Docker with New Relic? - New Relic's Docker monitoring quickstart empowers you to get a 360° visibility for your apps, server infrastructure, and Dockerized containers—all in one place. Since your team is likely charged with delivering high-quality software that yields a great customer experience, monitoring Docker is essential. It allows you to keep up that customer experience with your users remaining unaffected by any changes to platforms, tools, languages, or frameworks. + New Relic's Docker monitoring quickstart empowers you to get a 360° visibility for your apps, server infrastructure, and Dockerized containers—all in one place. Since your team is likely charged with delivering high-quality software that yields a great customer experience, monitoring Docker is essential. It allows you to keep up that customer experience with your users remaining unaffected by any changes to platforms, tools, languages, or frameworks. With our Docker monitoring integration, you can easily identify which container is running which app, and quickly solve any issues. Install the New Relic Docker quickstart today to get instant performance metrics for containerized applications across your entire environment. summary: | @@ -19,6 +19,8 @@ level: New Relic authors: - New Relic title: Docker +installPlans: + - third-party-docker dataSourceIds: - docker documentation: diff --git a/quickstarts/dotnet/ado-dotnet/config.yml b/quickstarts/dotnet/ado-dotnet/config.yml index 043ec83c61..ac123b4112 100644 --- a/quickstarts/dotnet/ado-dotnet/config.yml +++ b/quickstarts/dotnet/ado-dotnet/config.yml @@ -7,7 +7,7 @@ description: | ## Common uses of ADO.net - You can utilize ADO.net to create reliable and scalable database apps for client- server applications, and work with several data sources. In addition, you can reduce the amount of code and level of maintenance needed for data-oriented applications by using the ADO.NET Entity Framework. + You can utilize ADO.net to create reliable and scalable database apps for client- server applications, and work with several data sources. In addition, you can reduce the amount of code and level of maintenance needed for data-oriented applications by using the ADO.NET Entity Framework. With ADO.NET DataReader, you can retrieve read-only and forward-only data from a database. @@ -16,7 +16,7 @@ description: | - fix inaccessible databases or issues with the network library. - solve your database and client software schema incompatibility. - fix problems that occur when different ADO.NET components interact with one another or your own components. - - debug incorrect SQL, whether hard-coded or created by an application. + - debug incorrect SQL, whether hard-coded or created by an application. - adjust flawed programming logic. ## What’s included in this quickstart? @@ -26,9 +26,9 @@ description: | - Dashboards (hard connects per second, hard disconnects per second, number of active connections, soft connects per second and more). - Alerts inform end users about the quality of their applications on a proactive basis. - Monitor web transactions. - + ### Comprehensive monitoring quickstart for ADO.net - + When you monitor ADO.NET with New Relic, you can observe your ADO.NET data set in real time. Our .NET agent will also let you correlate transactions moving across your application environment and troubleshoot while working in a live development environment. summary: | Discover how the ADO.NET quickstart gives you an advantage with comprehensive monitoring capabilities. @@ -50,6 +50,8 @@ keywords: - ado.net - ado-dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/asp-dotnet-mvc/config.yml b/quickstarts/dotnet/asp-dotnet-mvc/config.yml index 3f02064227..d85dc935be 100644 --- a/quickstarts/dotnet/asp-dotnet-mvc/config.yml +++ b/quickstarts/dotnet/asp-dotnet-mvc/config.yml @@ -31,6 +31,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/asp-dotnet-web-forms/config.yml b/quickstarts/dotnet/asp-dotnet-web-forms/config.yml index f313ddd2f9..aa61392a43 100644 --- a/quickstarts/dotnet/asp-dotnet-web-forms/config.yml +++ b/quickstarts/dotnet/asp-dotnet-web-forms/config.yml @@ -31,6 +31,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/blazor-server/config.yml b/quickstarts/dotnet/blazor-server/config.yml index 3171c792c6..ee813da894 100644 --- a/quickstarts/dotnet/blazor-server/config.yml +++ b/quickstarts/dotnet/blazor-server/config.yml @@ -4,23 +4,23 @@ description: | ## Comprehensive monitoring for Blazor Server Microsoft developed Blazor Server to build web UIs with C#, HTML, and CSS. As a feature of ASP.NET, our Blazor Server integration with the .NET agent lets you monitor your apps with our quickstart dashboards right out of the box. - Despite being an extremely innovative and exciting new technology, Blazor Server is a relatively new technology. That means there may be some issues that arise during development and deployment as with any new technology. + Despite being an extremely innovative and exciting new technology, Blazor Server is a relatively new technology. That means there may be some issues that arise during development and deployment as with any new technology. ## Why monitor your Blazor Server? - ### Optimize Performance: + ### Optimize Performance: Blazor Server apps rely on SignalR for real-time communication between the client and the server, which can result in slower performance compared to traditional client-side Blazor apps. - ### Improve Scalability: + ### Improve Scalability: Blazor Server apps may struggle with high levels of traffic, as each client connection requires a separate server-side connection. - ### Debug Quickly: + ### Debug Quickly: Debugging Blazor Server apps can be challenging, as the source of errors may be difficult to determine. - ### Optimize State Management: + ### Optimize State Management: Managing state in Blazor Server apps can be more complex than in traditional client-side Blazor apps, as state must be shared between the client and the server. - ### Lower Bandwidth Consumption: + ### Lower Bandwidth Consumption: Blazor Server apps may consume more bandwidth compared to traditional client-side Blazor apps, as data is constantly being sent back and forth between the client and the server. Unleash the power of C# for web development with Blazor Server. This innovative technology not only lets you use your preferred language, but also provides a plethora of useful features. Experience the freedom to run your code on either the server or the client with Blazor Server and tailor the user experience for each device. Embrace a new era of web development with Blazor Server. @@ -34,7 +34,7 @@ title: Blazor Server documentation: - name: Blazor Server installation docs description: | - Our .NET APM agent can be used to instrument and monitor your Blazor Server application. Perform an immediate analysis of your performance statistics. + Our .NET APM agent can be used to instrument and monitor your Blazor Server application. Perform an immediate analysis of your performance statistics. url: https://docs.newrelic.com/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#technologies keywords: - dotnet @@ -42,6 +42,8 @@ keywords: - blazor - blazor server - language agent +installPlans: + - blazor-server dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/csharp/config.yml b/quickstarts/dotnet/csharp/config.yml index 08a7648f19..2f087b3840 100644 --- a/quickstarts/dotnet/csharp/config.yml +++ b/quickstarts/dotnet/csharp/config.yml @@ -3,23 +3,23 @@ slug: c-sharp description: | ## C# performance monitoring With our C# integration, you can find and address performance bottlenecks while operating in a live development environment. Monitor your app via our dashboard quickstarts and ensure you're delivering the best user experience. - + ## Common C# performance errors Here are the common C# performance errors that you can handle with New Relic integration: - - **Memory management**: C# uses automatic memory management, which takes the burden of manual allocation from developers. However, C# can sometimes run into memory error thereby inhibiting its memory management performance. Our integration offers the best solution to fix that. - - **CPU usage**: New Relic’s high CPU utilization alert is the key to monitoring CPU usage to prevent any potential error. - - **Garbage collection**: Garbage Collector (GC) manages the allocation and release of memory for your application. When the memory is under distress, our C# integration will easily notify you via the memory usage alert. - - **High volume of requests**: Getting a high volume of requests can affect your app’s response time and reduce user satisfaction. With Apdex score, you can track requests and measure user satisfaction. - - **JIT compiler**: If JIT compiler fails to load, it may be due to an out-of-memory exception or internal limitation error. The pathway towards getting the insights you need is the New Relic C# integration. - + + **Memory management**: C# uses automatic memory management, which takes the burden of manual allocation from developers. However, C# can sometimes run into memory error thereby inhibiting its memory management performance. Our integration offers the best solution to fix that. + + **CPU usage**: New Relic’s high CPU utilization alert is the key to monitoring CPU usage to prevent any potential error. + + **Garbage collection**: Garbage Collector (GC) manages the allocation and release of memory for your application. When the memory is under distress, our C# integration will easily notify you via the memory usage alert. + + **High volume of requests**: Getting a high volume of requests can affect your app’s response time and reduce user satisfaction. With Apdex score, you can track requests and measure user satisfaction. + + **JIT compiler**: If JIT compiler fails to load, it may be due to an out-of-memory exception or internal limitation error. The pathway towards getting the insights you need is the New Relic C# integration. + ### C# monitoring use cases - + - Focus on the issues that affect your critical business transactions. - Resolve problems quickly. - Gain knowledge on your system's behavior in advance. @@ -29,20 +29,20 @@ description: | - Scalable error monitoring without affecting production flow. - Maintain low latency with fast throughput. - Get meaningful data about C# errors from your dashboard. - + ### End-to-end visibility into your C# operations Our C# dashboard translates your ingested data into a map that lets you trace business transactions across your C# stack. See your performance errors in context and prioritize your most critical operations. ## What’s included in this quickstart? - + New Relic's C# monitoring quickstart boasts instant full-stack observability out-of-the-box: - Dashboards (Throughput, Error rate, Logs, Web transaction time, Apdex Score and more). - Monitor scripts, functions, and web transactions. - High-value alerts. - - Code-related insights about your application’s health and status. + - Code-related insights about your application’s health and status. - Proactive alerts that inform developers about the status of their applications. summary: | Monitor your C# applications by tracking performance issues with a full end-to-end view of distributed traces. @@ -62,6 +62,8 @@ keywords: - dotnet - c# - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/csla-dotnet/config.yml b/quickstarts/dotnet/csla-dotnet/config.yml index 4297239484..a6753fe635 100644 --- a/quickstarts/dotnet/csla-dotnet/config.yml +++ b/quickstarts/dotnet/csla-dotnet/config.yml @@ -31,6 +31,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dnn-community/config.yml b/quickstarts/dotnet/dnn-community/config.yml index e1782a24d4..5a98508da7 100644 --- a/quickstarts/dotnet/dnn-community/config.yml +++ b/quickstarts/dotnet/dnn-community/config.yml @@ -33,6 +33,8 @@ keywords: - cms - content management system - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dnn-evoq/config.yml b/quickstarts/dotnet/dnn-evoq/config.yml index c32a5790f5..baccd2e0f7 100644 --- a/quickstarts/dotnet/dnn-evoq/config.yml +++ b/quickstarts/dotnet/dnn-evoq/config.yml @@ -42,5 +42,7 @@ keywords: - cms - content management system - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet diff --git a/quickstarts/dotnet/dotnet-core/config.yml b/quickstarts/dotnet/dotnet-core/config.yml index 09c22ab1d0..a1ddf1c3e6 100644 --- a/quickstarts/dotnet/dotnet-core/config.yml +++ b/quickstarts/dotnet/dotnet-core/config.yml @@ -31,6 +31,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dotnet-mvc-web-api/config.yml b/quickstarts/dotnet/dotnet-mvc-web-api/config.yml index aaae90d01b..0cb3396d48 100644 --- a/quickstarts/dotnet/dotnet-mvc-web-api/config.yml +++ b/quickstarts/dotnet/dotnet-mvc-web-api/config.yml @@ -27,6 +27,8 @@ documentation: Web application framework developed by Microsoft, which implements the model-view-controller pattern for building web applications. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-windows-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/dotnet/config.yml b/quickstarts/dotnet/dotnet/config.yml index cb2d69f31d..5fdc25baf3 100644 --- a/quickstarts/dotnet/dotnet/config.yml +++ b/quickstarts/dotnet/dotnet/config.yml @@ -47,6 +47,8 @@ keywords: - dotnet - language agent - most popular +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/episerver-cms/config.yml b/quickstarts/dotnet/episerver-cms/config.yml index 77f9f07c86..7cf74e41d0 100644 --- a/quickstarts/dotnet/episerver-cms/config.yml +++ b/quickstarts/dotnet/episerver-cms/config.yml @@ -15,7 +15,7 @@ description: | ### New Relic + Episerver CMS = Optimum performance monitoring Monitor your Episerver CMS performance with our .NET agent. The integration provides a high-level overview of Episerver CMS, giving you access to code-level details like transaction traces, database queries, and errors. Also, it empowers you to track activities across a large Episerver distributed system. - New Relic Episerver CMS quickstart gives you proactive notifications from alerts to respond quickly when your app stops running seamlessly. You can use the query builder to create custom dashboards from your data. + New Relic Episerver CMS quickstart gives you proactive notifications from alerts to respond quickly when your app stops running seamlessly. You can use the query builder to create custom dashboards from your data. Download New Relic Episerver CMS quickstart today to monitor Episerver CMS metrics in real-time. This quickstart is your gateway to instant monitoring of your Episerver CMS. summary: | Episerver offers full-service CMS with dedicated layers for commerce and marketing. Proactively monitor the performance of the app with New Relic’s Episerver CMS quickstart. @@ -34,6 +34,8 @@ keywords: - cms - content management system - language agent +installPlans: + - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/fubumvc/config.yml b/quickstarts/dotnet/fubumvc/config.yml index 06648da4b5..11a717fa80 100644 --- a/quickstarts/dotnet/fubumvc/config.yml +++ b/quickstarts/dotnet/fubumvc/config.yml @@ -3,14 +3,14 @@ slug: fubumvc description: | ## New Relic + FubuMVC - New Relic’s monitoring quickstart for FubuMVC monitors the performance and reliability of FubuMVC applications. + New Relic’s monitoring quickstart for FubuMVC monitors the performance and reliability of FubuMVC applications. It includes visual dashboards which showcase real-time metrics of the FubuMVC stack, including: - Errors overview - VM overview - Latest error display - CPU utilization display - - Amount of memory heap used, and more. + - Amount of memory heap used, and more. The quickstart also includes alerts when certain metrics such as the Apdex score, memory usage, and number of transaction errors hit a critical threshold. ### Why monitor FubuMVC with New Relic? @@ -34,6 +34,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/iis/config.yml b/quickstarts/dotnet/iis/config.yml index c2be398e21..830e9ed901 100644 --- a/quickstarts/dotnet/iis/config.yml +++ b/quickstarts/dotnet/iis/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for IIS. + Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for IIS. summary: Monitor IIS with New Relic's .NET agent icon: logo.svg level: New Relic @@ -28,6 +28,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/jayrock/config.yml b/quickstarts/dotnet/jayrock/config.yml index 41028ac6b2..6ca12998af 100644 --- a/quickstarts/dotnet/jayrock/config.yml +++ b/quickstarts/dotnet/jayrock/config.yml @@ -21,5 +21,7 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet diff --git a/quickstarts/dotnet/monorail/config.yml b/quickstarts/dotnet/monorail/config.yml index 47cfb36a8f..c31242da83 100644 --- a/quickstarts/dotnet/monorail/config.yml +++ b/quickstarts/dotnet/monorail/config.yml @@ -31,6 +31,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/msmq/config.yml b/quickstarts/dotnet/msmq/config.yml index 7fb9256a78..22f30fee78 100644 --- a/quickstarts/dotnet/msmq/config.yml +++ b/quickstarts/dotnet/msmq/config.yml @@ -32,6 +32,8 @@ keywords: - dotnet - queue - language agent +installPlans: + - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/nancyfx/config.yml b/quickstarts/dotnet/nancyfx/config.yml index 3ca653a9e8..33526484ae 100644 --- a/quickstarts/dotnet/nancyfx/config.yml +++ b/quickstarts/dotnet/nancyfx/config.yml @@ -31,6 +31,8 @@ keywords: - apm - dotnet - language agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/nservicebus/config.yml b/quickstarts/dotnet/nservicebus/config.yml index fc245c9093..5d49cd457c 100644 --- a/quickstarts/dotnet/nservicebus/config.yml +++ b/quickstarts/dotnet/nservicebus/config.yml @@ -3,16 +3,16 @@ slug: nservicebus description: |- ## NService Bus - NServiceBus is a messaging system for service-oriented backend architectures. It is specifically designed for [.NET applications](https://newrelic.com/products/application-monitoring/NET), and it implements a Pub/Sub brokering system, along with many other features, that make handling service messaging simple and intuitive. However, backend architectures are complicated, with many interacting services and processes, so it is not unusual for messages to get dropped or corrupted in some way. + NServiceBus is a messaging system for service-oriented backend architectures. It is specifically designed for [.NET applications](https://newrelic.com/products/application-monitoring/NET), and it implements a Pub/Sub brokering system, along with many other features, that make handling service messaging simple and intuitive. However, backend architectures are complicated, with many interacting services and processes, so it is not unusual for messages to get dropped or corrupted in some way. The New Relic complete monitoring quickstart provides insight into all aspects of the NServiceBus application runtime, saving users from countless headaches that could arise when working with the system. ### New Relic NServiceBus quickstart features - The New Relic NServiceBus Quickstart comes packaged with numerous features that ensure the health of the NServiceBus application. They are broken down into two categories. + The New Relic NServiceBus Quickstart comes packaged with numerous features that ensure the health of the NServiceBus application. They are broken down into two categories. Dashboards, which provide visual insight into application performance, and Alerts, which notify developers when a potential issue arises within NServiceBus. - Dashboards include the following + Dashboards include the following - Transactions overview which gives an overview of all messaging transactions passing through NServiceBus - Errors overview documenting errors occurring within the system and their potential origins - VM overview which reports key VM utilization statistics such as memory and CPU usage @@ -27,9 +27,9 @@ description: |- ### New Relic - the ideal NServiceBus monitoring tool - New Relic’s quickstart provides the ultimate in NServiceBus monitoring solutions. Having continual insight into NServiceBus performance is key to ensuring that backend systems run smoothly with consistent uptime, as messaging is a huge point of failure for backend architectures. When messages are not transacted successfully, communication between backend services breaks down leaving the application unable to function successfully as a whole. + New Relic’s quickstart provides the ultimate in NServiceBus monitoring solutions. Having continual insight into NServiceBus performance is key to ensuring that backend systems run smoothly with consistent uptime, as messaging is a huge point of failure for backend architectures. When messages are not transacted successfully, communication between backend services breaks down leaving the application unable to function successfully as a whole. - By providing dashboard insight into the apdex score and commonly failed transactions, and alerts which notify the user prior to reaching critical thresholds, the New Relic quickstart allows weak points in the system to be identified immediately, before communication in the backend fails completely. + By providing dashboard insight into the apdex score and commonly failed transactions, and alerts which notify the user prior to reaching critical thresholds, the New Relic quickstart allows weak points in the system to be identified immediately, before communication in the backend fails completely. Similarly, proper management of the NServiceBus VM is critical to ensuring that the NServiceBus application itself doesn’t crash completely. The New Relic dashboards and alerts provide continual VM monitoring, allowing developers to make key decisions regarding throttling and other performance constraints when usage gets too high. summary: NServiceBus is a message brokering application for backends having many services. The New Relic quickstart helps developers to ensure that NServiceBus is always functioning properly, so that they maintain highly stable and fault tolerant backends. @@ -42,6 +42,8 @@ documentation: - name: NServiceBus installation docs description: NServiceBus is an implementation of a 'service bus' pattern for .NET. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/openrasta/config.yml b/quickstarts/dotnet/openrasta/config.yml index 712c4cef0b..fdb6fa181c 100644 --- a/quickstarts/dotnet/openrasta/config.yml +++ b/quickstarts/dotnet/openrasta/config.yml @@ -27,6 +27,8 @@ documentation: OpenRasta is an open-source .NET framework for building everything web, from web sites to RESTful APIs. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/restsharp/config.yml b/quickstarts/dotnet/restsharp/config.yml index d3cffbcbd0..a62ca3cde8 100644 --- a/quickstarts/dotnet/restsharp/config.yml +++ b/quickstarts/dotnet/restsharp/config.yml @@ -14,7 +14,7 @@ description: | ### Why Monitor RestSharp with New Relic? - With application performance monitoring (APM), you will get a high-level overview of your RestSharp app, query data and track activities across the application. The New Relic RestSharp quickstart automatically instruments RestSharp with our .NET agent for a comprehensive monitoring of RestSharp. + With application performance monitoring (APM), you will get a high-level overview of your RestSharp app, query data and track activities across the application. The New Relic RestSharp quickstart automatically instruments RestSharp with our .NET agent for a comprehensive monitoring of RestSharp. Install the New Relic RestSharp quickstart today to proactively monitor RestSharp in real-time, detect issues quickly, and respond to them efficiently. The instant observability quickstart is the key to a seamless RestSharp monitoring. summary: | @@ -30,6 +30,8 @@ documentation: Popular REST API client library for .NET that features auto-serialization, request type detection, a variety of authentications, and more. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/servicestack/config.yml b/quickstarts/dotnet/servicestack/config.yml index 267c1ac88e..2a7928d5e3 100644 --- a/quickstarts/dotnet/servicestack/config.yml +++ b/quickstarts/dotnet/servicestack/config.yml @@ -27,6 +27,8 @@ documentation: Open-source framework designed to be an alternative to the WCF, ASP.NET MVC, and ASP.NET Web API frameworks. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/silverlight/config.yml b/quickstarts/dotnet/silverlight/config.yml index 393157e56e..158de71edd 100644 --- a/quickstarts/dotnet/silverlight/config.yml +++ b/quickstarts/dotnet/silverlight/config.yml @@ -27,6 +27,8 @@ documentation: Microsoft Silverlight is a deprecated application framework for writing and running rich Internet applications. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/springdotnet/config.yml b/quickstarts/dotnet/springdotnet/config.yml index c0400814d8..e4619cc2a1 100644 --- a/quickstarts/dotnet/springdotnet/config.yml +++ b/quickstarts/dotnet/springdotnet/config.yml @@ -27,6 +27,8 @@ documentation: Comprehensive infrastructural support for developing enterprise .NET applications; conceptually based on the Java Spring Framework. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/umbraco/config.yml b/quickstarts/dotnet/umbraco/config.yml index a5ae01a16f..e808b5d713 100644 --- a/quickstarts/dotnet/umbraco/config.yml +++ b/quickstarts/dotnet/umbraco/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for Umbraco. + Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for Umbraco. summary: Monitor Umbraco with New Relic's .NET agent icon: logo.svg level: New Relic @@ -22,6 +22,8 @@ documentation: - name: Umbraco installation docs description: Open source CMS for the web built in ASP.NET. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent +installPlans: + - dotnet-windows-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dropwizard/config.yml b/quickstarts/dropwizard/config.yml index dc9e438985..1b61926bd7 100644 --- a/quickstarts/dropwizard/config.yml +++ b/quickstarts/dropwizard/config.yml @@ -15,6 +15,8 @@ level: New Relic authors: - New Relic title: Dropwizard +installPlans: + - third-party-dropwizard dataSourceIds: - dropwizard documentation: diff --git a/quickstarts/drupal/config.yml b/quickstarts/drupal/config.yml index d97c80de07..25996c3249 100644 --- a/quickstarts/drupal/config.yml +++ b/quickstarts/drupal/config.yml @@ -27,6 +27,8 @@ documentation: Drupal is a free and open-source web content management framework written in PHP. url: https://docs.newrelic.com/docs/agents/php-agent/getting-started/php-agent-compatibility-requirements +installPlans: + - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/elasticsearch/config.yml b/quickstarts/elasticsearch/config.yml index 9c68b10660..4550b54dcc 100644 --- a/quickstarts/elasticsearch/config.yml +++ b/quickstarts/elasticsearch/config.yml @@ -17,6 +17,8 @@ documentation: description: | Multitenant-capable full-text RESTful search engine with an HTTP web interface and schema-free JSON documents. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/elasticsearch-monitoring-integration/ +installPlans: + - elasticsearch-integration dataSourceIds: - elasticsearch keywords: diff --git a/quickstarts/elixir/config.yml b/quickstarts/elixir/config.yml index 4be5748a37..93c1769e9c 100644 --- a/quickstarts/elixir/config.yml +++ b/quickstarts/elixir/config.yml @@ -23,6 +23,9 @@ keywords: - elixir - language agent +installPlans: + - setup-elixir-agent + dataSourceIds: - elixir diff --git a/quickstarts/etcd/config.yml b/quickstarts/etcd/config.yml index c76e888b91..d2d1c1a8bb 100644 --- a/quickstarts/etcd/config.yml +++ b/quickstarts/etcd/config.yml @@ -23,6 +23,9 @@ keywords: - prometheus - remote-write - featured +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/f5/config.yml b/quickstarts/f5/config.yml index f99bea9366..3b91987a4e 100644 --- a/quickstarts/f5/config.yml +++ b/quickstarts/f5/config.yml @@ -25,6 +25,8 @@ keywords: - big-ip - big ip - load balancer +installPlans: + - third-party-f5 dataSourceIds: - f5 alertPolicies: @@ -34,7 +36,7 @@ dashboards: documentation: - name: F5 installation docs description: | - Set of application delivery products that work together to ensure + Set of application delivery products that work together to ensure high availability, improved performance, application security, and access control. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/f5-monitoring-integration/#install icon: logo.svg diff --git a/quickstarts/fastly/config.yml b/quickstarts/fastly/config.yml index 101d0793b7..7f79dfa94a 100644 --- a/quickstarts/fastly/config.yml +++ b/quickstarts/fastly/config.yml @@ -21,6 +21,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-fastly dataSourceIds: - fastly documentation: diff --git a/quickstarts/fluent-bit-plugin-for-logs/config.yml b/quickstarts/fluent-bit-plugin-for-logs/config.yml index 8be2989ed1..dd840181cc 100644 --- a/quickstarts/fluent-bit-plugin-for-logs/config.yml +++ b/quickstarts/fluent-bit-plugin-for-logs/config.yml @@ -20,5 +20,7 @@ documentation: keywords: - logs - logging +installPlans: + - third-party-fluent-bit-plugin-for-logs dataSourceIds: - fluent-bit diff --git a/quickstarts/fluentd-plugin-for-logs/config.yml b/quickstarts/fluentd-plugin-for-logs/config.yml index 411711efd1..b5732ace72 100644 --- a/quickstarts/fluentd-plugin-for-logs/config.yml +++ b/quickstarts/fluentd-plugin-for-logs/config.yml @@ -20,5 +20,7 @@ documentation: keywords: - logs - logging +installPlans: + - third-party-fluentd-plugin-for-logs dataSourceIds: - fluentd diff --git a/quickstarts/full-stack-observability/config.yml b/quickstarts/full-stack-observability/config.yml index 7302d713cf..7c2670ef2c 100644 --- a/quickstarts/full-stack-observability/config.yml +++ b/quickstarts/full-stack-observability/config.yml @@ -11,6 +11,8 @@ website: https://www.newrelic.com/ authors: - New Relic - Samuel Vandamme +installPlans: + - guided-install dataSourceIds: - guided-install keywords: @@ -22,3 +24,4 @@ documentation: - name: Guild installation documentation description: Monitor your Full Stack with New Relic. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/installation/new-relic-guided-install-overview/ + diff --git a/quickstarts/full-story/config.yml b/quickstarts/full-story/config.yml index a830d48cd1..b61a8b9370 100644 --- a/quickstarts/full-story/config.yml +++ b/quickstarts/full-story/config.yml @@ -9,6 +9,8 @@ summary: | icon: logo.png keywords: - newrelic partner +installPlans: + - third-party-full-story dataSourceIds: - full-story level: Community diff --git a/quickstarts/gatsby-build/config.yml b/quickstarts/gatsby-build/config.yml index 6cd49eb898..b8b67aaa9c 100644 --- a/quickstarts/gatsby-build/config.yml +++ b/quickstarts/gatsby-build/config.yml @@ -2,7 +2,7 @@ id: d234c09c-3338-4713-8340-ca75766445d6 slug: gatsby-build title: Gatsby Build summary: | - The Gatsby quickstart allows you to get visibility into the build time of your Gatsby sites, using OpenTelemetry to collect each step as a span in a Distributed Trace. + The Gatsby quickstart allows you to get visibility into the build time of your Gatsby sites, using OpenTelemetry to collect each step as a span in a Distributed Trace. Monitor your build in real-time to highlight which steps are affecting performance, so you can improve them faster. description: | The Gatsby quickstart allows you to get visibility into the build time of your Gatsby Sites, @@ -13,6 +13,8 @@ icon: logo.png authors: - New Relic - Ruairi Douglas +installPlans: + - gatsby-build-newrelic dataSourceIds: - gatsby-build-newrelic documentation: diff --git a/quickstarts/gcp/apigee-api/config.yml b/quickstarts/gcp/apigee-api/config.yml index eb4f7e35ef..163a3612bd 100644 --- a/quickstarts/gcp/apigee-api/config.yml +++ b/quickstarts/gcp/apigee-api/config.yml @@ -20,5 +20,7 @@ documentation: description: | Installation and configuration instructions url: https://github.com/newrelic-experimental/apigee-distributed-tracing +installPlans: + - third-party-apigee-api dataSourceIds: - apigee-api diff --git a/quickstarts/gcp/gcp-cloud-run/config.yml b/quickstarts/gcp/gcp-cloud-run/config.yml index 2e597ab16c..650e745cc4 100644 --- a/quickstarts/gcp/gcp-cloud-run/config.yml +++ b/quickstarts/gcp/gcp-cloud-run/config.yml @@ -31,6 +31,8 @@ keywords: - gcp - google cloud platform - containers +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-dataflow/config.yml b/quickstarts/gcp/gcp-dataflow/config.yml index 5ccb3d196b..1c2d300bd1 100644 --- a/quickstarts/gcp/gcp-dataflow/config.yml +++ b/quickstarts/gcp/gcp-dataflow/config.yml @@ -27,6 +27,8 @@ documentation: keywords: - gcp - google cloud platform +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-dataproc/config.yml b/quickstarts/gcp/gcp-dataproc/config.yml index 652866d9b6..98420e40ff 100644 --- a/quickstarts/gcp/gcp-dataproc/config.yml +++ b/quickstarts/gcp/gcp-dataproc/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - gcp - google cloud platform +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-datastore/config.yml b/quickstarts/gcp/gcp-datastore/config.yml index 0487039bb9..df9830a8de 100644 --- a/quickstarts/gcp/gcp-datastore/config.yml +++ b/quickstarts/gcp/gcp-datastore/config.yml @@ -31,5 +31,7 @@ keywords: - gcp - google cloud platform - database +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-dedicated-interconnect/config.yml b/quickstarts/gcp/gcp-dedicated-interconnect/config.yml index 215255410d..dca63a356d 100644 --- a/quickstarts/gcp/gcp-dedicated-interconnect/config.yml +++ b/quickstarts/gcp/gcp-dedicated-interconnect/config.yml @@ -31,5 +31,7 @@ keywords: - gcp - google cloud platform - networking +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-firebase-database/config.yml b/quickstarts/gcp/gcp-firebase-database/config.yml index 4f6a68e494..9445b0e79a 100644 --- a/quickstarts/gcp/gcp-firebase-database/config.yml +++ b/quickstarts/gcp/gcp-firebase-database/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - gcp - google cloud platform +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-firebase-hosting/config.yml b/quickstarts/gcp/gcp-firebase-hosting/config.yml index 98721cc4e6..9b3438ac63 100644 --- a/quickstarts/gcp/gcp-firebase-hosting/config.yml +++ b/quickstarts/gcp/gcp-firebase-hosting/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - gcp - google cloud platform +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-firebase-storage/config.yml b/quickstarts/gcp/gcp-firebase-storage/config.yml index 15fd597fb3..0862978065 100644 --- a/quickstarts/gcp/gcp-firebase-storage/config.yml +++ b/quickstarts/gcp/gcp-firebase-storage/config.yml @@ -30,5 +30,7 @@ documentation: keywords: - gcp - google cloud platform +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-firestore/config.yml b/quickstarts/gcp/gcp-firestore/config.yml index b5119cf7d1..e73319b3ac 100644 --- a/quickstarts/gcp/gcp-firestore/config.yml +++ b/quickstarts/gcp/gcp-firestore/config.yml @@ -31,5 +31,7 @@ keywords: - gcp - google cloud platform - database +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-router/config.yml b/quickstarts/gcp/gcp-router/config.yml index 4a35b92aa1..f7bdcecf97 100644 --- a/quickstarts/gcp/gcp-router/config.yml +++ b/quickstarts/gcp/gcp-router/config.yml @@ -31,5 +31,7 @@ keywords: - gcp - google cloud platform - networking +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-vpc/config.yml b/quickstarts/gcp/gcp-vpc/config.yml index b6f7531a33..09aac64e5f 100644 --- a/quickstarts/gcp/gcp-vpc/config.yml +++ b/quickstarts/gcp/gcp-vpc/config.yml @@ -31,6 +31,8 @@ keywords: - gcp - google cloud platform - networking +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-app-engine/config.yml b/quickstarts/gcp/google-app-engine/config.yml index bbf34a4172..cba47f9f92 100644 --- a/quickstarts/gcp/google-app-engine/config.yml +++ b/quickstarts/gcp/google-app-engine/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - gcp - google cloud platform +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-bigquery/config.yml b/quickstarts/gcp/google-bigquery/config.yml index c6b5c29727..fa678f2c52 100644 --- a/quickstarts/gcp/google-bigquery/config.yml +++ b/quickstarts/gcp/google-bigquery/config.yml @@ -31,6 +31,8 @@ keywords: - gcp - google cloud platform - database +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-functions/config.yml b/quickstarts/gcp/google-cloud-functions/config.yml index 934cb41eac..530a7c67fe 100644 --- a/quickstarts/gcp/google-cloud-functions/config.yml +++ b/quickstarts/gcp/google-cloud-functions/config.yml @@ -31,6 +31,8 @@ keywords: - gcp - google cloud platform - serverless +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-spanner-otel/config.yml b/quickstarts/gcp/google-cloud-spanner-otel/config.yml index 8f3983234a..06ece872b9 100644 --- a/quickstarts/gcp/google-cloud-spanner-otel/config.yml +++ b/quickstarts/gcp/google-cloud-spanner-otel/config.yml @@ -46,6 +46,8 @@ keywords: - otel - NR1_addData - NR1_sys +installPlans: + - cloud-spanner dataSourceIds: - cloud-spanner dashboards: diff --git a/quickstarts/gcp/google-cloud-spanner/config.yml b/quickstarts/gcp/google-cloud-spanner/config.yml index 0bb50bda04..a335255ce8 100644 --- a/quickstarts/gcp/google-cloud-spanner/config.yml +++ b/quickstarts/gcp/google-cloud-spanner/config.yml @@ -33,5 +33,7 @@ keywords: - database dashboards: - gcp-spanner +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/google-cloud-sql/config.yml b/quickstarts/gcp/google-cloud-sql/config.yml index 02ce8b41e7..ca84adc4d5 100644 --- a/quickstarts/gcp/google-cloud-sql/config.yml +++ b/quickstarts/gcp/google-cloud-sql/config.yml @@ -31,6 +31,8 @@ keywords: - gcp - google cloud platform - database +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-storage/config.yml b/quickstarts/gcp/google-cloud-storage/config.yml index 8c6f97e9c7..fc9ae65c71 100644 --- a/quickstarts/gcp/google-cloud-storage/config.yml +++ b/quickstarts/gcp/google-cloud-storage/config.yml @@ -31,6 +31,8 @@ keywords: - gcp - google cloud platform - storage +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-compute-engine/config.yml b/quickstarts/gcp/google-compute-engine/config.yml index ec0b7c32f4..eba3c205ca 100644 --- a/quickstarts/gcp/google-compute-engine/config.yml +++ b/quickstarts/gcp/google-compute-engine/config.yml @@ -30,5 +30,7 @@ documentation: keywords: - gcp - google cloud platform +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/google-load-balancing/config.yml b/quickstarts/gcp/google-load-balancing/config.yml index b4018b1b73..ea84e9a85d 100644 --- a/quickstarts/gcp/google-load-balancing/config.yml +++ b/quickstarts/gcp/google-load-balancing/config.yml @@ -32,6 +32,8 @@ keywords: - google cloud platform - load balancer - networking +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-pub-sub/config.yml b/quickstarts/gcp/google-pub-sub/config.yml index 7b390c69e6..ccfbb55c38 100644 --- a/quickstarts/gcp/google-pub-sub/config.yml +++ b/quickstarts/gcp/google-pub-sub/config.yml @@ -28,6 +28,8 @@ keywords: - gcp - google cloud platform - queue +installPlans: + - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gigamon-appinsights/config.yml b/quickstarts/gigamon-appinsights/config.yml index 413f19c0fe..8f98f2aa0d 100644 --- a/quickstarts/gigamon-appinsights/config.yml +++ b/quickstarts/gigamon-appinsights/config.yml @@ -1,13 +1,14 @@ id: 77af041f-de6c-45d1-9ac1-8d77d48ab9a9 + slug: gigamon-appinsights title: Gigamon Application Insights description: | ## Deep Application Visibility - Analytics tools are only as smart as the data they receive. Gigamon Application Metadata Intelligence empowers - New Relic with critical metadata attributes across thousands of business, consumer and IT applications and services. + Analytics tools are only as smart as the data they receive. Gigamon Application Metadata Intelligence empowers + New Relic with critical metadata attributes across thousands of business, consumer and IT applications and services. Get deep application visibility to rapidly pinpoint performance bottlenecks, quality issues and potential network security risks. summary: | @@ -40,5 +41,8 @@ icon: gigamon-appint.png dashboards: - gigamon-appinsights +installPlans: + - third-party-gigamon-appinsights + dataSourceIds: - gigamon-appinsights diff --git a/quickstarts/gigamon/config.yml b/quickstarts/gigamon/config.yml index b9c0710d5b..aa7d6968e3 100644 --- a/quickstarts/gigamon/config.yml +++ b/quickstarts/gigamon/config.yml @@ -18,6 +18,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-gigamon dataSourceIds: - gigamon-appinsights documentation: diff --git a/quickstarts/github/config.yml b/quickstarts/github/config.yml index 74e66247ba..3f4b0b9808 100644 --- a/quickstarts/github/config.yml +++ b/quickstarts/github/config.yml @@ -20,7 +20,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot) to learn more about New Relic ingestion for GitHub Dependabot. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot) to learn more about New Relic ingestion for GitHub Dependabot. summary: Ingest GitHub Dependabot events by connecting GitHub to New Relic level: New Relic @@ -35,6 +35,8 @@ documentation: - name: GitHub Dependabot integration installation docs description: Automatic integration for ingesting Dependabot vulnerabilities. url: https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot +installPlans: + - github-dependabot-install dataSourceIds: - dependabot icon: logo.png diff --git a/quickstarts/gitlab/config.yml b/quickstarts/gitlab/config.yml index 34fe79edf1..aaa5663ce5 100644 --- a/quickstarts/gitlab/config.yml +++ b/quickstarts/gitlab/config.yml @@ -20,6 +20,8 @@ keywords: - pipelines dashboards: - gitlab +installPlans: + - third-party-gitlab-integration dataSourceIds: - gitlab-integration documentation: @@ -28,3 +30,4 @@ documentation: description: Monitor your Gitlab pipelines with New Relic, making it easier to get observability into your CI/CD pipeline health and performance. icon: logo.svg website: https://www.newrelic.com + diff --git a/quickstarts/glassbox/config.yml b/quickstarts/glassbox/config.yml index e384720343..1eb70159de 100644 --- a/quickstarts/glassbox/config.yml +++ b/quickstarts/glassbox/config.yml @@ -21,6 +21,8 @@ keywords: - session replay - NR1_addData - NR1_sys +installPlans: + - third-party-glassbox dataSourceIds: - glassbox documentation: diff --git a/quickstarts/golang/echo/config.yml b/quickstarts/golang/echo/config.yml index c280bbc2ba..c148a18d9e 100644 --- a/quickstarts/golang/echo/config.yml +++ b/quickstarts/golang/echo/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Echo. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Echo. summary: Monitor Echo with New Relic's Golang agent icon: logo.svg level: New Relic @@ -25,6 +25,8 @@ documentation: keywords: - apm - golang +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/gin/config.yml b/quickstarts/golang/gin/config.yml index 5f3e21bffa..3b6a739d04 100644 --- a/quickstarts/golang/gin/config.yml +++ b/quickstarts/golang/gin/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Gin. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Gin. summary: Monitor Gin with New Relic's Golang agent icon: logo.png level: New Relic @@ -25,6 +25,8 @@ documentation: keywords: - apm - golang +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/golang/config.yml b/quickstarts/golang/golang/config.yml index 9e062e574a..c0fa6b0dde 100644 --- a/quickstarts/golang/golang/config.yml +++ b/quickstarts/golang/golang/config.yml @@ -26,6 +26,8 @@ keywords: - apm - golang - language agent +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/httprouter/config.yml b/quickstarts/golang/httprouter/config.yml index d53114444c..72e03de2dd 100644 --- a/quickstarts/golang/httprouter/config.yml +++ b/quickstarts/golang/httprouter/config.yml @@ -13,7 +13,7 @@ description: | ### New Relic and HTTPRouter features - Track Golang language apps and microservices with [New Relic’s HTTPRouter and Golang](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/introduction-new-relic-go/) monitoring quickstart, including throughput, transaction errors, and response times. + Track Golang language apps and microservices with [New Relic’s HTTPRouter and Golang](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/introduction-new-relic-go/) monitoring quickstart, including throughput, transaction errors, and response times. With a clear view into garbage collection behavior, memory usage, and CPU usage over time, your Golang development team can better understand your application’s runtime health. HTTPRouter infrastructure monitoring also provides a comprehensive view of host and server data. @@ -48,6 +48,8 @@ keywords: - golang - NR1_addData - NR1_sys +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/lambda-go/config.yml b/quickstarts/golang/lambda-go/config.yml index 118de57acd..d114c679a8 100644 --- a/quickstarts/golang/lambda-go/config.yml +++ b/quickstarts/golang/lambda-go/config.yml @@ -33,6 +33,8 @@ keywords: - serverless - NR1_addData - NR1_sys +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/logrus/config.yml b/quickstarts/golang/logrus/config.yml index 6eab4e98f2..5139d6b982 100644 --- a/quickstarts/golang/logrus/config.yml +++ b/quickstarts/golang/logrus/config.yml @@ -34,6 +34,8 @@ keywords: - logging - NR1_addData - NR1_sys +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/logxi/config.yml b/quickstarts/golang/logxi/config.yml index d4a1dbb6d9..2bbf19b602 100644 --- a/quickstarts/golang/logxi/config.yml +++ b/quickstarts/golang/logxi/config.yml @@ -34,6 +34,8 @@ keywords: - logging - NR1_addData - NR1_sys +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/micro/config.yml b/quickstarts/golang/micro/config.yml index c4c2e9544f..77e6458c5b 100644 --- a/quickstarts/golang/micro/config.yml +++ b/quickstarts/golang/micro/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - golang +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/mux/config.yml b/quickstarts/golang/mux/config.yml index 8077435d78..75536a4c38 100644 --- a/quickstarts/golang/mux/config.yml +++ b/quickstarts/golang/mux/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - golang +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/nats/config.yml b/quickstarts/golang/nats/config.yml index 297e5b7852..3ed86fb195 100644 --- a/quickstarts/golang/nats/config.yml +++ b/quickstarts/golang/nats/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for NATS. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for NATS. summary: Monitor NATS with New Relic's Golang agent icon: logo.svg level: New Relic @@ -27,6 +27,8 @@ keywords: - golang - NR1_addData - NR1_sys +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/pkg-errors/config.yml b/quickstarts/golang/pkg-errors/config.yml index 2afab7a666..e4ed92b5fd 100644 --- a/quickstarts/golang/pkg-errors/config.yml +++ b/quickstarts/golang/pkg-errors/config.yml @@ -23,6 +23,8 @@ keywords: - golang - errors - pkg/errors +installPlans: + - setup-go-agent dataSourceIds: - golang documentation: diff --git a/quickstarts/golang/zap/config.yml b/quickstarts/golang/zap/config.yml index 89cd327b7c..59c72bed5d 100644 --- a/quickstarts/golang/zap/config.yml +++ b/quickstarts/golang/zap/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Zap. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Zap. summary: Monitor Zap with New Relic's Golang agent icon: logo.svg level: New Relic @@ -25,6 +25,8 @@ documentation: keywords: - apm - golang +installPlans: + - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/grafana/grafana-dashboard-migration/config.yml b/quickstarts/grafana/grafana-dashboard-migration/config.yml index 12c16f3da2..be18cd5d7e 100644 --- a/quickstarts/grafana/grafana-dashboard-migration/config.yml +++ b/quickstarts/grafana/grafana-dashboard-migration/config.yml @@ -24,6 +24,8 @@ documentation: - name: Convert Grafana Prometheus dashboards to New Relic dashboards. url: https://github.com/newrelic-experimental/nr-grafana-migration description: Toolset to help New Relic customers migrate from Grafana and Prometheus to New Relic. +installPlans: + - third-party-grafana-dashboard-migration dataSourceIds: - grafana-dashboard-migration icon: logo.png diff --git a/quickstarts/grafana/grafana-prometheus-integration/config.yml b/quickstarts/grafana/grafana-prometheus-integration/config.yml index a7ff0bc87d..ef0e90c344 100644 --- a/quickstarts/grafana/grafana-prometheus-integration/config.yml +++ b/quickstarts/grafana/grafana-prometheus-integration/config.yml @@ -13,6 +13,8 @@ keywords: - prometheus - NR1_addData - NR1_sys +installPlans: + - third-party-grafana-prometheus-integration dataSourceIds: - grafana-prometheus-integration documentation: diff --git a/quickstarts/haproxy/config.yml b/quickstarts/haproxy/config.yml index af4ec2ec54..56d25954b6 100644 --- a/quickstarts/haproxy/config.yml +++ b/quickstarts/haproxy/config.yml @@ -6,14 +6,14 @@ description: | HAProxy monitoring helps maintain system performance and provides the visibility you need to identify and resolve the cause of errors and latency. When you monitor HAProxy in real-time, you can see the entire service topology of your data pipeline and applications in an HAProxy dashboard. - Keep track of TCP and HTTP-based applications powered by the highly available and stable TCP/HTTP load-balancing software and proxy solution. + Keep track of TCP and HTTP-based applications powered by the highly available and stable TCP/HTTP load-balancing software and proxy solution. ### New Relic HAProxy quickstart highlights [New Relic's HAProxy monitoring agent](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/haproxy-monitoring-integration/) tracks server capacity to ensure that it can handle all concurrent sessions. You can efficiently manage your resources and run applications optimally by keeping an eye on real-time HAProxy status and statistics. - New Relic's HAProxy monitoring quickstart has the following out-of-the-box features so you can monitor your frontend/server inventory and the health/availability of your backend servers: - - Alerts (latency and errors) + New Relic's HAProxy monitoring quickstart has the following out-of-the-box features so you can monitor your frontend/server inventory and the health/availability of your backend servers: + - Alerts (latency and errors) - Dashboards (bytes sent and received per second, frontend statuses, request errors per second, sessions per second, and active servers - same dashboards for both front and backend) ### New Relic - The complete HAProxy dashboard tool @@ -32,6 +32,8 @@ documentation: description: | Free, open-source software load balancer and proxy server for TCP and HTTP-based applications that spreads traffic across multiple servers. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/haproxy-monitoring-integration/ +installPlans: + - haproxy-integration dataSourceIds: - haproxy keywords: diff --git a/quickstarts/harbor/config.yml b/quickstarts/harbor/config.yml index 4f948bbbd1..40916c8e5c 100644 --- a/quickstarts/harbor/config.yml +++ b/quickstarts/harbor/config.yml @@ -36,6 +36,9 @@ documentation: url: https://goharbor.io/docs/2.3.0/administration/metrics/ description: | Learn more about the Prometheus metrics available for Harbor +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/hashicorp/hcp-consul/config.yml b/quickstarts/hashicorp/hcp-consul/config.yml index 7ef2adfd42..60fa6f5be9 100644 --- a/quickstarts/hashicorp/hcp-consul/config.yml +++ b/quickstarts/hashicorp/hcp-consul/config.yml @@ -3,7 +3,7 @@ slug: hcp-consul title: HCP Consul description: |- ## HCP Consul - HCP (Hashicorp Cloud Platform) Consul is a version of Consul in which the control plane is managed by HashiCorp Cloud Platform. + HCP (Hashicorp Cloud Platform) Consul is a version of Consul in which the control plane is managed by HashiCorp Cloud Platform. HCP Consul is a service mesh and service discovery solution provided by Hashicorp. It enables platform operators to quickly deploy a fully managed, secure-by-default service mesh, helping developers discover and securely connect any application on any runtime, including Kubernetes, Nomad, and Amazon ECS. @@ -40,6 +40,8 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/cloud-integrations/hcp-consul-monitoring description: HCP Consul configuration documentation icon: logo.svg +installPlans: + - third-party-hashicorp-hcp-consul dataSourceIds: - hcp-consul dashboards: diff --git a/quickstarts/hashicorp/hcp-vault/config.yml b/quickstarts/hashicorp/hcp-vault/config.yml index e596ee8695..c64ab2ac77 100644 --- a/quickstarts/hashicorp/hcp-vault/config.yml +++ b/quickstarts/hashicorp/hcp-vault/config.yml @@ -3,13 +3,13 @@ slug: hcp-vault title: HCP Vault description: |- ## HCP Vault - + Secure, store, and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets, and other sensitive data using a UI, CLI, or HTTP API. - + ### Monitor HCP Vault metrics with New Relic Metrics observability is essential for ensuring the performance and security of your HCP Vault cluster. It's also useful for business operations, like understanding client-related usage. - + ### HCP Vault integration highlights The HCP Vault integration with New Relic provides a pre-made dashboard with HCP Vault metrics and audit logs to get started easily. This dashboard provides visibility into the health of your HCP Vault environment. @@ -39,6 +39,8 @@ documentation: url: https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-audit-log-new-relic description: HCP Vault audit logs guide icon: logo.svg +installPlans: + - third-party-hcp-vault dataSourceIds: - hcp-vault-logs - hcp-vault-metrics diff --git a/quickstarts/heroku/config.yml b/quickstarts/heroku/config.yml index b81f10cf69..487b289636 100644 --- a/quickstarts/heroku/config.yml +++ b/quickstarts/heroku/config.yml @@ -12,6 +12,8 @@ keywords: - logs - heroku - paas +installPlans: + - logs-heroku dataSourceIds: - heroku documentation: diff --git a/quickstarts/hivemq/config.yml b/quickstarts/hivemq/config.yml index d51a258fdc..866a7fa27b 100644 --- a/quickstarts/hivemq/config.yml +++ b/quickstarts/hivemq/config.yml @@ -45,6 +45,9 @@ documentation: MQTT broker that makes it easy to move data to and from connected devices. url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/hivemq +installPlans: + - hivemq-integration-docs + dataSourceIds: - hivemq-integration-docs diff --git a/quickstarts/ibmmq/config.yml b/quickstarts/ibmmq/config.yml index b97858e88d..1888f24e64 100644 --- a/quickstarts/ibmmq/config.yml +++ b/quickstarts/ibmmq/config.yml @@ -44,7 +44,10 @@ documentation: description: | Our IBM MQ integration collects and sends dimensional metrics from IBM MQ. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/ibmmq-monitoring-integration/ +installPlans: + - ibmmq-integration-docs dataSourceIds: - ibmmq-integration-docs dashboards: - ibmmq + diff --git a/quickstarts/infrastructure/config.yml b/quickstarts/infrastructure/config.yml index 4216e08d8e..2fac2efe8b 100644 --- a/quickstarts/infrastructure/config.yml +++ b/quickstarts/infrastructure/config.yml @@ -45,6 +45,8 @@ level: New Relic authors: - New Relic - Darren Doyle +installPlans: + - guided-install dataSourceIds: - guided-install keywords: @@ -55,4 +57,4 @@ dashboards: documentation: - name: Infrastructure installation documentation description: Monitor your Infrastructure with New Relic. - url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ + url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ \ No newline at end of file diff --git a/quickstarts/ios/config.yml b/quickstarts/ios/config.yml index a948b45df3..849216a784 100644 --- a/quickstarts/ios/config.yml +++ b/quickstarts/ios/config.yml @@ -21,6 +21,8 @@ documentation: Default operating system for Apple mobile devices, including the iPhone and iPad. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/introduction-new-relic-mobile-ios +installPlans: + - ios-mobile dataSourceIds: - ios keywords: diff --git a/quickstarts/java/adobe-cq/config.yml b/quickstarts/java/adobe-cq/config.yml index 6291c22b02..82b34d2328 100644 --- a/quickstarts/java/adobe-cq/config.yml +++ b/quickstarts/java/adobe-cq/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Adobe CQ with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Adobe CQ with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,6 +27,8 @@ documentation: Java-based Content Management platform solution for building website, mobile apps and forms. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent +installPlans: + - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/akka/config.yml b/quickstarts/java/akka/config.yml index 317895e1e7..f2e2f9b549 100644 --- a/quickstarts/java/akka/config.yml +++ b/quickstarts/java/akka/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Akka with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Akka with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/anorm/config.yml b/quickstarts/java/anorm/config.yml index 3705bc7724..74602498a8 100644 --- a/quickstarts/java/anorm/config.yml +++ b/quickstarts/java/anorm/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Anorm with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Anorm with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/asynchttpclient/config.yml b/quickstarts/java/asynchttpclient/config.yml index b2320ec4f2..800184e86a 100644 --- a/quickstarts/java/asynchttpclient/config.yml +++ b/quickstarts/java/asynchttpclient/config.yml @@ -32,6 +32,8 @@ keywords: - http - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/camel/config.yml b/quickstarts/java/camel/config.yml index 44f06f0908..038ef72d37 100644 --- a/quickstarts/java/camel/config.yml +++ b/quickstarts/java/camel/config.yml @@ -6,7 +6,7 @@ description: | Camel is an Open Source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. - Camel empowers you to define routing and mediation rules in a variety of domain-specific languages (DSL, such as Java, XML, Groovy, Kotlin, and YAML). + Camel empowers you to define routing and mediation rules in a variety of domain-specific languages (DSL, such as Java, XML, Groovy, Kotlin, and YAML). This means you get smart completion of routing rules in your IDE, whether in a Java or XML editor. Apache Camel uses URIs to work directly with any kind of transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF, as well as pluggable Components and Data Format options. summary: | @@ -25,6 +25,8 @@ keywords: - language agent authors: - New Relic Labs +installPlans: + - third-party-camel dataSourceIds: - camel documentation: diff --git a/quickstarts/java/coldfusion/config.yml b/quickstarts/java/coldfusion/config.yml index 824fb6f4b6..a819462280 100644 --- a/quickstarts/java/coldfusion/config.yml +++ b/quickstarts/java/coldfusion/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments ColdFusion with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments ColdFusion with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/cxf/config.yml b/quickstarts/java/cxf/config.yml index 2bb1d347d5..97d2b8ca88 100644 --- a/quickstarts/java/cxf/config.yml +++ b/quickstarts/java/cxf/config.yml @@ -26,6 +26,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/datastax-cassandra/config.yml b/quickstarts/java/datastax-cassandra/config.yml index 908497c86c..9481890938 100644 --- a/quickstarts/java/datastax-cassandra/config.yml +++ b/quickstarts/java/datastax-cassandra/config.yml @@ -16,5 +16,7 @@ keywords: - java - database - language agent +installPlans: + - setup-java-agent dataSourceIds: - java diff --git a/quickstarts/java/derby/config.yml b/quickstarts/java/derby/config.yml index 94031b7917..4024575895 100644 --- a/quickstarts/java/derby/config.yml +++ b/quickstarts/java/derby/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Derby with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Derby with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,6 +32,8 @@ keywords: - java - database - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/ejb-session-beans/config.yml b/quickstarts/java/ejb-session-beans/config.yml index 20f4a8bcac..f33aa900c2 100644 --- a/quickstarts/java/ejb-session-beans/config.yml +++ b/quickstarts/java/ejb-session-beans/config.yml @@ -7,7 +7,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments EJB session beans with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments EJB session beans with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -30,6 +30,8 @@ keywords: - apm - java - language agent +installPlans: + - third-party-ejb-session-beans dataSourceIds: - java dashboards: diff --git a/quickstarts/java/elasticsearch-query/config.yml b/quickstarts/java/elasticsearch-query/config.yml index c07674fe2c..58aef2095e 100644 --- a/quickstarts/java/elasticsearch-query/config.yml +++ b/quickstarts/java/elasticsearch-query/config.yml @@ -9,7 +9,7 @@ description: | The elastic search query java agent extension enables monitoring of elasticsearch queries in a java application. Once deployed elasticsearch queries begin to show up in the New Relic UI under Databases section summary: | - Java agent extension to monitor elasticsearch queries as dataStore queries with New Relic. + Java agent extension to monitor elasticsearch queries as dataStore queries with New Relic. Once deployed elasticsearch queries begin to show up in the New Relic UI under Databases for the application using elasticsearch queries. icon: logo.svg level: Community @@ -23,6 +23,8 @@ keywords: - language agent authors: - New Relic Labs +installPlans: + - third-party-elasticsearch-query dataSourceIds: - elasticsearch-query documentation: diff --git a/quickstarts/java/gcp-pubsub/config.yml b/quickstarts/java/gcp-pubsub/config.yml index 3e2fc3b778..37bb033639 100644 --- a/quickstarts/java/gcp-pubsub/config.yml +++ b/quickstarts/java/gcp-pubsub/config.yml @@ -32,6 +32,8 @@ documentation: description: | Java Agent instrumentation extension for the Google Cloud Platform PubSub framework url: https://github.com/newrelic-experimental/newrelic-java-gcp-pubsub +installPlans: + - third-party-gcp-pubsub dataSourceIds: - gcp-pubsub dashboards: diff --git a/quickstarts/java/generic-jdbc/config.yml b/quickstarts/java/generic-jdbc/config.yml index 04f35cea0a..408b526313 100644 --- a/quickstarts/java/generic-jdbc/config.yml +++ b/quickstarts/java/generic-jdbc/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Generic JDBC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Generic JDBC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,6 +27,8 @@ documentation: Java Database Connectivity is a standard Java API for database-independent connectivity between Java and a wide range of databases. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent +installPlans: + - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/glassfish/config.yml b/quickstarts/java/glassfish/config.yml index 3eccfc064a..a74b1c4116 100644 --- a/quickstarts/java/glassfish/config.yml +++ b/quickstarts/java/glassfish/config.yml @@ -26,6 +26,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/grails/config.yml b/quickstarts/java/grails/config.yml index 6087628e7d..fbca8437ec 100644 --- a/quickstarts/java/grails/config.yml +++ b/quickstarts/java/grails/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/grpc/config.yml b/quickstarts/java/grpc/config.yml index 3e8856ff71..b966b7b2d9 100644 --- a/quickstarts/java/grpc/config.yml +++ b/quickstarts/java/grpc/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments gRPC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments gRPC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/h2/config.yml b/quickstarts/java/h2/config.yml index f033fe4fc3..a4495e7f62 100644 --- a/quickstarts/java/h2/config.yml +++ b/quickstarts/java/h2/config.yml @@ -25,6 +25,8 @@ keywords: - java - database - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hibernate/config.yml b/quickstarts/java/hibernate/config.yml index d8ce392712..348190c760 100644 --- a/quickstarts/java/hibernate/config.yml +++ b/quickstarts/java/hibernate/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hibernate with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hibernate with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,6 +32,8 @@ keywords: - java - database - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hsql/config.yml b/quickstarts/java/hsql/config.yml index 3b06147d11..5719c8a19d 100644 --- a/quickstarts/java/hsql/config.yml +++ b/quickstarts/java/hsql/config.yml @@ -27,6 +27,8 @@ keywords: - java - database - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hystrix/config.yml b/quickstarts/java/hystrix/config.yml index 1b5ecf336e..15ca2a2e80 100644 --- a/quickstarts/java/hystrix/config.yml +++ b/quickstarts/java/hystrix/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hystrix with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hystrix with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/ibm-db2/config.yml b/quickstarts/java/ibm-db2/config.yml index 4753be6806..e79cedbf35 100644 --- a/quickstarts/java/ibm-db2/config.yml +++ b/quickstarts/java/ibm-db2/config.yml @@ -25,6 +25,8 @@ keywords: - java - database - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/inet-merlia/config.yml b/quickstarts/java/inet-merlia/config.yml index 189de3b07d..0d571a4354 100644 --- a/quickstarts/java/inet-merlia/config.yml +++ b/quickstarts/java/inet-merlia/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/java/config.yml b/quickstarts/java/java/config.yml index 954f7c8f9c..0ec999da01 100644 --- a/quickstarts/java/java/config.yml +++ b/quickstarts/java/java/config.yml @@ -3,9 +3,9 @@ slug: java description: | ## Why monitoring Java is so important - Java is a compiled language, with the potential to be very fast. However, there are a a lot of Java-specific quirks that make the average program slow such as high default memory usage and lags in the startup time of the JVM. + Java is a compiled language, with the potential to be very fast. However, there are a a lot of Java-specific quirks that make the average program slow such as high default memory usage and lags in the startup time of the JVM. - In order to get the most performance out of your Java applications, it’s important to continuously monitor them with tools such as the New Relic Java agent. + In order to get the most performance out of your Java applications, it’s important to continuously monitor them with tools such as the New Relic Java agent. ### New Relic Java quickstart features @@ -14,7 +14,7 @@ description: | ### New Relic - the perfect Java observability tool - [Proactive Java monitoring](https://docs.newrelic.com/docs/agents/java-agent/getting-started/introduction-new-relic-java/) yields reductions in site latency and improves the user experience. Our Java agent monitors app servers, databases, and message queuing systems, giving insight into all the key components which allow a web app to run. Custom instrumentation is also available for the add-on Java frameworks and libraries which may be used. + [Proactive Java monitoring](https://docs.newrelic.com/docs/agents/java-agent/getting-started/introduction-new-relic-java/) yields reductions in site latency and improves the user experience. Our Java agent monitors app servers, databases, and message queuing systems, giving insight into all the key components which allow a web app to run. Custom instrumentation is also available for the add-on Java frameworks and libraries which may be used. The agent reports metric time-slice and event data, giving insight at scheduled intervals. It also provides JVM-level observability, providing thread pools data, HTTP sessions, and transactions. You can trace request flows through distributed systems, allowing you to pinpoint points of failure and proactively prevent downtime. All metrics and interfaces are unified via an included dashboard which provides a visual display of an application’s performance. @@ -38,6 +38,8 @@ keywords: - java - language agent - most popular +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jax-rs/config.yml b/quickstarts/java/jax-rs/config.yml index 30da8a8e49..2d5aae30e0 100644 --- a/quickstarts/java/jax-rs/config.yml +++ b/quickstarts/java/jax-rs/config.yml @@ -26,6 +26,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jcache-api/config.yml b/quickstarts/java/jcache-api/config.yml index 4ffcef4670..e051a1bce8 100644 --- a/quickstarts/java/jcache-api/config.yml +++ b/quickstarts/java/jcache-api/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jdbc-executebatch/config.yml b/quickstarts/java/jdbc-executebatch/config.yml index 5dd72cb175..118f0402fe 100644 --- a/quickstarts/java/jdbc-executebatch/config.yml +++ b/quickstarts/java/jdbc-executebatch/config.yml @@ -5,13 +5,13 @@ description: | # What is executeBatch call? ExecuteBatch method in jdbc submits a batch of commands to the database for execution. You - If all commands execute successfully, the call returns an array of update counts. + If all commands execute successfully, the call returns an array of update counts. - Once the instrumentation is deployed it will start to track the call to the executeBatch method as a database call in distributed traces. + Once the instrumentation is deployed it will start to track the call to the executeBatch method as a database call in distributed traces. The Performance tab for the call will show the query as "Batch Execute n Queries" where n is the number of queries executed as part of the batch. - - For calls to addBatch(String sql), it will represent the number of calls to this method before the executeBatch method is executed. + - For calls to addBatch(String sql), it will represent the number of calls to this method before the executeBatch method is executed. - For PreparedStatment and CallableStatment it will represent the number of times that addBatch() is called. summary: | Java agent extension to monitor the executeBatch method of the Statement, PreparedStatement and CallableStatement interfaces as a database call. @@ -33,6 +33,8 @@ documentation: description: | Java Agent instrumentation extension for tracking executeBatch method of the Statement, PreparedStatement and CallableStatement interfaces as a database call. url: https://github.com/newrelic-experimental/newrelic-java-JDBC-ExecuteBatch +installPlans: + - third-party-jdbc-executebatch dataSourceIds: - jdbc-executebatch dashboards: diff --git a/quickstarts/java/jersey/config.yml b/quickstarts/java/jersey/config.yml index 64dbf00c0c..9484c0c216 100644 --- a/quickstarts/java/jersey/config.yml +++ b/quickstarts/java/jersey/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jetty/config.yml b/quickstarts/java/jetty/config.yml index d44b856c23..c9ab5af66c 100644 --- a/quickstarts/java/jetty/config.yml +++ b/quickstarts/java/jetty/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Jetty with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Jetty with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,6 +32,8 @@ keywords: - java - server - language agent +installPlans: + - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jms/config.yml b/quickstarts/java/jms/config.yml index ceb06e47a6..1e713b3561 100644 --- a/quickstarts/java/jms/config.yml +++ b/quickstarts/java/jms/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jsf/config.yml b/quickstarts/java/jsf/config.yml index baef964761..1c135ea893 100644 --- a/quickstarts/java/jsf/config.yml +++ b/quickstarts/java/jsf/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSF with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSF with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jsp/config.yml b/quickstarts/java/jsp/config.yml index b234900737..2c79a43ea9 100644 --- a/quickstarts/java/jsp/config.yml +++ b/quickstarts/java/jsp/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSP with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSP with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/mule-esb/config.yml b/quickstarts/java/mule-esb/config.yml index 5ecb383830..7d8016cdae 100644 --- a/quickstarts/java/mule-esb/config.yml +++ b/quickstarts/java/mule-esb/config.yml @@ -35,6 +35,8 @@ keywords: - NR1_addData - NR1_sys - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/netty/config.yml b/quickstarts/java/netty/config.yml index d421977c6a..36b88fadab 100644 --- a/quickstarts/java/netty/config.yml +++ b/quickstarts/java/netty/config.yml @@ -2,7 +2,7 @@ id: 6c25b345-1377-42be-b265-d511e0d170f8 slug: netty description: | ## Why monitor Netty? - Netty is a tool for building performant, low-level network servers and clients in Java. It operates on an asynchronous, non-blocking I/O model, meaning that it can serve or receive multiple requests simultaneously while maintaining running background processes. + Netty is a tool for building performant, low-level network servers and clients in Java. It operates on an asynchronous, non-blocking I/O model, meaning that it can serve or receive multiple requests simultaneously while maintaining running background processes. While Netty is powerful and runs with lower resource usage than its blocking counterparts, its non-blocking paradigm makes the code it creates harder to test and more difficult to read. The fact that it operates at a low level close to the hardware makes it prone to difficult-to-debug errors. Thus, actively monitoring each Netty instance is vital to keeping all the servers and clients on which it is based running smoothly. The Netty quickstart provides dashboards and alerts that enable continuous monitoring of Netty application health. @@ -10,7 +10,7 @@ description: | The Netty quickstart contains a number of helpful dashboards and alerts that monitor your Netty performance. These include - #### Dashboards + #### Dashboards - Transactions overview provides information about average transaction duration, slowest 10% duration transactions, total transactions, and success rates. - The errors overview gives insight into total transactions and failed transactions by both percentages and total numbers. - The VM overview lets you introspect average CPU utilization, average physical memory usage, and total average memory used. @@ -48,6 +48,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/oc4j/config.yml b/quickstarts/java/oc4j/config.yml index 995381c879..9bad2b1137 100644 --- a/quickstarts/java/oc4j/config.yml +++ b/quickstarts/java/oc4j/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/play-ws/config.yml b/quickstarts/java/play-ws/config.yml index 8651273432..d35ba54dc2 100644 --- a/quickstarts/java/play-ws/config.yml +++ b/quickstarts/java/play-ws/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/play/config.yml b/quickstarts/java/play/config.yml index 02c9adee60..c6580069a8 100644 --- a/quickstarts/java/play/config.yml +++ b/quickstarts/java/play/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Play with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Play with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/quartz-job-scheduler/config.yml b/quickstarts/java/quartz-job-scheduler/config.yml index b3f4897f00..e524769153 100644 --- a/quickstarts/java/quartz-job-scheduler/config.yml +++ b/quickstarts/java/quartz-job-scheduler/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Quartz Job Scheduler with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Quartz Job Scheduler with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/resin/config.yml b/quickstarts/java/resin/config.yml index 55c77fc257..4b22fbea00 100644 --- a/quickstarts/java/resin/config.yml +++ b/quickstarts/java/resin/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Resin with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Resin with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/resteasy/config.yml b/quickstarts/java/resteasy/config.yml index aa01867baf..e4874b0e22 100644 --- a/quickstarts/java/resteasy/config.yml +++ b/quickstarts/java/resteasy/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments RESTeasy with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments RESTeasy with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/scala/config.yml b/quickstarts/java/scala/config.yml index 0fb82b0a69..3bea5c5b54 100644 --- a/quickstarts/java/scala/config.yml +++ b/quickstarts/java/scala/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Scala with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Scala with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/slick/config.yml b/quickstarts/java/slick/config.yml index ab41c021ac..b12d83215e 100644 --- a/quickstarts/java/slick/config.yml +++ b/quickstarts/java/slick/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/solr/config.yml b/quickstarts/java/solr/config.yml index c0cac47f2d..558f0fdd71 100644 --- a/quickstarts/java/solr/config.yml +++ b/quickstarts/java/solr/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Solr with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Solr with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spray-can/config.yml b/quickstarts/java/spray-can/config.yml index 96b583b059..546c811bb0 100644 --- a/quickstarts/java/spray-can/config.yml +++ b/quickstarts/java/spray-can/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spray-can with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spray-can with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spring-jms/config.yml b/quickstarts/java/spring-jms/config.yml index 54d78bcd5b..1167c670ee 100644 --- a/quickstarts/java/spring-jms/config.yml +++ b/quickstarts/java/spring-jms/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring-JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring-JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spring/config.yml b/quickstarts/java/spring/config.yml index 8109187ac5..cfb19c10cc 100644 --- a/quickstarts/java/spring/config.yml +++ b/quickstarts/java/spring/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spymemcached/config.yml b/quickstarts/java/spymemcached/config.yml index 6f4e56666b..095cb2c21f 100644 --- a/quickstarts/java/spymemcached/config.yml +++ b/quickstarts/java/spymemcached/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments SpyMemcached with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments SpyMemcached with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/struts/config.yml b/quickstarts/java/struts/config.yml index 0e6df407e5..853a5ee868 100644 --- a/quickstarts/java/struts/config.yml +++ b/quickstarts/java/struts/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Struts with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Struts with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/thrift/config.yml b/quickstarts/java/thrift/config.yml index 6b74af49ea..cd276729fa 100644 --- a/quickstarts/java/thrift/config.yml +++ b/quickstarts/java/thrift/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Thrift with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Thrift with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/tomcat/config.yml b/quickstarts/java/tomcat/config.yml index fa84098c8c..dc8aa8adf8 100644 --- a/quickstarts/java/tomcat/config.yml +++ b/quickstarts/java/tomcat/config.yml @@ -39,6 +39,8 @@ keywords: - server - most popular - language agent +installPlans: + - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/tomee/config.yml b/quickstarts/java/tomee/config.yml index 3eb84e1ce0..e6fcbe2f05 100644 --- a/quickstarts/java/tomee/config.yml +++ b/quickstarts/java/tomee/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments TomEE with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments TomEE with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,6 +31,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/vert-x/config.yml b/quickstarts/java/vert-x/config.yml index d3d6acd1e3..0e2b7f3ca3 100644 --- a/quickstarts/java/vert-x/config.yml +++ b/quickstarts/java/vert-x/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Vert.x with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Vert.x with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,6 +27,8 @@ documentation: Application framework for development of reactive and event-driven software in Java or a variety of other languages. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent +installPlans: + - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/weblogic/config.yml b/quickstarts/java/weblogic/config.yml index 4c208f42e8..942ef65b16 100644 --- a/quickstarts/java/weblogic/config.yml +++ b/quickstarts/java/weblogic/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/websphere-liberty-profile/config.yml b/quickstarts/java/websphere-liberty-profile/config.yml index 4be0a2db62..cc8a7ce186 100644 --- a/quickstarts/java/websphere-liberty-profile/config.yml +++ b/quickstarts/java/websphere-liberty-profile/config.yml @@ -35,6 +35,8 @@ keywords: - java - apm - language agent +installPlans: + - setup-java-agent dataSourceIds: - java documentation: @@ -45,4 +47,4 @@ documentation: dashboards: - websphere-liberty-profile alertPolicies: - - websphere-liberty-profile + - websphere-liberty-profile \ No newline at end of file diff --git a/quickstarts/java/websphere/config.yml b/quickstarts/java/websphere/config.yml index 759545a2f0..f4dcb744bf 100644 --- a/quickstarts/java/websphere/config.yml +++ b/quickstarts/java/websphere/config.yml @@ -24,6 +24,8 @@ keywords: - apm - java - language agent +installPlans: + - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/wildfly/config.yml b/quickstarts/java/wildfly/config.yml index 1e4e350edf..6e4a779ba1 100644 --- a/quickstarts/java/wildfly/config.yml +++ b/quickstarts/java/wildfly/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments WildFly with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments WildFly with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,6 +32,8 @@ keywords: - java - server - language agent +installPlans: + - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/jenkins/config.yml b/quickstarts/jenkins/config.yml index cee540a227..a1f86ac03a 100644 --- a/quickstarts/jenkins/config.yml +++ b/quickstarts/jenkins/config.yml @@ -17,14 +17,14 @@ description: |- Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/monitoring-jenkins-ot/) to learn more about New Relic monitoring for Jenkins. ### Tie software performance to recent changes and deployments with New Relic change tracking - + With [New Relic change tracking](https://newrelic.com/platform/change-tracking), engineers now have the context to quickly understand the impact of changes on a system's performance and quality---then take action to find and fix problems fast. - See deployments in context with errors, logs, traces, incidents, and more. - Correlate deployments and change events to shifts in golden signals, errors, log attributes, incidents, and other key metrics. - Automatically mark charts with change details and metadata from any source, including the [Jenkins](https://docs.newrelic.com/docs/change-tracking/ci-cd/change-tracking-jenkins/) plugin. Learn how to automatically record deployments with the brand new [GraphQL API](https://docs.newrelic.com/docs/change-tracking/change-tracking-graphql/), [New Relic CLI](https://docs.newrelic.com/docs/change-tracking/change-tracking-cli/), and third-party CI/CD sources in the [docs](https://docs.newrelic.com/docs/change-tracking/change-tracking-introduction/). - + # Displayed in search results and recommendations. Summarizes a quickstarts functionality. summary: | @@ -41,6 +41,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-jenkins-integration dataSourceIds: - otel-jenkins-integration dashboards: diff --git a/quickstarts/jfrog-platform/config.yml b/quickstarts/jfrog-platform/config.yml index 2ac84723c0..cb48405615 100644 --- a/quickstarts/jfrog-platform/config.yml +++ b/quickstarts/jfrog-platform/config.yml @@ -3,21 +3,21 @@ slug: jfrog-platform title: JFrog Software Supply Chain Platform description: | ## Why monitor the JFrog Platform - + The JFrog Platform is a leading universal end-to-end DevOps and DevSecOps platform for automating, managing, securing, distributing, orchestrating, monitoring, and optimizing your Cl/ CD pipeline. Monitor the JFrog Platform to get real-time insights about the health, performance, and security of your software supply chain. - + ### JFrog Platform quickstart highlights The integration surfaces critical platform logs, JFrog Xray violations data, and system performance data available through OpenMetrics as pre-built dashboards - Monitor the JFrom platform inside the convenient New Relic observability platform - - Utilizes Fluentd, an open source, lightweight log processor and forwarder - - Curated dashboards surface performance data, artifact usage, and security metrics for operations teams, DevSecOps teams, and business stakeholders. - + - Utilizes Fluentd, an open source, lightweight log processor and forwarder + - Curated dashboards surface performance data, artifact usage, and security metrics for operations teams, DevSecOps teams, and business stakeholders. + ### Quickstart benefits - **Faster and more reliable software delivery.** Monitor all your JFrog applications, artifacts, and dependencies in real time with pre-built dashboards to correlate performance alongside the rest of your telemetry data in a unified view. - **Better compliance and security.** Identify urgent vulnerabilities, identify malicious users, and deliver more secure software with less toil. - - **Improve software supply chain performance.** Proactively manage performance degradation and remediate issues and boost release velocity and quality. + - **Improve software supply chain performance.** Proactively manage performance degradation and remediate issues and boost release velocity and quality. summary: | Monitor your JFrog Artifactory and JFrog Xray environments for faster, more secure software delivery @@ -44,5 +44,7 @@ icon: icon.svg dashboards: - jfrog-artifactory - jfrog-xray +installPlans: + - third-party-jfrog-platform dataSourceIds: - jfrog-platform diff --git a/quickstarts/jira-errors/config.yml b/quickstarts/jira-errors/config.yml index defadd4c80..9a406381f7 100644 --- a/quickstarts/jira-errors/config.yml +++ b/quickstarts/jira-errors/config.yml @@ -19,6 +19,8 @@ keywords: - error tracking - newrelic partner - NR1_addData +installPlans: + - third-party-jira-errors-inbox dataSourceIds: - jira-errors-inbox documentation: diff --git a/quickstarts/jmx/config.yml b/quickstarts/jmx/config.yml index ec140edcac..ee42a1ba8a 100644 --- a/quickstarts/jmx/config.yml +++ b/quickstarts/jmx/config.yml @@ -31,6 +31,9 @@ documentation: Java technology that supplies tools for managing and monitoring applications, system objects, devices, and service-oriented networks. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/jmx-monitoring-integration/ +installPlans: + - infra-agent-targeted + - jmx-integration-docs dataSourceIds: - new-relic-infrastructure-agent - jmx diff --git a/quickstarts/kafka/config.yml b/quickstarts/kafka/config.yml index 23ba5373a0..5e0ed334ad 100644 --- a/quickstarts/kafka/config.yml +++ b/quickstarts/kafka/config.yml @@ -10,19 +10,19 @@ title: Kafka description: | ## Quickstart for Kafka monitoring - Kafka monitoring is important to track services running on multiple Kafka servers in real-time. Observe key metrics like CPU usage, memory, and consumer lag at a glance in a Kafka dashboard. + Kafka monitoring is important to track services running on multiple Kafka servers in real-time. Observe key metrics like CPU usage, memory, and consumer lag at a glance in a Kafka dashboard. ### Why monitoring kafka is so important Apache Kafka is a fault-tolerant, scalable messaging system used to build real-time data pipelines. Kafka also supports replications natively, and you can build streaming applications that run inside production environments. - Leveraging a Kafka monitoring tool to monitor data replication, retention, and issues like consumer lag is important. New Relic’s Kafka quickstart lets you look at performance metrics and inventory data, create your own custom charts and queries, and create alert policies. + Leveraging a Kafka monitoring tool to monitor data replication, retention, and issues like consumer lag is important. New Relic’s Kafka quickstart lets you look at performance metrics and inventory data, create your own custom charts and queries, and create alert policies. ### New Relic Kafka quickstart features [New Relic’s Kafka monitoring](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration/) tracks space and time retention, leverages replication alerts to uncover potential issues, and uses queries and a Kafka dashboard to explore them. - ### New Relic + Kafka quickstart + ### New Relic + Kafka quickstart New Relic’s performance monitoring provides instant observability out-of-the-box. This quickstart includes: @@ -34,7 +34,7 @@ description: | Provide total visibility into key performance metrics like the number of client requests and bytes served per second with New Relic’s Kafka monitoring and also track inventory data and metadata in real-time. - One of the key features of New Relic’s Kafka monitoring is that you can configure your retention settings by time and by space and set up real-time alerts. + One of the key features of New Relic’s Kafka monitoring is that you can configure your retention settings by time and by space and set up real-time alerts. Track key metrics like gauge, count, and summary as well with New Relic’s instant observability quickstart. Ensure that your infrastructure remains robust and running while averting potential data loss by monitoring Kafka brokers and Kafka producers. summary: | @@ -58,6 +58,10 @@ documentation: Distributed streaming platform built for scalability, fault-tolerance, and building real-time data pipelines and streaming applications. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration/ +installPlans: + - infra-agent-targeted + - kafka-integration-docs + dataSourceIds: - new-relic-infrastructure-agent - kafka diff --git a/quickstarts/kamon/config.yml b/quickstarts/kamon/config.yml index 3a8deb6b3f..bc0edfe359 100644 --- a/quickstarts/kamon/config.yml +++ b/quickstarts/kamon/config.yml @@ -15,6 +15,8 @@ level: New Relic authors: - New Relic title: Kamon +installPlans: + - third-party-kamon dataSourceIds: - kamon documentation: diff --git a/quickstarts/kentik/config.yml b/quickstarts/kentik/config.yml index 787dbbb111..aaaac1e9fa 100644 --- a/quickstarts/kentik/config.yml +++ b/quickstarts/kentik/config.yml @@ -32,6 +32,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-kentik-firehose dataSourceIds: - kentik documentation: diff --git a/quickstarts/kubernetes-prometheus/config.yml b/quickstarts/kubernetes-prometheus/config.yml index fb58994d84..9152e137e8 100644 --- a/quickstarts/kubernetes-prometheus/config.yml +++ b/quickstarts/kubernetes-prometheus/config.yml @@ -4,23 +4,23 @@ title: Kubernetes (Prometheus) description: | ## What is Kubernetes? Kubernetes is an open-source system for automating deployment, scaling, and, management of containerized applications. The New Relic Kubernetes (Prometheus) monitoring quickstart utilizes Prometheus to give you visibility into your Kubernetes clusters and workloads in minutes, whether your clusters are hosted on-premises or in the cloud. - Follow the instructions [here](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) to install the New Relic Kubernetes integration. + Follow the instructions [here](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) to install the New Relic Kubernetes integration. - ## What is Prometheus? - Prometheus is an open-source monitoring and alerting toolkit. + ## What is Prometheus? + Prometheus is an open-source monitoring and alerting toolkit. ### Kubernetes (Prometheus) quickstart highlights The New Relic Prometheus quickstart for Kubernetes utilizes the [New Relic Prometheus agent](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to build dashboards that allow you to proactively monitor your metrics, like: - - memory and cpu utilization - - running pods and containers - - kubelet pod start metrics - - compute resources by pod, node, cluster, and namespace and more. + - memory and cpu utilization + - running pods and containers + - kubelet pod start metrics + - compute resources by pod, node, cluster, and namespace and more. ### Requirements - - Follow the instructions [here](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to install the New Relic Prometheus agent. - - **The default installation of the New Relic Prometheus configurator does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions [here](https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md) to enable those metrics. + - Follow the instructions [here](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to install the New Relic Prometheus agent. + - **The default installation of the New Relic Prometheus configurator does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions [here](https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md) to enable those metrics. summary: | - Monitoring Kubernetes is crucial to gain instant visibility into Kubernetes clusters and workloads. + Monitoring Kubernetes is crucial to gain instant visibility into Kubernetes clusters and workloads. Prometheus' ability to monitor a wide variety of data necessitates monitoring the toolkit itself. New Relic helps store, manage, and view telemetry data from your Prometheus setup, relieving you of a significant operational burden. Download the New Relic Kubernetes (Prometheus) quickstart to proactively monitor Kubernetes cluster health and capacity. level: Community @@ -33,12 +33,14 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/ - name: Kubernetes Prometheus agent REQUIRED configuration description: | - The default installation of the New Relic Prometheus agent does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions here to enable those metrics. + The default installation of the New Relic Prometheus agent does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions here to enable those metrics. url: https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md - name: Kubernetes integration description: | - The New Relic Kubernetes integration has multiple components that work together to give you end-to-end observability across your clusters. While you have the flexibility to deploy the components that you prefer, to achieve full observability, you need to install the complete package to monitor all metrics. + The New Relic Kubernetes integration has multiple components that work together to give you end-to-end observability across your clusters. While you have the flexibility to deploy the components that you prefer, to achieve full observability, you need to install the complete package to monitor all metrics. url: https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/ +installPlans: + - setup-prometheus-agent-mode dataSourceIds: - prometheus-agent-mode keywords: diff --git a/quickstarts/kubernetes/azure-kubernetes-service/config.yml b/quickstarts/kubernetes/azure-kubernetes-service/config.yml index ef44009ed1..09b19b114d 100644 --- a/quickstarts/kubernetes/azure-kubernetes-service/config.yml +++ b/quickstarts/kubernetes/azure-kubernetes-service/config.yml @@ -26,6 +26,8 @@ keywords: - aks - NR1_addData - NR1_sys +installPlans: + - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/kubernetes/google-kubernetes-engine/config.yml b/quickstarts/kubernetes/google-kubernetes-engine/config.yml index 557956da9f..d214f1fa26 100644 --- a/quickstarts/kubernetes/google-kubernetes-engine/config.yml +++ b/quickstarts/kubernetes/google-kubernetes-engine/config.yml @@ -24,6 +24,8 @@ keywords: - containers - k8s - google +installPlans: + - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/kubernetes/kubernetes/config.yml b/quickstarts/kubernetes/kubernetes/config.yml index 3be2d50d47..4590c0f7a4 100644 --- a/quickstarts/kubernetes/kubernetes/config.yml +++ b/quickstarts/kubernetes/kubernetes/config.yml @@ -50,6 +50,8 @@ keywords: - containers - pixie - k8s +installPlans: + - kubernetes-install dataSourceIds: - kubernetes diff --git a/quickstarts/kubernetes/nginx/config.yml b/quickstarts/kubernetes/nginx/config.yml index 1c4c3cf35b..0c55e6340e 100644 --- a/quickstarts/kubernetes/nginx/config.yml +++ b/quickstarts/kubernetes/nginx/config.yml @@ -33,6 +33,9 @@ keywords: - config - NR1_addData - NR1_sys +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/lacework/config.yml b/quickstarts/lacework/config.yml index b7e9636a4a..46253d17fd 100644 --- a/quickstarts/lacework/config.yml +++ b/quickstarts/lacework/config.yml @@ -8,9 +8,9 @@ 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. - + 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 @@ -30,6 +30,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-lacework-integration dataSourceIds: - lacework dashboards: diff --git a/quickstarts/lamp/config.yml b/quickstarts/lamp/config.yml index dfa8c05140..4c26e8e690 100644 --- a/quickstarts/lamp/config.yml +++ b/quickstarts/lamp/config.yml @@ -12,6 +12,10 @@ level: New Relic authors: - New Relic - Stijn Polfliet +installPlans: + - mysql-integration + - apache-integration + - php-agent dataSourceIds: - mysql - apache diff --git a/quickstarts/lampy/config.yml b/quickstarts/lampy/config.yml index b32aa9cdca..ac87f54756 100644 --- a/quickstarts/lampy/config.yml +++ b/quickstarts/lampy/config.yml @@ -10,19 +10,19 @@ summary: | With New Relic LAMPy integration, you can monitor your apps, infrastructure, web servers, databases, and databases, using Linux, Apache, MySQL, and Python agents. # Description of the quickstart description: | - ## Comprehensive LAMPy stack monitoring system: - LAMPy is a free, open source software stack used for building web sites and applications. LAMPy is an acronym for the operating system (Linux), the webserver (Apache), the database server (MySQL), and the programming language (Python). - ## What should you look for in a LAMPy dashboard? - - Linux: CPU usage, total memory usage, disk usage, etc - - Apache: Requests per second, bytes per second, workers status, etc - - MySQL: Operations per second, InnoDB read & writes, etc - - Python: Throughput, transaction overview, WSGI, etc - - In addition, you are free to create your own charts using the stored metrics - ## What’s included in the LAMPy quickstart? - This quickstart includes the following preconfigured observability solutions: - - Application metrics with your server’s primary health metrics, like CPU usage, memory, disk usage and more - - Multiple high-value alerts including latest number of questions per second, error transactions percentage, memory usage and CPU utilization - - Informative dashboards (Busy worker status, operations, InnoDB read and write, etc) + ## Comprehensive LAMPy stack monitoring system: + LAMPy is a free, open source software stack used for building web sites and applications. LAMPy is an acronym for the operating system (Linux), the webserver (Apache), the database server (MySQL), and the programming language (Python). + ## What should you look for in a LAMPy dashboard? + - Linux: CPU usage, total memory usage, disk usage, etc + - Apache: Requests per second, bytes per second, workers status, etc + - MySQL: Operations per second, InnoDB read & writes, etc + - Python: Throughput, transaction overview, WSGI, etc + - In addition, you are free to create your own charts using the stored metrics + ## What’s included in the LAMPy quickstart? + This quickstart includes the following preconfigured observability solutions: + - Application metrics with your server’s primary health metrics, like CPU usage, memory, disk usage and more + - Multiple high-value alerts including latest number of questions per second, error transactions percentage, memory usage and CPU utilization + - Informative dashboards (Busy worker status, operations, InnoDB read and write, etc) # The logo of the quickstart icon: logo.png @@ -35,6 +35,11 @@ authors: - New Relic - Ramana Reddy +installPlans: + - apache-integration + - mysql-integration + - setup-python-agent + keywords: - LAMPy - linux diff --git a/quickstarts/launchdarkly/config.yml b/quickstarts/launchdarkly/config.yml index eb9b92f2ac..7e0247036c 100644 --- a/quickstarts/launchdarkly/config.yml +++ b/quickstarts/launchdarkly/config.yml @@ -21,5 +21,7 @@ keywords: - testing - NR1_addData - NR1_sys +installPlans: + - third-party-launchdarkly dataSourceIds: - launchdarkly diff --git a/quickstarts/lighthouse/config.yml b/quickstarts/lighthouse/config.yml index 032b68620d..03232e9001 100644 --- a/quickstarts/lighthouse/config.yml +++ b/quickstarts/lighthouse/config.yml @@ -7,6 +7,8 @@ level: New Relic authors: - New Relic title: Lighthouse +installPlans: + - third-party-lighthouse dataSourceIds: - lighthouse documentation: diff --git a/quickstarts/linux/config.yml b/quickstarts/linux/config.yml index 7cd8d0e66c..910ab8b123 100644 --- a/quickstarts/linux/config.yml +++ b/quickstarts/linux/config.yml @@ -25,6 +25,8 @@ keywords: - os - operating system - featured +installPlans: + - guided-install dataSourceIds: - guided-install dashboards: diff --git a/quickstarts/logstash-plugin-for-logs/config.yml b/quickstarts/logstash-plugin-for-logs/config.yml index bd152d5dd7..5e2ca08bd6 100644 --- a/quickstarts/logstash-plugin-for-logs/config.yml +++ b/quickstarts/logstash-plugin-for-logs/config.yml @@ -11,6 +11,8 @@ level: New Relic authors: - New Relic title: Logstash plugin for Logs +installPlans: + - third-party-logstash-plugin-for-logs dataSourceIds: - logstash documentation: diff --git a/quickstarts/macos/config.yml b/quickstarts/macos/config.yml index beab26e4a6..61c2e275f7 100644 --- a/quickstarts/macos/config.yml +++ b/quickstarts/macos/config.yml @@ -24,6 +24,8 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure +installPlans: + - guided-install dataSourceIds: - guided-install icon: logo.png diff --git a/quickstarts/mariadb/config.yml b/quickstarts/mariadb/config.yml index b0533d34e0..e420aa76bc 100644 --- a/quickstarts/mariadb/config.yml +++ b/quickstarts/mariadb/config.yml @@ -23,6 +23,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - mysql-integration dataSourceIds: - mysql dashboards: diff --git a/quickstarts/memcached/config.yml b/quickstarts/memcached/config.yml index f666bb23ac..fc6f786dc5 100644 --- a/quickstarts/memcached/config.yml +++ b/quickstarts/memcached/config.yml @@ -17,6 +17,8 @@ documentation: description: | Open-source distributed memory caching system to reduce the number of calls to external databases or APIs. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/memcached-monitoring-integration/ +installPlans: + - memcached-integration dataSourceIds: - memcached keywords: diff --git a/quickstarts/micrometer/config.yml b/quickstarts/micrometer/config.yml index 670492842f..d044cc2171 100644 --- a/quickstarts/micrometer/config.yml +++ b/quickstarts/micrometer/config.yml @@ -16,6 +16,8 @@ level: New Relic authors: - New Relic title: Micrometer +installPlans: + - third-party-micrometer dataSourceIds: - micrometer documentation: diff --git a/quickstarts/mlops/aporia/config.yml b/quickstarts/mlops/aporia/config.yml index fc9e8ca19e..40eae7e56e 100644 --- a/quickstarts/mlops/aporia/config.yml +++ b/quickstarts/mlops/aporia/config.yml @@ -30,6 +30,8 @@ keywords: - model-ops - explainability - newrelic partner +installPlans: + - aporia-mlops dataSourceIds: - aporia documentation: diff --git a/quickstarts/mlops/bring-your-own/config.yml b/quickstarts/mlops/bring-your-own/config.yml index a5a0bd42aa..97a4c0bdf5 100644 --- a/quickstarts/mlops/bring-your-own/config.yml +++ b/quickstarts/mlops/bring-your-own/config.yml @@ -14,6 +14,8 @@ keywords: - ai - bring-your-own - machine-learning +installPlans: + - third-party-mlops-bring-your-own dataSourceIds: - bring-your-own-data documentation: diff --git a/quickstarts/mlops/comet/config.yml b/quickstarts/mlops/comet/config.yml index 6b86eaf299..b306f38148 100644 --- a/quickstarts/mlops/comet/config.yml +++ b/quickstarts/mlops/comet/config.yml @@ -21,6 +21,8 @@ keywords: - monitoring - data monitoring - newrelic partner +installPlans: + - comet-mlops dataSourceIds: - comet documentation: diff --git a/quickstarts/mlops/dagshub/config.yml b/quickstarts/mlops/dagshub/config.yml index 2f879863a0..ddfae4b50b 100644 --- a/quickstarts/mlops/dagshub/config.yml +++ b/quickstarts/mlops/dagshub/config.yml @@ -15,6 +15,8 @@ keywords: - dagshub - machine-learning - newrelic partner +installPlans: + - dagshub-mlops dataSourceIds: - dagshub documentation: diff --git a/quickstarts/mlops/mona/config.yml b/quickstarts/mlops/mona/config.yml index aff03ad3d5..a8308d9edd 100644 --- a/quickstarts/mlops/mona/config.yml +++ b/quickstarts/mlops/mona/config.yml @@ -20,6 +20,8 @@ keywords: - integrity - data integrity - newrelic partner +installPlans: + - monalabs-mlops dataSourceIds: - mona documentation: diff --git a/quickstarts/mlops/truera/config.yml b/quickstarts/mlops/truera/config.yml index 1eb8462792..a5cf3bb057 100644 --- a/quickstarts/mlops/truera/config.yml +++ b/quickstarts/mlops/truera/config.yml @@ -21,6 +21,8 @@ keywords: - explanability - truera - newrelic partner +installPlans: + - truera-mlops dataSourceIds: - truera documentation: diff --git a/quickstarts/mobile-crash-analytics/config.yml b/quickstarts/mobile-crash-analytics/config.yml index 31807db382..8c06879500 100644 --- a/quickstarts/mobile-crash-analytics/config.yml +++ b/quickstarts/mobile-crash-analytics/config.yml @@ -4,13 +4,13 @@ title: Mobile Crash Analytics description: | ## Crash Analytics Monitoring Quickstart - Get deeper insights into the mobile application crash frequency, affected versions, crash impact on users. + Get deeper insights into the mobile application crash frequency, affected versions, crash impact on users. - Receive details about the last interactions before crash. + Receive details about the last interactions before crash. - Help page on the dashboard will guide you on how to enable data filtering. + Help page on the dashboard will guide you on how to enable data filtering. summary: | - Real time mobile application crash & network analysis to ensure ongoing reliability and performance. + Real time mobile application crash & network analysis to ensure ongoing reliability and performance. level: Community icon: icon.png authors: @@ -41,6 +41,8 @@ documentation: description: How to set up alerts for your mobile app dashboards: - mobile-crash-analytics +installPlans: + - mobile-dashboard-install dataSourceIds: - mobile-getting-started alertPolicies: diff --git a/quickstarts/mobile-network-performance/config.yml b/quickstarts/mobile-network-performance/config.yml index 934f41a1ac..8fc2100276 100644 --- a/quickstarts/mobile-network-performance/config.yml +++ b/quickstarts/mobile-network-performance/config.yml @@ -6,9 +6,9 @@ title: Mobile Network Performance description: | ## Network performance Quickstart - Get deeper insights into the networking details from your mobile application perspective. + Get deeper insights into the networking details from your mobile application perspective. - Receive details about the HTTP errors, Network failure, HTTP Request data, type of network errors. + Receive details about the HTTP errors, Network failure, HTTP Request data, type of network errors. Help page on the dashboard will guide you on how to enable data filtering. @@ -45,5 +45,7 @@ documentation: dashboards: - mobile-network-performance +installPlans: + - mobile-network-performance-install dataSourceIds: - mobile-network-performance-install diff --git a/quickstarts/mobile/config.yml b/quickstarts/mobile/config.yml index f6ee606f31..75fbf6af3e 100644 --- a/quickstarts/mobile/config.yml +++ b/quickstarts/mobile/config.yml @@ -32,6 +32,8 @@ documentation: icon: icon.png dashboards: - mobile +installPlans: + - mobile-dashboard-install dataSourceIds: - mobile-getting-started alertPolicies: diff --git a/quickstarts/mongodb/config.yml b/quickstarts/mongodb/config.yml index 601658779b..0d490e2176 100644 --- a/quickstarts/mongodb/config.yml +++ b/quickstarts/mongodb/config.yml @@ -4,11 +4,11 @@ title: MongoDB description: | ## MongoDB Monitoring - MongoDB enables the unlimited virtual scaling of applications. Utilities like mongostat and mongotop offer immediate results but fail to provide insights into trends in a highly graphical visual dashboard. MongoDB dashboards provide insights into key metrics like RAM usage, operations per second, page fault, disk size, lock %, and app and database performance at a glance. + MongoDB enables the unlimited virtual scaling of applications. Utilities like mongostat and mongotop offer immediate results but fail to provide insights into trends in a highly graphical visual dashboard. MongoDB dashboards provide insights into key metrics like RAM usage, operations per second, page fault, disk size, lock %, and app and database performance at a glance. - Avoid slow queries with proper indexes that impact performance. Instantly monitor your entire MongoDB database with our instant observability kit or the MongoDB free monitoring tool. + Avoid slow queries with proper indexes that impact performance. Instantly monitor your entire MongoDB database with our instant observability kit or the MongoDB free monitoring tool. - The critical differences between MongoDB free monitoring and monitoring MongoDB with New Relic’s instant observability quickstart are efficiency, usability, scope, and cost. MongoDB free monitoring focuses on standalone instances and replica sets. Data collected on disk utilization, memory, and operation execution times are uploaded periodically. + The critical differences between MongoDB free monitoring and monitoring MongoDB with New Relic’s instant observability quickstart are efficiency, usability, scope, and cost. MongoDB free monitoring focuses on standalone instances and replica sets. Data collected on disk utilization, memory, and operation execution times are uploaded periodically. ### What’s Included? @@ -16,9 +16,9 @@ description: | New Relic + MongoDB quickstart - New Relic’s instant observability quickstart provides multiple monitoring parameters like operations per second, transactions, and queries by default (with Nagios, you must configure each parameter). New Relic’s MongoDB quickstart contains multiple dashboards, including: - - Total Commands, failed commands per second, bytes in & out per second, available connections, and more. + - Total Commands, failed commands per second, bytes in & out per second, available connections, and more. - Monitor MongoDB with New Relic to quickly gain improved distribution and increased visibility into real-time user and app response times, throughput and breakdown by component and layer, and long-term data trends over time. + Monitor MongoDB with New Relic to quickly gain improved distribution and increased visibility into real-time user and app response times, throughput and breakdown by component and layer, and long-term data trends over time. ### Value of MongoDB Quickstarts @@ -41,6 +41,8 @@ documentation: description: | Open source, document-oriented database where you store data in JSON-like files with dynamic schemas. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mongodb-monitoring-integration/ +installPlans: + - mongodb-integration dataSourceIds: - mongodb keywords: diff --git a/quickstarts/mssql/config.yml b/quickstarts/mssql/config.yml index ed9baa9d67..fe436e0a8f 100644 --- a/quickstarts/mssql/config.yml +++ b/quickstarts/mssql/config.yml @@ -20,5 +20,7 @@ documentation: keywords: - infrastructure - database +installPlans: + - microsoft-sql-server-integration dataSourceIds: - microsoft-sql-server diff --git a/quickstarts/mysql/config.yml b/quickstarts/mysql/config.yml index 7668334d14..69b7650c99 100644 --- a/quickstarts/mysql/config.yml +++ b/quickstarts/mysql/config.yml @@ -4,9 +4,9 @@ title: MySQL description: |+ ## MySQL monitoring quickstart - Applications powered by relational database management systems demand the user to understand how the application uses it. Quickly identify and resolve the source server issues with [MySQL performance monitoring tools](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/). + Applications powered by relational database management systems demand the user to understand how the application uses it. Quickly identify and resolve the source server issues with [MySQL performance monitoring tools](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/). - Identify query optimization metrics and more within a single New Relic MySQL dashboard and ensure the highest application performance with this approach. + Identify query optimization metrics and more within a single New Relic MySQL dashboard and ensure the highest application performance with this approach. ### MySQL monitoring @@ -14,7 +14,7 @@ description: |+ ### New Relic + MySQL - your ideal tool for better monitoring - Install this quickstart to access pre-configured observability solutions. Unlike other performance monitoring tools, New Relic is a powerful proactive remote monitoring solution that provides a comprehensive view from a single MySQL dashboard. + Install this quickstart to access pre-configured observability solutions. Unlike other performance monitoring tools, New Relic is a powerful proactive remote monitoring solution that provides a comprehensive view from a single MySQL dashboard. ### What’s included? @@ -42,6 +42,8 @@ documentation: description: | Open source relational database with more than 20 years of community development and support. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/ +installPlans: + - mysql-integration dataSourceIds: - mysql keywords: diff --git a/quickstarts/nagios/config.yml b/quickstarts/nagios/config.yml index 41228e9a4d..73d6ef579c 100644 --- a/quickstarts/nagios/config.yml +++ b/quickstarts/nagios/config.yml @@ -16,6 +16,8 @@ documentation: description: | Nagios is a free and open-source computer-software application that monitors systems, networks and infrastructure. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/nagios-monitoring-integration/ +installPlans: + - nagios-integration dataSourceIds: - nagios keywords: diff --git a/quickstarts/netlify/netlify-builds/config.yml b/quickstarts/netlify/netlify-builds/config.yml index 87381860d9..e066d719a4 100644 --- a/quickstarts/netlify/netlify-builds/config.yml +++ b/quickstarts/netlify/netlify-builds/config.yml @@ -36,6 +36,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-netlify dataSourceIds: - netlify-builds documentation: diff --git a/quickstarts/netlify/netlify-logs/config.yml b/quickstarts/netlify/netlify-logs/config.yml index 99cdf5b984..ebb8bf0a73 100644 --- a/quickstarts/netlify/netlify-logs/config.yml +++ b/quickstarts/netlify/netlify-logs/config.yml @@ -6,14 +6,14 @@ description: | ### Netlify Logs quickstart highlights - The Netlify Logs quickstart is the fastest way to explore and visualize data from traffic and function logs provided by [Netlify log drains](https://docs.netlify.com/monitor-sites/log-drains/). + The Netlify Logs quickstart is the fastest way to explore and visualize data from traffic and function logs provided by [Netlify log drains](https://docs.netlify.com/monitor-sites/log-drains/). With this quickstart, you can easily understand: - Changes in your sites' traffic over time - Percentage of successful requests, warnings, and errors - Requests by status - - Average duration of requests + - Average duration of requests - Changes in Functions utilization over time - Number of successful Function Invocations, warnings, and errors - Number of Function Invocations over time @@ -43,6 +43,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-netlify-logs dataSourceIds: - netlify-logs documentation: diff --git a/quickstarts/network-monitoring/arista-switches/config.yml b/quickstarts/network-monitoring/arista-switches/config.yml index 688b476ea8..c549318f77 100644 --- a/quickstarts/network-monitoring/arista-switches/config.yml +++ b/quickstarts/network-monitoring/arista-switches/config.yml @@ -26,6 +26,8 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. +installPlans: + - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/bgpNeighbor/config.yml b/quickstarts/network-monitoring/bgpNeighbor/config.yml index df0486f5ae..6a97891287 100644 --- a/quickstarts/network-monitoring/bgpNeighbor/config.yml +++ b/quickstarts/network-monitoring/bgpNeighbor/config.yml @@ -22,6 +22,8 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. +installPlans: + - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml b/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml index 0a94800dec..4485180f0b 100644 --- a/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml +++ b/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml @@ -26,6 +26,8 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. +installPlans: + - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/ciscoHardware/config.yml b/quickstarts/network-monitoring/ciscoHardware/config.yml index da20fab4b7..4d1e1c485f 100644 --- a/quickstarts/network-monitoring/ciscoHardware/config.yml +++ b/quickstarts/network-monitoring/ciscoHardware/config.yml @@ -21,6 +21,8 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/get-started/npm-introduction/ description: | Learn about deploying ktranslate to monitor SNMP based devices. +installPlans: + - network-cisco-hardware dataSourceIds: - kentik icon: logo.svg diff --git a/quickstarts/network-monitoring/network-routers-and-switches/config.yml b/quickstarts/network-monitoring/network-routers-and-switches/config.yml index 7d1b8342c2..ec79eb6a2d 100644 --- a/quickstarts/network-monitoring/network-routers-and-switches/config.yml +++ b/quickstarts/network-monitoring/network-routers-and-switches/config.yml @@ -28,6 +28,8 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. +installPlans: + - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/network-syslog/config.yml b/quickstarts/network-monitoring/network-syslog/config.yml index d68584bcf6..f302f519f4 100644 --- a/quickstarts/network-monitoring/network-syslog/config.yml +++ b/quickstarts/network-monitoring/network-syslog/config.yml @@ -26,6 +26,8 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/network-syslog-monitoring/ description: | Install Network Monitoring for syslog collection using a simple Docker container. +installPlans: + - network-syslog dataSourceIds: - network-syslog icon: logo.svg diff --git a/quickstarts/nextcloud/config.yml b/quickstarts/nextcloud/config.yml index b7c06d4e42..4d1047ac8c 100644 --- a/quickstarts/nextcloud/config.yml +++ b/quickstarts/nextcloud/config.yml @@ -3,20 +3,20 @@ slug: nextcloud description: | ## Comprehensive monitoring for your Nextcloud server Empower yourself with New Relic's cutting-edge Nextcloud monitoring system and gain complete control over the health of your platform. Stay ahead of the curve by monitoring your Nextcloud in real-time, connecting the dots between transactions across your application environment, and swiftly troubleshoot any issues that arise with ease. - + ## Why monitor Nextcloud? - + ### Solve login problems - Users may experience issues with logging into their Nextcloud accounts, such as incorrect login credentials or connection errors. + Users may experience issues with logging into their Nextcloud accounts, such as incorrect login credentials or connection errors. ### Quickly identify performance issues - Nextcloud can become slow or unresponsive, especially if the server is running low on resources or if the network connection is slow. + Nextcloud can become slow or unresponsive, especially if the server is running low on resources or if the network connection is slow. ### Identify storage limitations - Nextcloud can experience storage limitations if the server's disk space is running low, or if there are issues with the underlying storage infrastructure. + Nextcloud can experience storage limitations if the server's disk space is running low, or if there are issues with the underlying storage infrastructure. ### Catch file syncing issues - Users may experience issues with file syncing, such as conflict errors or delayed updates, which can result in data loss or corruption. + Users may experience issues with file syncing, such as conflict errors or delayed updates, which can result in data loss or corruption. ### What’s included? @@ -24,7 +24,7 @@ description: | - Be alerted on things like excessive heap memory usage and scrape errors. - Use dashboards to monitor crucial performance metrics, such as uptime, free space, total active users, and more. - Enable your Nextcloud admins to keep track of the status and operation of your server installations. - + summary: | Achieve greater control over your productivity with our self-hosted platform. Stay on top of the performance of your server and ensure the optimal functioning of your system by monitoring it through our Infrastructure agent and utilizing the powerful integration with Prometheus open metrics. @@ -33,6 +33,8 @@ icon: logo.png authors: - New Relic title: Nextcloud +installPlans: + - nextcloud dataSourceIds: - nextcloud dashboards: diff --git a/quickstarts/nginx/config.yml b/quickstarts/nginx/config.yml index 0e53625617..5dbdb767a4 100644 --- a/quickstarts/nginx/config.yml +++ b/quickstarts/nginx/config.yml @@ -32,6 +32,8 @@ documentation: description: | Web server which can also be used as a reverse proxy, load balancer, mail proxy, and HTTP cache. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/nginx-monitoring-integration/ +installPlans: + - nginx-integration dataSourceIds: - nginx keywords: diff --git a/quickstarts/node-exporter/config.yml b/quickstarts/node-exporter/config.yml index 9d4306b4bb..18a020e302 100644 --- a/quickstarts/node-exporter/config.yml +++ b/quickstarts/node-exporter/config.yml @@ -39,6 +39,8 @@ keywords: - network - NR1_addData - NR1_sys +installPlans: + - setup-prometheus dataSourceIds: - prometheus documentation: diff --git a/quickstarts/node-js/express/config.yml b/quickstarts/node-js/express/config.yml index b01bcc7113..0d028e2fd3 100644 --- a/quickstarts/node-js/express/config.yml +++ b/quickstarts/node-js/express/config.yml @@ -31,6 +31,8 @@ keywords: - apm - node.js - language agent +installPlans: + - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/hapi/config.yml b/quickstarts/node-js/hapi/config.yml index a4bcd87552..83eeb5a5ba 100644 --- a/quickstarts/node-js/hapi/config.yml +++ b/quickstarts/node-js/hapi/config.yml @@ -33,6 +33,8 @@ keywords: - apm - node.js - language agent +installPlans: + - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/koa/config.yml b/quickstarts/node-js/koa/config.yml index a00de89cd7..15dcbce98e 100644 --- a/quickstarts/node-js/koa/config.yml +++ b/quickstarts/node-js/koa/config.yml @@ -31,6 +31,8 @@ keywords: - apm - node.js - language agent +installPlans: + - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/node-js/config.yml b/quickstarts/node-js/node-js/config.yml index 4766f0fb16..b41f2d60c7 100644 --- a/quickstarts/node-js/node-js/config.yml +++ b/quickstarts/node-js/node-js/config.yml @@ -3,17 +3,17 @@ slug: node-js description: | ## The comprehensive Node.js monitoring system - Node.js is an open-source platform built on Chrome's JavaScript runtime used to develop fast and scalable applications quickly with an event-driven, non-blocking input/output architecture. + Node.js is an open-source platform built on Chrome's JavaScript runtime used to develop fast and scalable applications quickly with an event-driven, non-blocking input/output architecture. However, these attributes can be inconvenient because verifying the correctness of an application with asynchronous nested callbacks is complex. So, it’s important to watch executing Node.js systems closely. Monitoring your Node.js applications ensures optimal performance, allows the maximization of system availability, and ensures that a system’s health is well maintained. - ### What should you look for in a Node.js dashboard? + ### What should you look for in a Node.js dashboard? - A [reliable Node.js network monitor](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/) must provide enough information to identify the problem sources. Some crucial information includes process ID, log management, request rate, application availability, resource usage, uptime, downtime, system health, error rates and handling, number of connections, load average, and latency. + A [reliable Node.js network monitor](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/) must provide enough information to identify the problem sources. Some crucial information includes process ID, log management, request rate, application availability, resource usage, uptime, downtime, system health, error rates and handling, number of connections, load average, and latency. ### What’s included in the Node.js quickstart? - Install this quickstart to install preconfigured observability solutions: + Install this quickstart to install preconfigured observability solutions: - Multiple high-value alerts, including Apdex score and CPU utilization - Informative dashboards (Slowest transactions, throughput comparisons, and more) @@ -41,6 +41,8 @@ keywords: - node - language agent - most popular +installPlans: + - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/restify/config.yml b/quickstarts/node-js/restify/config.yml index 0a2d5f84be..c27abccddd 100644 --- a/quickstarts/node-js/restify/config.yml +++ b/quickstarts/node-js/restify/config.yml @@ -31,6 +31,8 @@ keywords: - apm - node.js - language agent +installPlans: + - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/typescript/config.yml b/quickstarts/node-js/typescript/config.yml index c6460c6ae2..3997e11405 100644 --- a/quickstarts/node-js/typescript/config.yml +++ b/quickstarts/node-js/typescript/config.yml @@ -37,6 +37,8 @@ keywords: - node.js - typescript - language agent +installPlans: + - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/observability-as-code/ansible/config.yml b/quickstarts/observability-as-code/ansible/config.yml index ccca778760..e8b4e34c0a 100644 --- a/quickstarts/observability-as-code/ansible/config.yml +++ b/quickstarts/observability-as-code/ansible/config.yml @@ -24,6 +24,8 @@ keywords: - devops - sre - gitops +installPlans: + - third-party-ansible dataSourceIds: - ansible-install documentation: diff --git a/quickstarts/observability-as-code/chef/config.yml b/quickstarts/observability-as-code/chef/config.yml index 7eae0095ae..2cd5057689 100644 --- a/quickstarts/observability-as-code/chef/config.yml +++ b/quickstarts/observability-as-code/chef/config.yml @@ -22,6 +22,8 @@ keywords: - devops - sre - gitops +installPlans: + - third-party-chef dataSourceIds: - chef-install documentation: diff --git a/quickstarts/observability-as-code/cli/config.yml b/quickstarts/observability-as-code/cli/config.yml index c18912c4d2..770311e14a 100644 --- a/quickstarts/observability-as-code/cli/config.yml +++ b/quickstarts/observability-as-code/cli/config.yml @@ -15,6 +15,8 @@ documentation: description: | This guide walks you through the essentials of New Relic CLI, from install and configuration to basic usage. url: https://developer.newrelic.com/automate-workflows/get-started-new-relic-cli/ +installPlans: + - third-party-newrelic-cli dataSourceIds: - newrelic-cli keywords: diff --git a/quickstarts/observability-as-code/pulumi/config.yml b/quickstarts/observability-as-code/pulumi/config.yml index c62ec5f2f2..0e3da6b5b1 100644 --- a/quickstarts/observability-as-code/pulumi/config.yml +++ b/quickstarts/observability-as-code/pulumi/config.yml @@ -23,6 +23,8 @@ keywords: - gitops - NR1_addData - NR1_sys +installPlans: + - third-party-pulumi dataSourceIds: - pulumi documentation: diff --git a/quickstarts/observability-as-code/puppet/config.yml b/quickstarts/observability-as-code/puppet/config.yml index 65609dc6bf..341f93472a 100644 --- a/quickstarts/observability-as-code/puppet/config.yml +++ b/quickstarts/observability-as-code/puppet/config.yml @@ -20,6 +20,8 @@ keywords: - devops - sre - gitops +installPlans: + - third-party-puppet dataSourceIds: - puppet-install documentation: diff --git a/quickstarts/observability-as-code/terraform/config.yml b/quickstarts/observability-as-code/terraform/config.yml index e50601ff05..ddfd35add7 100644 --- a/quickstarts/observability-as-code/terraform/config.yml +++ b/quickstarts/observability-as-code/terraform/config.yml @@ -21,6 +21,8 @@ keywords: - devops - sre - gitops +installPlans: + - third-party-terraform dataSourceIds: - terraform documentation: diff --git a/quickstarts/okhttp/config.yml b/quickstarts/okhttp/config.yml index eaced1b3c5..99cc9cc33f 100644 --- a/quickstarts/okhttp/config.yml +++ b/quickstarts/okhttp/config.yml @@ -11,6 +11,8 @@ level: New Relic authors: - New Relic title: OKHTTP +installPlans: + - third-party-okhttp dataSourceIds: - okhttp documentation: diff --git a/quickstarts/oma-aqm/config.yml b/quickstarts/oma-aqm/config.yml index 0f62e7230a..2e7ac8678f 100644 --- a/quickstarts/oma-aqm/config.yml +++ b/quickstarts/oma-aqm/config.yml @@ -22,6 +22,8 @@ documentation: url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/uptime-performance-reliability/aqm-implementation-guide/ description: | The implementation guide will show you how to implement the AQM process, including the webhook required to generate the data that feeds this dashboard. +installPlans: + - third-party-alert-quality-management dataSourceIds: - alert-quality-management icon: logo.png diff --git a/quickstarts/oma-bofu/config.yml b/quickstarts/oma-bofu/config.yml index 194cfa4884..711f4bb0f9 100644 --- a/quickstarts/oma-bofu/config.yml +++ b/quickstarts/oma-bofu/config.yml @@ -2,11 +2,11 @@ id: 8d339aa7-69e3-4efa-abc2-9eba600db91c slug: customer-experience-bottom-funnel-analysis title: Customer Experience Bottom of the funnel analysis description: | - Bottom of the funnel analysis uses cart abandonment reduction techniques and applies them to any user journey where conversion (completing the user journey) matters. + Bottom of the funnel analysis uses cart abandonment reduction techniques and applies them to any user journey where conversion (completing the user journey) matters. For more information view the [implementation guide](https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/bottom-funnel-analysis-customer-journey-guide) summary: | - Use cart abandonment reduction techniques to improve completion rates of any user journey + Use cart abandonment reduction techniques to improve completion rates of any user journey level: New Relic authors: - Kim Hickey @@ -30,6 +30,8 @@ documentation: description: | Explains what bottom of the funnel analysis is and how to apply it url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/bottom-funnel-analysis-customer-journey-guide +installPlans: + - third-party-customer-experience-bottom-funnel-analysis dataSourceIds: - customer-experience-bottom-funnel-analysis icon: logo.svg diff --git a/quickstarts/oma-data-gov/config.yml b/quickstarts/oma-data-gov/config.yml index c2b9166ef9..6114b2b229 100644 --- a/quickstarts/oma-data-gov/config.yml +++ b/quickstarts/oma-data-gov/config.yml @@ -14,6 +14,8 @@ keywords: - Data Governance - Data Consumption - Manage Data Ingest +installPlans: + - solutions-hub-dashboards dataSourceIds: - solutions-hub-dashboards documentation: diff --git a/quickstarts/oma-qf/config.yml b/quickstarts/oma-qf/config.yml index c8cc1c772d..f1a2a2fde4 100644 --- a/quickstarts/oma-qf/config.yml +++ b/quickstarts/oma-qf/config.yml @@ -2,7 +2,7 @@ id: 7a5739bf-30ee-4be9-9705-14871cafd7f4 slug: customer-experience-quality-foundation title: Customer Experience Quality Foundation description: | - Quality foundation helps you see what your user's perception of web performance is. It does this in two ways: (1) focuses on user experience metrics for availability, page load, and in-page actions (2) segments data by device type, region, and user journey + Quality foundation helps you see what your user's perception of web performance is. It does this in two ways: (1) focuses on user experience metrics for availability, page load, and in-page actions (2) segments data by device type, region, and user journey For more information view the [implementation guide](https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide) summary: | @@ -26,6 +26,8 @@ documentation: description: | Explains what quality foundation is and how to apply it url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide +installPlans: + - third-party-customer-experience-quality-foundation dataSourceIds: - customer-experience-quality-foundation icon: logo.svg diff --git a/quickstarts/opencensus/config.yml b/quickstarts/opencensus/config.yml index 6a5753a202..4c2faffc25 100644 --- a/quickstarts/opencensus/config.yml +++ b/quickstarts/opencensus/config.yml @@ -17,6 +17,8 @@ level: New Relic authors: - New Relic title: OpenCensus +installPlans: + - third-party-opencensus dataSourceIds: - opencensus documentation: diff --git a/quickstarts/opentelemetry/config.yml b/quickstarts/opentelemetry/config.yml index 47978b04fc..5580d82181 100644 --- a/quickstarts/opentelemetry/config.yml +++ b/quickstarts/opentelemetry/config.yml @@ -27,6 +27,8 @@ level: New Relic authors: - New Relic title: OpenTelemetry +installPlans: + - third-party-opentelemetry dataSourceIds: - opentelemetry documentation: diff --git a/quickstarts/oracle/inet-oracle-driver/config.yml b/quickstarts/oracle/inet-oracle-driver/config.yml index 5e138446d2..04444beb12 100644 --- a/quickstarts/oracle/inet-oracle-driver/config.yml +++ b/quickstarts/oracle/inet-oracle-driver/config.yml @@ -7,6 +7,8 @@ level: New Relic authors: - New Relic title: Inet Oracle Driver (oranxo) +installPlans: + - third-party-inet-oracle-driver dataSourceIds: - java documentation: diff --git a/quickstarts/oracle/oracle-database/config.yml b/quickstarts/oracle/oracle-database/config.yml index 71b4dce3fb..42e670e567 100644 --- a/quickstarts/oracle/oracle-database/config.yml +++ b/quickstarts/oracle/oracle-database/config.yml @@ -12,6 +12,8 @@ level: New Relic authors: - New Relic title: Oracle Database +installPlans: + - third-party-oracledb dataSourceIds: - oracle-database documentation: diff --git a/quickstarts/pagerduty/pagerduty/config.yml b/quickstarts/pagerduty/pagerduty/config.yml index ea4c107f0e..e65c329a2a 100644 --- a/quickstarts/pagerduty/pagerduty/config.yml +++ b/quickstarts/pagerduty/pagerduty/config.yml @@ -19,6 +19,8 @@ level: New Relic authors: - New Relic title: Pagerduty +installPlans: + - third-party-pagerduty dataSourceIds: - pagerduty documentation: diff --git a/quickstarts/perfmon/config.yml b/quickstarts/perfmon/config.yml index a84930a318..1f6cbef113 100644 --- a/quickstarts/perfmon/config.yml +++ b/quickstarts/perfmon/config.yml @@ -17,6 +17,8 @@ documentation: Windows Performance Monitor is a toolkit that enables system performance data and analytics. url: https://docs.newrelic.com/docs/perfmon-open-source-integration +installPlans: + - third-party-perfmon dataSourceIds: - perfmon keywords: diff --git a/quickstarts/php/cakephp/config.yml b/quickstarts/php/cakephp/config.yml index d1b8d9d553..9f9908b026 100644 --- a/quickstarts/php/cakephp/config.yml +++ b/quickstarts/php/cakephp/config.yml @@ -31,6 +31,8 @@ keywords: - apm - php - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/codeigniter/config.yml b/quickstarts/php/codeigniter/config.yml index 378c3d082f..ca0848b356 100644 --- a/quickstarts/php/codeigniter/config.yml +++ b/quickstarts/php/codeigniter/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for CodeIgniter. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for CodeIgniter. summary: Monitor CodeIgniter with New Relic's PHP agent icon: logo.svg level: New Relic @@ -26,6 +26,8 @@ keywords: - apm - php - language agent +installPlans: + - php-targeted-install dataSourceIds: - php dashboards: diff --git a/quickstarts/php/guzzle/config.yml b/quickstarts/php/guzzle/config.yml index cc6a3a9190..8a2fbbdb76 100644 --- a/quickstarts/php/guzzle/config.yml +++ b/quickstarts/php/guzzle/config.yml @@ -31,6 +31,8 @@ keywords: - apm - php - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/joomla/config.yml b/quickstarts/php/joomla/config.yml index df76fb41c5..4450af8f94 100644 --- a/quickstarts/php/joomla/config.yml +++ b/quickstarts/php/joomla/config.yml @@ -33,6 +33,8 @@ keywords: - cms - content management system - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/kohana/config.yml b/quickstarts/php/kohana/config.yml index 4f08d0755e..06c62c269c 100644 --- a/quickstarts/php/kohana/config.yml +++ b/quickstarts/php/kohana/config.yml @@ -20,7 +20,7 @@ description: | - Customizable charts for metric timeslice data and other custom metrics sent to New Relic - Kohana dashboards (for transactions overview, errors overview, VM overview, top five slowest transactions, latest error, and more) - When you accelerate troubleshooting with distributed tracing and enhanced visibility into application and data lags in a Kohana dashboard, it's much easier for your team to quickly identify and resolve potential errors and ensure uptime. + When you accelerate troubleshooting with distributed tracing and enhanced visibility into application and data lags in a Kohana dashboard, it's much easier for your team to quickly identify and resolve potential errors and ensure uptime. ### The Complete Kohana PHP Dashboard Tool @@ -46,6 +46,8 @@ keywords: - apm - php - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/laravel/config.yml b/quickstarts/php/laravel/config.yml index 462ef5a8bb..a51d8967e0 100644 --- a/quickstarts/php/laravel/config.yml +++ b/quickstarts/php/laravel/config.yml @@ -1,14 +1,14 @@ id: 919aad44-52ba-47fd-9e29-12195979015e slug: laravel description: | - ## Laravel PHP Monitoring + ## Laravel PHP Monitoring Laravel is a free, open-source PHP model-view-controller web framework that empowers developers to carry out common tasks in web and app development projects with ease. ### New Relic Laravel quickstart features The New Relic Laravel monitoring quickstart has the following features: - - Our standard dashboard provides a clear overview of transactions, errors and virtual machines. + - Our standard dashboard provides a clear overview of transactions, errors and virtual machines. - The Laravel PHP dashboard also helps you track other key indicators like daily transaction errors, comparison between weekly transaction errors, most popular transactions, and more. - Pre-defined alert conditions notify you on performance metrics like duration, error rate and throughput. @@ -34,6 +34,8 @@ keywords: - php - language agent - most popular +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/magento/config.yml b/quickstarts/php/magento/config.yml index 2e09bea770..bda784e01d 100644 --- a/quickstarts/php/magento/config.yml +++ b/quickstarts/php/magento/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Magento. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Magento. summary: Monitor Magento with New Relic's PHP agent icon: logo.svg level: New Relic @@ -28,6 +28,8 @@ keywords: - cms - content management system - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/mediawiki/config.yml b/quickstarts/php/mediawiki/config.yml index 13417d28a6..5e05cecf80 100644 --- a/quickstarts/php/mediawiki/config.yml +++ b/quickstarts/php/mediawiki/config.yml @@ -33,6 +33,8 @@ keywords: - cms - content management system - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/odbc/config.yml b/quickstarts/php/odbc/config.yml index 1a3c49bbd4..a143cc88d7 100644 --- a/quickstarts/php/odbc/config.yml +++ b/quickstarts/php/odbc/config.yml @@ -32,6 +32,8 @@ keywords: - php - database - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/pdo/config.yml b/quickstarts/php/pdo/config.yml index 0392f8f936..ffd7841a1c 100644 --- a/quickstarts/php/pdo/config.yml +++ b/quickstarts/php/pdo/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PDO. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PDO. summary: Monitor PDO with New Relic's PHP agent icon: logo.svg level: New Relic @@ -27,6 +27,8 @@ keywords: - php - database - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/php/config.yml b/quickstarts/php/php/config.yml index cb45c0f162..1cb2c8d88f 100644 --- a/quickstarts/php/php/config.yml +++ b/quickstarts/php/php/config.yml @@ -6,7 +6,7 @@ description: | Use our PHP monitoring agent to see a high-level summary of their app performance in a comprehensive PHP dashboard. Help teams monitor the app's Apdex, build architectural maps, and find and resolve errors quickly. - Our [PHP agent](https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php/) collects and analyzes application data that drive data-driven decisions. Organize data, query data using NRQL, and visualize data (in customizable interactive dashboards) that directly impact customer experiences. + Our [PHP agent](https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php/) collects and analyzes application data that drive data-driven decisions. Organize data, query data using NRQL, and visualize data (in customizable interactive dashboards) that directly impact customer experiences. ### Real-time PHP metric monitoring @@ -41,6 +41,8 @@ keywords: - php - language agent - most popular +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/phpunit/config.yml b/quickstarts/php/phpunit/config.yml index 08c0e6bbe9..0ec3cfa03a 100644 --- a/quickstarts/php/phpunit/config.yml +++ b/quickstarts/php/phpunit/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PHPunit. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PHPunit. summary: Monitor PHPunit with New Relic's PHP agent icon: logo.svg level: New Relic @@ -27,6 +27,8 @@ keywords: - php - testing - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/predis/config.yml b/quickstarts/php/predis/config.yml index f1e0c019c5..5e2d6c823f 100644 --- a/quickstarts/php/predis/config.yml +++ b/quickstarts/php/predis/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Predis. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Predis. summary: Monitor Predis with New Relic's PHP agent icon: logo.svg level: New Relic @@ -22,6 +22,8 @@ documentation: - name: Predis installation docs description: Predis is a flexible and feature-complete Redis client for PHP. url: https://docs.newrelic.com/docs/agents/php-agent/frameworks-libraries/predis-library-php +installPlans: + - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/php/silex/config.yml b/quickstarts/php/silex/config.yml index 0de9ef505b..1a4b50e81f 100644 --- a/quickstarts/php/silex/config.yml +++ b/quickstarts/php/silex/config.yml @@ -15,6 +15,8 @@ keywords: - apm - php - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/slim/config.yml b/quickstarts/php/slim/config.yml index 3c6cdaeb41..065db211bc 100644 --- a/quickstarts/php/slim/config.yml +++ b/quickstarts/php/slim/config.yml @@ -31,6 +31,8 @@ keywords: - apm - php - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/sqlite/config.yml b/quickstarts/php/sqlite/config.yml index d83625deed..6a9e799ba7 100644 --- a/quickstarts/php/sqlite/config.yml +++ b/quickstarts/php/sqlite/config.yml @@ -32,6 +32,8 @@ keywords: - php - database - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/symfony/config.yml b/quickstarts/php/symfony/config.yml index 4516dce71f..b0d1f6010b 100644 --- a/quickstarts/php/symfony/config.yml +++ b/quickstarts/php/symfony/config.yml @@ -31,6 +31,8 @@ keywords: - apm - php - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/yii/config.yml b/quickstarts/php/yii/config.yml index 7f9f511678..58eb34fa84 100644 --- a/quickstarts/php/yii/config.yml +++ b/quickstarts/php/yii/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Yii. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Yii. summary: Monitor Yii with New Relic's PHP agent icon: logo.svg level: New Relic @@ -26,6 +26,8 @@ keywords: - apm - php - language agent +installPlans: + - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/pixie/config.yml b/quickstarts/pixie/config.yml index 9cc6d5a11b..7bd3da6533 100644 --- a/quickstarts/pixie/config.yml +++ b/quickstarts/pixie/config.yml @@ -32,6 +32,8 @@ keywords: # Reference to install plans located under /install directory # Allows us to construct reusable "install plans" and just use their ID in the quickstart config +installPlans: + - kubernetes-install dataSourceIds: - pixie diff --git a/quickstarts/port-monitoring/config.yml b/quickstarts/port-monitoring/config.yml index 265fa9bacd..988c843403 100644 --- a/quickstarts/port-monitoring/config.yml +++ b/quickstarts/port-monitoring/config.yml @@ -27,6 +27,8 @@ documentation: - name: Port monitoring installation docs description: Monitor the status for networking ports, such as TCP, UDP, etc. url: https://docs.newrelic.com/docs/port-monitoring-open-source-integration +installPlans: + - third-party-port-monitoring dataSourceIds: - port-monitoring keywords: diff --git a/quickstarts/postgresql/config.yml b/quickstarts/postgresql/config.yml index 1cde960575..eb1cb90443 100644 --- a/quickstarts/postgresql/config.yml +++ b/quickstarts/postgresql/config.yml @@ -17,6 +17,8 @@ documentation: description: | Object-relational database management system designed to handle a range of workloads from single machines to data warehouses or services. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/postgresql-monitoring-integration/ +installPlans: + - postgresql-integration dataSourceIds: - postgresql keywords: diff --git a/quickstarts/postman/config.yml b/quickstarts/postman/config.yml index 81efc358fd..85bad7ed4a 100644 --- a/quickstarts/postman/config.yml +++ b/quickstarts/postman/config.yml @@ -33,6 +33,8 @@ keywords: - featured - NR1_addData - NR1_sys +installPlans: + - third-party-postman dataSourceIds: - postman documentation: diff --git a/quickstarts/prometheus-agent/config.yml b/quickstarts/prometheus-agent/config.yml index df6b0eff6e..41ab0fa044 100644 --- a/quickstarts/prometheus-agent/config.yml +++ b/quickstarts/prometheus-agent/config.yml @@ -4,7 +4,7 @@ title: Prometheus Agent description: | ## About New Relic Prometheus Agent - New Relic created the [Prometheus Agent](https://github.com/newrelic/newrelic-prometheus-configurator) in order to simplify the experience of configuring features like discovery, filtering, metrics decoration, and sharding. + New Relic created the [Prometheus Agent](https://github.com/newrelic/newrelic-prometheus-configurator) in order to simplify the experience of configuring features like discovery, filtering, metrics decoration, and sharding. It generates a configuration file that is used to run a Prometheus Server in Agent mode to later send the metrics to the New Relic Remote Write Endpoint. @@ -17,6 +17,8 @@ level: New Relic authors: - New Relic - Marc Sanmiquel +installPlans: + - setup-prometheus-agent-mode dataSourceIds: - prometheus-agent-mode documentation: diff --git a/quickstarts/prometheus-remote-write/config.yml b/quickstarts/prometheus-remote-write/config.yml index 0b829807d3..33b9df208f 100644 --- a/quickstarts/prometheus-remote-write/config.yml +++ b/quickstarts/prometheus-remote-write/config.yml @@ -1,21 +1,21 @@ id: 7dbd7355-c380-4211-bd32-fed9a65351af slug: prometheus-remote-write description: | - ## Prometheus monitoring + ## Prometheus monitoring Prometheus is an open-source monitoring and alerting toolkit. Setting up Prometheus is straightforward, but scaling up and managing is not. That’s where New Relic steps in. ### New Relic's Prometheus quickstart - New Relic offers two Prometheus integration schemes, Remote Write and OpenMetrics. + New Relic offers two Prometheus integration schemes, Remote Write and OpenMetrics. - [Remote Write](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-remote-write/prometheus-remote-write-integration/) is ideal for well-established Prometheus infrastructures. It provides easy access to your metrics and only takes one line of yaml in your configuration for access. + [Remote Write](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-remote-write/prometheus-remote-write-integration/) is ideal for well-established Prometheus infrastructures. It provides easy access to your metrics and only takes one line of yaml in your configuration for access. [OpenMetrics](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-openmetrics/configure-prometheus-openmetrics-integrations/) allows for more visibility across multiple container platforms. Once the integration is set up, you can query data on memory usage for pods in deployment, facet any metrics, and view raw metric values all in one place. - New Relic's Prometheus Integration stores various kinds of telemetry data - whether open-source, vendor-specific, or vendor-agnostic. + New Relic's Prometheus Integration stores various kinds of telemetry data - whether open-source, vendor-specific, or vendor-agnostic. - ### Value of the Prometheus quickstart + ### Value of the Prometheus quickstart This New Relic quickstart helps you to configure Prometheus Remote Write. @@ -39,6 +39,8 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-remote-write/set-your-prometheus-remote-write-integration/ keywords: - open source monitoring +installPlans: + - setup-prometheus dataSourceIds: - prometheus dashboards: diff --git a/quickstarts/python/aiohttp/config.yml b/quickstarts/python/aiohttp/config.yml index ad32695e7d..2f7d4f11e4 100644 --- a/quickstarts/python/aiohttp/config.yml +++ b/quickstarts/python/aiohttp/config.yml @@ -42,6 +42,8 @@ keywords: - apm - http - aiohttp +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/amqplib/config.yml b/quickstarts/python/amqplib/config.yml index 920710dd4b..9af55b86dd 100644 --- a/quickstarts/python/amqplib/config.yml +++ b/quickstarts/python/amqplib/config.yml @@ -31,6 +31,8 @@ keywords: - apm - python - NR1_addData +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/bottle/config.yml b/quickstarts/python/bottle/config.yml index 14b0075a5c..079524edd1 100644 --- a/quickstarts/python/bottle/config.yml +++ b/quickstarts/python/bottle/config.yml @@ -30,6 +30,8 @@ keywords: - apm - python - bottle +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/celery/config.yml b/quickstarts/python/celery/config.yml index 7a7257f495..e34653aec8 100644 --- a/quickstarts/python/celery/config.yml +++ b/quickstarts/python/celery/config.yml @@ -27,6 +27,8 @@ keywords: - apm - python - celery +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/cherrypy/config.yml b/quickstarts/python/cherrypy/config.yml index cd76440172..8fc15c9848 100644 --- a/quickstarts/python/cherrypy/config.yml +++ b/quickstarts/python/cherrypy/config.yml @@ -7,7 +7,7 @@ description: | ### CherryPy quickstart highlights - The New Relic CherryPy Quickstart has the following features - + The New Relic CherryPy Quickstart has the following features - Dashboards - Monitor metrics like CPU Utilization, memory heap used, garbage collection CPU time, top 5 slowest transactions, throughput reports, and most popular transactions, and more. Alerts - including apdex score, cpu utilization and transaction tracing @@ -33,6 +33,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/django/config.yml b/quickstarts/python/django/config.yml index 4837c03b48..e23d5f6bae 100644 --- a/quickstarts/python/django/config.yml +++ b/quickstarts/python/django/config.yml @@ -37,6 +37,8 @@ keywords: - python - django - most popular +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/facepy/config.yml b/quickstarts/python/facepy/config.yml index 111b5e8f74..dbd44eb7d1 100644 --- a/quickstarts/python/facepy/config.yml +++ b/quickstarts/python/facepy/config.yml @@ -28,6 +28,8 @@ keywords: - apm - python - facepy +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/falcon/config.yml b/quickstarts/python/falcon/config.yml index 336b7e9844..2ef8ebee70 100644 --- a/quickstarts/python/falcon/config.yml +++ b/quickstarts/python/falcon/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/fastapi/config.yml b/quickstarts/python/fastapi/config.yml index a406436075..2e7b224e33 100644 --- a/quickstarts/python/fastapi/config.yml +++ b/quickstarts/python/fastapi/config.yml @@ -31,6 +31,8 @@ keywords: - python - language agent - fastapi +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/feedparser/config.yml b/quickstarts/python/feedparser/config.yml index 7d6a9652db..c9f3e899e3 100644 --- a/quickstarts/python/feedparser/config.yml +++ b/quickstarts/python/feedparser/config.yml @@ -39,6 +39,8 @@ keywords: - apm - python - feedparser +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/flask/config.yml b/quickstarts/python/flask/config.yml index 0979817c4e..9565e9987b 100644 --- a/quickstarts/python/flask/config.yml +++ b/quickstarts/python/flask/config.yml @@ -48,6 +48,8 @@ keywords: - apm - python - flask +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/gearman/config.yml b/quickstarts/python/gearman/config.yml index 660a3cc02c..bf263e0106 100644 --- a/quickstarts/python/gearman/config.yml +++ b/quickstarts/python/gearman/config.yml @@ -25,6 +25,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/gevent/config.yml b/quickstarts/python/gevent/config.yml index cc0f6f6ba5..9f33009e16 100644 --- a/quickstarts/python/gevent/config.yml +++ b/quickstarts/python/gevent/config.yml @@ -30,6 +30,8 @@ keywords: - apm - python - gevent +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/httplib2/config.yml b/quickstarts/python/httplib2/config.yml index 224ee4645a..c27faf3ace 100644 --- a/quickstarts/python/httplib2/config.yml +++ b/quickstarts/python/httplib2/config.yml @@ -30,6 +30,8 @@ keywords: - httplib2 - NR1_addData - NR1_sys +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/jinja2/config.yml b/quickstarts/python/jinja2/config.yml index 737225a2fe..cc67681a63 100644 --- a/quickstarts/python/jinja2/config.yml +++ b/quickstarts/python/jinja2/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/mako/config.yml b/quickstarts/python/mako/config.yml index e0aa0953c0..cd26b00fb3 100644 --- a/quickstarts/python/mako/config.yml +++ b/quickstarts/python/mako/config.yml @@ -27,6 +27,8 @@ keywords: - apm - python - mako +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/oursql/config.yml b/quickstarts/python/oursql/config.yml index 8ab8a57984..599246baa8 100644 --- a/quickstarts/python/oursql/config.yml +++ b/quickstarts/python/oursql/config.yml @@ -31,6 +31,8 @@ keywords: - apm - python - database +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pika/config.yml b/quickstarts/python/pika/config.yml index 70135d3621..438d20784b 100644 --- a/quickstarts/python/pika/config.yml +++ b/quickstarts/python/pika/config.yml @@ -25,6 +25,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/piston/config.yml b/quickstarts/python/piston/config.yml index 9dacc5f419..7c280b5049 100644 --- a/quickstarts/python/piston/config.yml +++ b/quickstarts/python/piston/config.yml @@ -25,6 +25,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/proboscis/config.yml b/quickstarts/python/proboscis/config.yml index 20048a9969..4de1d9de19 100644 --- a/quickstarts/python/proboscis/config.yml +++ b/quickstarts/python/proboscis/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/psycopg2/config.yml b/quickstarts/python/psycopg2/config.yml index 0447f816b7..9195d19526 100644 --- a/quickstarts/python/psycopg2/config.yml +++ b/quickstarts/python/psycopg2/config.yml @@ -11,7 +11,7 @@ description: | The Quickstart offers a number of visual dashboards that display the following data: - CPU Utilization - - Memory heap used + - Memory heap used - Garbage collection CPU time - Top 5 slowest transactions - Throughput reports @@ -25,7 +25,7 @@ description: | ### New Relic - The complete Psycopg2 dashboard tool - Any [Python application](https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/introduction-new-relic-python/) which interfaces with a Postgres database is likely to use Psycopg2. This spans a huge array of applications from web backends to machine learning tools to general data stores. Regardless of the specific application, working with Psycopg2 on large-scale projects requires instantiating multiple simultaneous connections with the database. When this many connections are active at once, applications running Psycopg2 become prone to slowdowns or failure. + Any [Python application](https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/introduction-new-relic-python/) which interfaces with a Postgres database is likely to use Psycopg2. This spans a huge array of applications from web backends to machine learning tools to general data stores. Regardless of the specific application, working with Psycopg2 on large-scale projects requires instantiating multiple simultaneous connections with the database. When this many connections are active at once, applications running Psycopg2 become prone to slowdowns or failure. This observability pack can help you detect those before they become an issue. For example, the New Relic dashboards and alerts relating to CPU utilization provide notifications when a CPU running Psycopg2 nears full capacity. This can be used as a diagnostic tool to identify which sections of an application might need refinements or refactoring. @@ -49,6 +49,8 @@ keywords: - python - NR1_addData - NR1_sys +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pyelasticsearch/config.yml b/quickstarts/python/pyelasticsearch/config.yml index 8ca243f9ce..9284b23593 100644 --- a/quickstarts/python/pyelasticsearch/config.yml +++ b/quickstarts/python/pyelasticsearch/config.yml @@ -32,6 +32,8 @@ keywords: - python - NR1_addData - NR1_sys +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pylibmc/config.yml b/quickstarts/python/pylibmc/config.yml index c38cd23fcf..3306f94716 100644 --- a/quickstarts/python/pylibmc/config.yml +++ b/quickstarts/python/pylibmc/config.yml @@ -27,6 +27,8 @@ keywords: - apm - python - pylibmc +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pylons/config.yml b/quickstarts/python/pylons/config.yml index 74d77e6de7..d0baed17ee 100644 --- a/quickstarts/python/pylons/config.yml +++ b/quickstarts/python/pylons/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pymongo/config.yml b/quickstarts/python/pymongo/config.yml index 47a0d3beba..b03f971156 100644 --- a/quickstarts/python/pymongo/config.yml +++ b/quickstarts/python/pymongo/config.yml @@ -33,6 +33,8 @@ keywords: - database - NR1_addData - NR1_sys +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pyramid/config.yml b/quickstarts/python/pyramid/config.yml index 0214c782f5..821d546e82 100644 --- a/quickstarts/python/pyramid/config.yml +++ b/quickstarts/python/pyramid/config.yml @@ -31,6 +31,8 @@ keywords: - python - pyramid - WSGI +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pysqlite/config.yml b/quickstarts/python/pysqlite/config.yml index 7c17073b78..153a04b022 100644 --- a/quickstarts/python/pysqlite/config.yml +++ b/quickstarts/python/pysqlite/config.yml @@ -31,6 +31,8 @@ keywords: - apm - python - database +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/python/config.yml b/quickstarts/python/python/config.yml index 0b77a29dcc..514abbbd69 100644 --- a/quickstarts/python/python/config.yml +++ b/quickstarts/python/python/config.yml @@ -9,7 +9,7 @@ description: | ### Why monitoring Python is so important - Python monitoring agents enable developers to troubleshoot application and endpoint issues, identify specific dependencies, and meet service level agreements. + Python monitoring agents enable developers to troubleshoot application and endpoint issues, identify specific dependencies, and meet service level agreements. Development teams can view detailed stack traces of sampled threads and extend performance monitoring to collect and analyze business data in a dashboard. This approach helps teams make data-driven decisions and enhance user experiences. @@ -17,7 +17,7 @@ description: | New Relic's Python monitoring quickstart boasts instant full-stack observability out-of-the-box: - Alerts (Adpex score, CPU utilization, transaction error) - - Dashboards (most popular transactions, average transaction duration today compared with that for the previous week, Adpex score comparisons, and more) + - Dashboards (most popular transactions, average transaction duration today compared with that for the previous week, Adpex score comparisons, and more) - Monitor scripts and functions - Monitor WSGI web transactions @@ -53,6 +53,8 @@ keywords: - apm - python - language agent +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/sanic/config.yml b/quickstarts/python/sanic/config.yml index 71c7a455c2..ec896a69f4 100644 --- a/quickstarts/python/sanic/config.yml +++ b/quickstarts/python/sanic/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/tastypie/config.yml b/quickstarts/python/tastypie/config.yml index 831f04c6ac..f62d1210fb 100644 --- a/quickstarts/python/tastypie/config.yml +++ b/quickstarts/python/tastypie/config.yml @@ -30,6 +30,8 @@ documentation: keywords: - apm - python +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/tornado/config.yml b/quickstarts/python/tornado/config.yml index 92bb5938bb..0cf1926135 100644 --- a/quickstarts/python/tornado/config.yml +++ b/quickstarts/python/tornado/config.yml @@ -25,6 +25,8 @@ keywords: - apm - python - tornado +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/twisted/config.yml b/quickstarts/python/twisted/config.yml index 37d9b5ca24..16c6193e44 100644 --- a/quickstarts/python/twisted/config.yml +++ b/quickstarts/python/twisted/config.yml @@ -27,6 +27,8 @@ keywords: - apm - python - twisted +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/web2py/config.yml b/quickstarts/python/web2py/config.yml index 0c3ea7adf8..89504a5a71 100644 --- a/quickstarts/python/web2py/config.yml +++ b/quickstarts/python/web2py/config.yml @@ -28,6 +28,8 @@ keywords: - apm - python - web2py +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/webpy/config.yml b/quickstarts/python/webpy/config.yml index 58055c532a..6ef4c0471d 100644 --- a/quickstarts/python/webpy/config.yml +++ b/quickstarts/python/webpy/config.yml @@ -35,6 +35,8 @@ keywords: - apm - python - webpy +installPlans: + - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/quantum-metric/config.yml b/quickstarts/quantum-metric/config.yml index 679d03f6db..0c8b77dd33 100644 --- a/quickstarts/quantum-metric/config.yml +++ b/quickstarts/quantum-metric/config.yml @@ -7,6 +7,8 @@ level: Community authors: - Quantum Metric title: Quantum Metric +installPlans: + - third-party-quantum-metric dataSourceIds: - quantum-metric documentation: diff --git a/quickstarts/rabbitmq/config.yml b/quickstarts/rabbitmq/config.yml index 247646cb2a..5df4e4aa51 100644 --- a/quickstarts/rabbitmq/config.yml +++ b/quickstarts/rabbitmq/config.yml @@ -4,7 +4,7 @@ title: RabbitMQ description: | ## RabbitMQ performance - RabbitMQ is an open-source message broker that supports multiple protocols. It acts as a broker, fielding messages sent from a “producer” application and distributing them to the “consumer” applications for which they are designated. + RabbitMQ is an open-source message broker that supports multiple protocols. It acts as a broker, fielding messages sent from a “producer” application and distributing them to the “consumer” applications for which they are designated. The New Relic RabbitMQ agent monitors the performance of RabbitMQ instances, giving insights into their activity. It targets the AMQP RabbitMQ distribution that integrates with Node.js. @@ -22,11 +22,11 @@ description: | ### New Relic + RabbitMQ - Your tool for better monitoring - [Monitor RabbitMQ](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/) to ensure it’s coordinating messages between producer and consumer apps in a timely and efficient manner. Silent failures are common in RabbitMQ, frequently causing messages to hang or never be delivered. + [Monitor RabbitMQ](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/) to ensure it’s coordinating messages between producer and consumer apps in a timely and efficient manner. Silent failures are common in RabbitMQ, frequently causing messages to hang or never be delivered. This can drastically warp the downstream behavior of an app. By monitoring RabbitMQ application health, system administrators can catch these errors before they occur. - The key metrics to keep an eye on include memory usage, message throughput and utilization by queue, and queue consumers. Monitoring memory usage allows for detection of system overloads. Similarly, throughput and utilization trade off on queue capacity. + The key metrics to keep an eye on include memory usage, message throughput and utilization by queue, and queue consumers. Monitoring memory usage allows for detection of system overloads. Similarly, throughput and utilization trade off on queue capacity. Queues that are underutilized can be identified for message acceptance, and queues with low throughput can be investigated for hanging messages. Finally, insight into queue consumers can help to evenly distribute them across available queues. summary: | @@ -42,6 +42,8 @@ documentation: description: | Lightweight message queue and broker service that gives disparate services a common communication point. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/ +installPlans: + - rabbitmq-integration dataSourceIds: - rabbitmq keywords: diff --git a/quickstarts/redhat/red-hat-enterprise-linux/config.yml b/quickstarts/redhat/red-hat-enterprise-linux/config.yml index d00056f4e0..c0aef3a684 100644 --- a/quickstarts/redhat/red-hat-enterprise-linux/config.yml +++ b/quickstarts/redhat/red-hat-enterprise-linux/config.yml @@ -17,6 +17,8 @@ documentation: Red Hat Enterprise Linux is a Linux distribution developed by Red Hat for the commercial market. url: https://docs.newrelic.com/docs/infrastructure/install-configure-manage-infrastructure/linux-installation/install-infrastructure-linux-using-package-manager +installPlans: + - guided-install dataSourceIds: - guided-install keywords: diff --git a/quickstarts/redhat/red-hat-openshift/config.yml b/quickstarts/redhat/red-hat-openshift/config.yml index 3690d99b36..d137e7282b 100644 --- a/quickstarts/redhat/red-hat-openshift/config.yml +++ b/quickstarts/redhat/red-hat-openshift/config.yml @@ -21,5 +21,7 @@ keywords: - k8s - NR1_addData - NR1_sys +installPlans: + - third-party-red-hat-openshift dataSourceIds: - kubernetes diff --git a/quickstarts/redis-prometheus/config.yml b/quickstarts/redis-prometheus/config.yml index c8122c1dea..02ac36ffbf 100644 --- a/quickstarts/redis-prometheus/config.yml +++ b/quickstarts/redis-prometheus/config.yml @@ -47,6 +47,9 @@ keywords: - database - NR1_addData - NR1_sys +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/redis/config.yml b/quickstarts/redis/config.yml index b721622c87..c905408a21 100644 --- a/quickstarts/redis/config.yml +++ b/quickstarts/redis/config.yml @@ -38,6 +38,8 @@ documentation: description: | Open source, key-value data structure store for use as a database, cache, and message broker with wide protocol and dataset support. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/redis-monitoring-integration/ +installPlans: + - redis-integration dataSourceIds: - redis keywords: diff --git a/quickstarts/redisenterprise/config.yml b/quickstarts/redisenterprise/config.yml index 5f06ae6b1a..5e5a95005a 100644 --- a/quickstarts/redisenterprise/config.yml +++ b/quickstarts/redisenterprise/config.yml @@ -41,7 +41,7 @@ description: |+ - Lag: Time between application on servers - Pending: Details of the number of writes pending as part of the sync - - Bandwidth: Information on the amount of traffic between clusters + - Bandwidth: Information on the amount of traffic between clusters ### Contact us To get help please contact the [Redis Enterprise Field Engineering](mailto:redis.observability@redis.com?subject=NewRelic%20Integration%20Support) @@ -61,6 +61,8 @@ keywords: - active - NR1_addData - NR1_sys +installPlans: + - third-party-redisenterprise dataSourceIds: - redis-enterprise documentation: diff --git a/quickstarts/releaseiq/config.yml b/quickstarts/releaseiq/config.yml index 404b43c5e4..5cbabd28a9 100644 --- a/quickstarts/releaseiq/config.yml +++ b/quickstarts/releaseiq/config.yml @@ -33,6 +33,8 @@ documentation: ReleaseIQ is the Unified Enterprise DevOps Platform to Accelerate Software Delivery. Get started with newrelic setup and configuration. url: https://www.releaseiq.io/use-cases/new-relic/ +installPlans: + - third-party-releaseiq dataSourceIds: - releaseiq icon: logo.png diff --git a/quickstarts/roku/config.yml b/quickstarts/roku/config.yml index 5043e3648d..70e5240421 100644 --- a/quickstarts/roku/config.yml +++ b/quickstarts/roku/config.yml @@ -6,8 +6,8 @@ description: | Roku is one of the world's most popular streaming platforms. New Relic has developed the first and only open-source observabiilty agent for Roku, giving you unparalleled insight into the performance of your Roku application. ### Analytics on HTTP requests and errors - This can be manifestations of ISP or CDN issues or unwanted changes to the application or backend services. Faster identification and understanding of these issues is critical to maintaining a positive user experience. - ### Video Quality of Experience (QoE) + This can be manifestations of ISP or CDN issues or unwanted changes to the application or backend services. Faster identification and understanding of these issues is critical to maintaining a positive user experience. + ### Video Quality of Experience (QoE) Correlate video quality issues back through the rest of the streaming architecture. Acquire complete correlations between video playback sessions to the backend systems. ### Customer journey tracking Follow customers as they navigate the application towards their content and their video playback experience. See where and when drop offs occur and the time it takes to complete critical actions. @@ -31,6 +31,9 @@ keywords: - brightscript - NR1_addData - NR1_sys +installPlans: + - third-party-roku + - third-party-roku-http-analytics dataSourceIds: - roku - roku-http-analytics diff --git a/quickstarts/ruby/activerecord/config.yml b/quickstarts/ruby/activerecord/config.yml index 68c0e2d8f0..fc02271d9a 100644 --- a/quickstarts/ruby/activerecord/config.yml +++ b/quickstarts/ruby/activerecord/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/acts-as-solr/config.yml b/quickstarts/ruby/acts-as-solr/config.yml index 42c0fff5db..880bc2213f 100644 --- a/quickstarts/ruby/acts-as-solr/config.yml +++ b/quickstarts/ruby/acts-as-solr/config.yml @@ -28,6 +28,8 @@ documentation: Ruby plugins that adds full text search capabilities and other features from Apache's Solr to any Rails model. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks +installPlans: + - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/authlogic/config.yml b/quickstarts/ruby/authlogic/config.yml index de309296aa..9d548eb79e 100644 --- a/quickstarts/ruby/authlogic/config.yml +++ b/quickstarts/ruby/authlogic/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/bunny/config.yml b/quickstarts/ruby/bunny/config.yml index f9ed8e08a0..516562f52f 100644 --- a/quickstarts/ruby/bunny/config.yml +++ b/quickstarts/ruby/bunny/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/curb/config.yml b/quickstarts/ruby/curb/config.yml index c45d52c6f7..e1ebb087f6 100644 --- a/quickstarts/ruby/curb/config.yml +++ b/quickstarts/ruby/curb/config.yml @@ -14,7 +14,7 @@ description: | ### New Relic + Curb = Optimum performance monitoring Monitor Curb with New Relic’s Ruby agent. With an interactive dashboard, you can explore, query, and visualize your data. This helps you to identify issues faster and improve Curb’s performance. The quickstart also has four alerts that can detect changes in key metrics. You can integrate the alerts with your favorite tools such as Slack or PagerDuty, and you will get instant notification when there is any issue. - You can [configure](https://docs.newrelic.com/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/) the New Relic Ruby agent with settings in a configuration file, environment variables, or programmatically with server-side configuration. The Ruby agent supports Curb version 0.8.1 or higher. + You can [configure](https://docs.newrelic.com/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/) the New Relic Ruby agent with settings in a configuration file, environment variables, or programmatically with server-side configuration. The Ruby agent supports Curb version 0.8.1 or higher. Install the New Relic Curb observability quickstart today to track Curb’s metrics in real time through a seamless dashboard and different alerts. The quickstart empowers you to leverage our Ruby agent for instant and comprehensive monitoring of Curb. summary: | Monitoring Curb is critical to ensure that you detect incidents and respond to them quickly. Download the New Relic quickstart to instrument Curb with our Ruby agent and track key performance metrics. @@ -33,6 +33,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/dalli/config.yml b/quickstarts/ruby/dalli/config.yml index 22797f8f20..04bcb9d36f 100644 --- a/quickstarts/ruby/dalli/config.yml +++ b/quickstarts/ruby/dalli/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/delayed-job/config.yml b/quickstarts/ruby/delayed-job/config.yml index 61147ca4c0..56304cdf46 100644 --- a/quickstarts/ruby/delayed-job/config.yml +++ b/quickstarts/ruby/delayed-job/config.yml @@ -23,6 +23,8 @@ documentation: - name: Delayed_Job installation docs description: Ruby Gem that enables asynchronously distributing tasks to the background. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks +installPlans: + - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/excon/config.yml b/quickstarts/ruby/excon/config.yml index 26f0a64f0a..a236617f62 100644 --- a/quickstarts/ruby/excon/config.yml +++ b/quickstarts/ruby/excon/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/grape/config.yml b/quickstarts/ruby/grape/config.yml index 688edfe38e..934a713df2 100644 --- a/quickstarts/ruby/grape/config.yml +++ b/quickstarts/ruby/grape/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/httpclient/config.yml b/quickstarts/ruby/httpclient/config.yml index 0ea38845ba..e32c4e7643 100644 --- a/quickstarts/ruby/httpclient/config.yml +++ b/quickstarts/ruby/httpclient/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/httprb/config.yml b/quickstarts/ruby/httprb/config.yml index e061989f4b..a02f74ea92 100644 --- a/quickstarts/ruby/httprb/config.yml +++ b/quickstarts/ruby/httprb/config.yml @@ -28,6 +28,8 @@ keywords: - ruby - NR1_addData - NR1_sys +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/net-http/config.yml b/quickstarts/ruby/net-http/config.yml index af23a95af8..e0386e3e64 100644 --- a/quickstarts/ruby/net-http/config.yml +++ b/quickstarts/ruby/net-http/config.yml @@ -28,6 +28,8 @@ documentation: Net::HTTP for Ruby provides a rich library which can be used to build HTTP user-agents. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks +installPlans: + - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/padrino/config.yml b/quickstarts/ruby/padrino/config.yml index b2ca17b24d..e5de4559ad 100644 --- a/quickstarts/ruby/padrino/config.yml +++ b/quickstarts/ruby/padrino/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/passenger/config.yml b/quickstarts/ruby/passenger/config.yml index a9b9567bf2..5d458ed17a 100644 --- a/quickstarts/ruby/passenger/config.yml +++ b/quickstarts/ruby/passenger/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/puma/config.yml b/quickstarts/ruby/puma/config.yml index 61d155c857..d37205c546 100644 --- a/quickstarts/ruby/puma/config.yml +++ b/quickstarts/ruby/puma/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rack/config.yml b/quickstarts/ruby/rack/config.yml index ef3c6473db..68e9eea4d2 100644 --- a/quickstarts/ruby/rack/config.yml +++ b/quickstarts/ruby/rack/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rails/config.yml b/quickstarts/ruby/rails/config.yml index 362d655c6b..e4e9c72edb 100644 --- a/quickstarts/ruby/rails/config.yml +++ b/quickstarts/ruby/rails/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rainbows/config.yml b/quickstarts/ruby/rainbows/config.yml index 55bcf915dd..f7e317e397 100644 --- a/quickstarts/ruby/rainbows/config.yml +++ b/quickstarts/ruby/rainbows/config.yml @@ -28,6 +28,8 @@ documentation: An HTTP Rack app server designed to handle applications that expect long request/response times and/or slow clients. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks +installPlans: + - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/rake/config.yml b/quickstarts/ruby/rake/config.yml index 85e70ae9a7..46e6051248 100644 --- a/quickstarts/ruby/rake/config.yml +++ b/quickstarts/ruby/rake/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/resque/config.yml b/quickstarts/ruby/resque/config.yml index 2c4febec2c..334a571703 100644 --- a/quickstarts/ruby/resque/config.yml +++ b/quickstarts/ruby/resque/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/ruby/config.yml b/quickstarts/ruby/ruby/config.yml index ad8f6d6632..ae9ea66e6f 100644 --- a/quickstarts/ruby/ruby/config.yml +++ b/quickstarts/ruby/ruby/config.yml @@ -27,6 +27,8 @@ keywords: - apm - ruby - language agent +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sequel/config.yml b/quickstarts/ruby/sequel/config.yml index 8a07437bcc..46a8cf8443 100644 --- a/quickstarts/ruby/sequel/config.yml +++ b/quickstarts/ruby/sequel/config.yml @@ -27,6 +27,8 @@ keywords: - apm - ruby - database +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sidekiq/config.yml b/quickstarts/ruby/sidekiq/config.yml index 86f2206cb6..b8caaf3c2d 100644 --- a/quickstarts/ruby/sidekiq/config.yml +++ b/quickstarts/ruby/sidekiq/config.yml @@ -38,6 +38,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sinatra/config.yml b/quickstarts/ruby/sinatra/config.yml index 9e97ad537d..ed5918d2b7 100644 --- a/quickstarts/ruby/sinatra/config.yml +++ b/quickstarts/ruby/sinatra/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sunspot/config.yml b/quickstarts/ruby/sunspot/config.yml index fa907611d8..c07b1471b8 100644 --- a/quickstarts/ruby/sunspot/config.yml +++ b/quickstarts/ruby/sunspot/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/thin/config.yml b/quickstarts/ruby/thin/config.yml index 3bfad88fa6..dec25b11c3 100644 --- a/quickstarts/ruby/thin/config.yml +++ b/quickstarts/ruby/thin/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/typhoeus/config.yml b/quickstarts/ruby/typhoeus/config.yml index ec70be657a..83c6cf6d5d 100644 --- a/quickstarts/ruby/typhoeus/config.yml +++ b/quickstarts/ruby/typhoeus/config.yml @@ -26,6 +26,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/unicorn/config.yml b/quickstarts/ruby/unicorn/config.yml index 4dbf5ad32c..270ba43027 100644 --- a/quickstarts/ruby/unicorn/config.yml +++ b/quickstarts/ruby/unicorn/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/webrick/config.yml b/quickstarts/ruby/webrick/config.yml index 91519284ae..58051f5977 100644 --- a/quickstarts/ruby/webrick/config.yml +++ b/quickstarts/ruby/webrick/config.yml @@ -31,6 +31,8 @@ documentation: keywords: - apm - ruby +installPlans: + - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/salesforce-eventlog-for-logs/config.yml b/quickstarts/salesforce-eventlog-for-logs/config.yml index 5f82088756..c7f5b4bd25 100644 --- a/quickstarts/salesforce-eventlog-for-logs/config.yml +++ b/quickstarts/salesforce-eventlog-for-logs/config.yml @@ -49,6 +49,8 @@ documentation: description: | Salesforce Security Dashboard provides visualization into the security details of your salesforce organization. url: https://github.com/newrelic-experimental/newrelic-logs-salesforce-eventlogfile/blob/main/dashboards/sfdc-overview/sfdc-overview.md +installPlans: + - third-party-salesforce-eventlog-for-logs dataSourceIds: - salesforce-eventlog-for-logs dashboards: diff --git a/quickstarts/security/config.yml b/quickstarts/security/config.yml index be244e22a1..098e64169b 100644 --- a/quickstarts/security/config.yml +++ b/quickstarts/security/config.yml @@ -4,7 +4,7 @@ title: Security Events API description: |+ ## What is the Security Event API? - New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. + New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. ### Get started! @@ -14,7 +14,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. summary: Ingest scanner data into New Relic by using Security Event API level: New Relic @@ -23,6 +23,8 @@ authors: keywords: - vulnerability management - security +installPlans: + - security-api-install dataSourceIds: - security-api documentation: diff --git a/quickstarts/sendgrid/config.yml b/quickstarts/sendgrid/config.yml index 1bce28c502..ea3ac4456e 100644 --- a/quickstarts/sendgrid/config.yml +++ b/quickstarts/sendgrid/config.yml @@ -13,6 +13,9 @@ keywords: - log - NR1_addData - NR1_sys +installPlans: + - third-party-sendgrid-integration + - aws-log-ingestion-s3 dataSourceIds: - sendgrid-integration - amazon-s3 @@ -27,3 +30,4 @@ icon: logo.png website: https://sendgrid.com/ dashboards: - sendgrid-dashboard + diff --git a/quickstarts/signl4/config.yml b/quickstarts/signl4/config.yml index 35998ca26b..b0ca1ac3e6 100644 --- a/quickstarts/signl4/config.yml +++ b/quickstarts/signl4/config.yml @@ -11,6 +11,8 @@ level: Community authors: - Signl4 title: SIGNL4 +installPlans: + - third-party-signl4 dataSourceIds: - signl4 documentation: diff --git a/quickstarts/snmp/config.yml b/quickstarts/snmp/config.yml index be33d17f71..476377190e 100644 --- a/quickstarts/snmp/config.yml +++ b/quickstarts/snmp/config.yml @@ -23,6 +23,8 @@ level: New Relic authors: - New Relic title: Legacy SNMP +installPlans: + - third-party-snmp dataSourceIds: - snmp documentation: diff --git a/quickstarts/snyk/config.yml b/quickstarts/snyk/config.yml index 4d2fb28e4f..9bb6108c3c 100644 --- a/quickstarts/snyk/config.yml +++ b/quickstarts/snyk/config.yml @@ -23,6 +23,8 @@ keywords: - snyk dashboards: - snyk +installPlans: + - third-party-snyk dataSourceIds: - snyk documentation: diff --git a/quickstarts/speedscale/config.yml b/quickstarts/speedscale/config.yml index ab22b0c39d..0a51e0dfeb 100644 --- a/quickstarts/speedscale/config.yml +++ b/quickstarts/speedscale/config.yml @@ -2,7 +2,7 @@ id: c4512294-8f81-4efa-8f28-6c1db28d288c slug: speedscale title: Speedscale description: | - Speedscale lets you capture traffic from one environment and replay elsewhere. Use the traffic replay to validate new code performance and functionality. Track the SRE golden signals of latency, throughput, CPU, memory and error metrics before you deploy. Preview your container or API behavior in your CI pipeline without having to write any scripts. Any necessary backends are provided by Speedscale’s mocking technology, which also uses past traffic to generate proper responses you expect during traffic replay. + Speedscale lets you capture traffic from one environment and replay elsewhere. Use the traffic replay to validate new code performance and functionality. Track the SRE golden signals of latency, throughput, CPU, memory and error metrics before you deploy. Preview your container or API behavior in your CI pipeline without having to write any scripts. Any necessary backends are provided by Speedscale’s mocking technology, which also uses past traffic to generate proper responses you expect during traffic replay. Speedscale Snapshots are subsets of traffic that you would like to replay to test how your new code reacts, similar to test scenarios. Deploying this quickstart adds a Speedscale dashboard to your New Relic account that includes replay success rates, response time and deep links to reports. @@ -22,6 +22,8 @@ keywords: - newrelic partner - NR1_addData - NR1_sys +installPlans: + - third-party-speedscale-integration dataSourceIds: - speedscale documentation: diff --git a/quickstarts/split/config.yml b/quickstarts/split/config.yml index 436de63eb1..0cb6999025 100644 --- a/quickstarts/split/config.yml +++ b/quickstarts/split/config.yml @@ -11,6 +11,8 @@ level: Community authors: - Split title: Split +installPlans: + - third-party-split dataSourceIds: - split documentation: diff --git a/quickstarts/squid-prometheus/config.yml b/quickstarts/squid-prometheus/config.yml index 11da81b79f..2969c67bdb 100644 --- a/quickstarts/squid-prometheus/config.yml +++ b/quickstarts/squid-prometheus/config.yml @@ -38,6 +38,9 @@ documentation: Caching proxy for the Web supporting different protocols that reduces bandwidth and improves response times. url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/squid +installPlans: + - squid-prometheus-integration-docs + dataSourceIds: - squid-prometheus-integration-docs diff --git a/quickstarts/statsd/config.yml b/quickstarts/statsd/config.yml index d0dd1a438b..7127945460 100644 --- a/quickstarts/statsd/config.yml +++ b/quickstarts/statsd/config.yml @@ -7,7 +7,7 @@ description: | ### Common StatsD use cases - StatsD makes it easier for you to instrument your applications. As a developer or organization, it empowers you to code quickly troubleshoot application issues in real-time, and have absolute control over your data. + StatsD makes it easier for you to instrument your applications. As a developer or organization, it empowers you to code quickly troubleshoot application issues in real-time, and have absolute control over your data. With StatsD, you can collect metrics from your production applications, even before the apps are deployed into production. In addition, resource utilization metrics can be directly linked to product metrics relevant to your organization. @@ -35,5 +35,7 @@ documentation: keywords: - infrastructure - open source monitoring +installPlans: + - third-party-statsd dataSourceIds: - statsd diff --git a/quickstarts/suse-linux-enterprise-server/config.yml b/quickstarts/suse-linux-enterprise-server/config.yml index a33873dbbd..c37449240d 100644 --- a/quickstarts/suse-linux-enterprise-server/config.yml +++ b/quickstarts/suse-linux-enterprise-server/config.yml @@ -24,5 +24,7 @@ documentation: keywords: - os - operating system +installPlans: + - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/sybase/config.yml b/quickstarts/sybase/config.yml index 1da12d6362..3cf1da3c2b 100644 --- a/quickstarts/sybase/config.yml +++ b/quickstarts/sybase/config.yml @@ -4,11 +4,11 @@ title: Sybase description: |- ## Quickstart for Sybase monitoring - Sybase is a relational database software solution. + Sybase is a relational database software solution. ### New Relic Sybase quickstart features - With monitoring statistics enabled, you can observe key metrics such as the number of connections, execution times, statement cache, process activity, threads, and more. + With monitoring statistics enabled, you can observe key metrics such as the number of connections, execution times, statement cache, process activity, threads, and more. ### Sybase Quickstart instructions @@ -24,6 +24,8 @@ keywords: - sap - ase - adaptive server enterprise +installPlans: + - sybase-integration dataSourceIds: - sybase-integration dashboards: @@ -34,3 +36,4 @@ documentation: description: Monitor SAP Adaptive Server Enterprise (Sybase) icon: logo.svg website: https://www.newrelic.com + diff --git a/quickstarts/synthetics-optimization/config.yml b/quickstarts/synthetics-optimization/config.yml index 738af1a203..7cad530d1a 100644 --- a/quickstarts/synthetics-optimization/config.yml +++ b/quickstarts/synthetics-optimization/config.yml @@ -25,6 +25,8 @@ documentation: This document provides additional queries that can be run to determine Synthetics usage. icon: logo.png website: https://www.newrelic.com +installPlans: + - third-party-synthetics-endpoint-availability dataSourceIds: - new-relic-synthetics dashboards: diff --git a/quickstarts/synthetics/availability/config.yml b/quickstarts/synthetics/availability/config.yml index d1e4030e97..e3bbc26112 100644 --- a/quickstarts/synthetics/availability/config.yml +++ b/quickstarts/synthetics/availability/config.yml @@ -23,6 +23,8 @@ keywords: - url - www - synthetics +installPlans: + - third-party-synthetics-availability dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/endpoint-availability/config.yml b/quickstarts/synthetics/endpoint-availability/config.yml index 82d42c33d9..297c15c962 100644 --- a/quickstarts/synthetics/endpoint-availability/config.yml +++ b/quickstarts/synthetics/endpoint-availability/config.yml @@ -20,6 +20,8 @@ keywords: - url - www - synthetics +installPlans: + - third-party-synthetics-endpoint-availability dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/page-link-crawler/config.yml b/quickstarts/synthetics/page-link-crawler/config.yml index a73c370c70..5bdac41246 100644 --- a/quickstarts/synthetics/page-link-crawler/config.yml +++ b/quickstarts/synthetics/page-link-crawler/config.yml @@ -30,6 +30,8 @@ keywords: - url - www - synthetics +installPlans: + - third-party-synthetics-page-link-crawler dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/page-load-performance/config.yml b/quickstarts/synthetics/page-load-performance/config.yml index eb9a0dbd32..a5795c3541 100644 --- a/quickstarts/synthetics/page-load-performance/config.yml +++ b/quickstarts/synthetics/page-load-performance/config.yml @@ -23,6 +23,8 @@ keywords: - url - www - synthetics +installPlans: + - third-party-synthetics-page-load-performance dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/private-locations/config.yml b/quickstarts/synthetics/private-locations/config.yml index 7bdee44354..87798cbe0c 100644 --- a/quickstarts/synthetics/private-locations/config.yml +++ b/quickstarts/synthetics/private-locations/config.yml @@ -36,6 +36,8 @@ keywords: - minion - minion dashboard - synthetics +installPlans: + - synthetics-private-locations dataSourceIds: - synthetics-private-locations documentation: @@ -46,3 +48,4 @@ icon: logo.svg website: https://www.newrelic.com dashboards: - synthetics-private-minions + diff --git a/quickstarts/synthetics/ssl-certification-check/config.yml b/quickstarts/synthetics/ssl-certification-check/config.yml index b94c70c4de..e233d94420 100644 --- a/quickstarts/synthetics/ssl-certification-check/config.yml +++ b/quickstarts/synthetics/ssl-certification-check/config.yml @@ -20,6 +20,8 @@ keywords: - url - www - synthetics +installPlans: + - third-party-synthetics-ssl-certification-check dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/user-flow/config.yml b/quickstarts/synthetics/user-flow/config.yml index c7445e7ec9..db1dbc420d 100644 --- a/quickstarts/synthetics/user-flow/config.yml +++ b/quickstarts/synthetics/user-flow/config.yml @@ -26,6 +26,8 @@ documentation: - name: Getting started url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ description: Get started with synthetic monitoring +installPlans: + - third-party-synthetics-user-flow dataSourceIds: - new-relic-synthetics icon: logo.svg diff --git a/quickstarts/synthetics/user-step-execution/config.yml b/quickstarts/synthetics/user-step-execution/config.yml index b5d8050d9f..6de5f097c6 100644 --- a/quickstarts/synthetics/user-step-execution/config.yml +++ b/quickstarts/synthetics/user-step-execution/config.yml @@ -38,6 +38,8 @@ documentation: - name: Getting started url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ description: Get started with synthetic monitoring +installPlans: + - third-party-synthetics-user-step-execution dataSourceIds: - new-relic-synthetics icon: logo.svg diff --git a/quickstarts/traefik/config.yml b/quickstarts/traefik/config.yml index aa50dcc725..054c90ca9e 100644 --- a/quickstarts/traefik/config.yml +++ b/quickstarts/traefik/config.yml @@ -25,6 +25,9 @@ documentation: description: | Traefik Integration Documentation url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/integrations-list/traefik-integration +installPlans: + - setup-prometheus + - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/trendmicro-cloudone-conformity/config.yml b/quickstarts/trendmicro-cloudone-conformity/config.yml index 0981c257eb..67ff6e3b2d 100644 --- a/quickstarts/trendmicro-cloudone-conformity/config.yml +++ b/quickstarts/trendmicro-cloudone-conformity/config.yml @@ -25,6 +25,8 @@ documentation: - name: Trend Micro blog post description: Learn more about the integration on Trend Micro's blog post url: https://www.trendmicro.com/en_us/devops/21/f/how-to-achieve-more-security-observability.html +installPlans: + - third-party-trendmicro-cloudone-conformity dataSourceIds: - trendmicro-cloudone-conformity keywords: diff --git a/quickstarts/trivy/config.yml b/quickstarts/trivy/config.yml index 25b47f4495..c89f170584 100644 --- a/quickstarts/trivy/config.yml +++ b/quickstarts/trivy/config.yml @@ -8,7 +8,7 @@ description: |+ ### What is the Security Event API? - New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. + New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. ### Get started! @@ -24,7 +24,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. summary: Ingest Trivy vulnerability data into New Relic by using Security Event API level: New Relic @@ -34,6 +34,8 @@ keywords: - vulnerability management - security - trivy +installPlans: + - trivy-api-install dataSourceIds: - trivy documentation: diff --git a/quickstarts/tvos/config.yml b/quickstarts/tvos/config.yml index f5f3dc3bc3..2d9f5f4548 100644 --- a/quickstarts/tvos/config.yml +++ b/quickstarts/tvos/config.yml @@ -21,7 +21,10 @@ documentation: Default operating system for Apple media streaming devices, including the Apple TV. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/tvos/tvos-installation-configuration +installPlans: + - tvos-mobile dataSourceIds: - tvos-mobile keywords: - mobile + diff --git a/quickstarts/ubuntu/config.yml b/quickstarts/ubuntu/config.yml index c88be5e926..c91e86ba1b 100644 --- a/quickstarts/ubuntu/config.yml +++ b/quickstarts/ubuntu/config.yml @@ -24,5 +24,7 @@ documentation: keywords: - os - operating system +installPlans: + - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/unix/config.yml b/quickstarts/unix/config.yml index f33490ebab..2592b574e5 100644 --- a/quickstarts/unix/config.yml +++ b/quickstarts/unix/config.yml @@ -17,6 +17,8 @@ documentation: The Unix monitoring integration allows for system-level monitoring of AIX, Linux, macOS, Solaris/SunOS and other Unix-based servers. url: https://docs.newrelic.com/docs/integrations/host-integrations/open-source-host-integrations-list/unix-monitoring-open-source-integration +installPlans: + - third-party-unix dataSourceIds: - unix dashboards: diff --git a/quickstarts/varnish/config.yml b/quickstarts/varnish/config.yml index a053916487..427c554f78 100644 --- a/quickstarts/varnish/config.yml +++ b/quickstarts/varnish/config.yml @@ -36,6 +36,8 @@ documentation: description: | Reverse caching proxy for HTTP built to accelerate web application performance. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/varnish-cache-monitoring-integration/ +installPlans: + - varnish-cache-integration dataSourceIds: - varnish keywords: diff --git a/quickstarts/velero-prometheus/config.yml b/quickstarts/velero-prometheus/config.yml index 6b44d43a30..69bd8abb8c 100644 --- a/quickstarts/velero-prometheus/config.yml +++ b/quickstarts/velero-prometheus/config.yml @@ -10,14 +10,14 @@ description: |+ ### New Relic - a perfect tool to monitor Velero using Prometheus. - Velero has become an important part of Kubernetes architectures, providing features to ensure continuity of state during disaster recover, and ease the burden of systems migration. + Velero has become an important part of Kubernetes architectures, providing features to ensure continuity of state during disaster recover, and ease the burden of systems migration. Using the [New Relic Prometheus Remote-Write](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-remote-write/set-your-prometheus-remote-write-integration/) integration you can deliver your critical Velero metrics from your internally supported instance of Prometheus directly to New Relic where the rest of your observability data resides. ### New Relic Velero quickstart features Our Velero Quickstart include out-of-the-box dashboards and alerts, including data such as: - - Overview Schedules (# successes, # failures) + charts with duration and sizes of backups + - Overview Schedules (# successes, # failures) + charts with duration and sizes of backups ### Value of the Velero (Prometheus) quickstart @@ -36,6 +36,8 @@ keywords: - kubernetes - disaster recovery - featured +installPlans: + - setup-prometheus dataSourceIds: - prometheus documentation: diff --git a/quickstarts/vercel/config.yml b/quickstarts/vercel/config.yml index 3637e7be6b..9561f27f04 100644 --- a/quickstarts/vercel/config.yml +++ b/quickstarts/vercel/config.yml @@ -61,6 +61,8 @@ keywords: # Reference to install plans located under /install directory # Allows us to construct reusable "install plans" and just use their ID in the quickstart config +installPlans: + - third-party-vercel dataSourceIds: - vercel documentation: diff --git a/quickstarts/video/video-android/config.yml b/quickstarts/video/video-android/config.yml index 2f1c8b6d14..3b4b449f75 100644 --- a/quickstarts/video/video-android/config.yml +++ b/quickstarts/video/video-android/config.yml @@ -12,6 +12,8 @@ keywords: - video - tracking - Android +installPlans: + - third-party-video-android dataSourceIds: - video-android documentation: @@ -19,3 +21,4 @@ documentation: url: https://github.com/newrelic/video-agent-android description: Agent to monitor video applications for Android. icon: logo.svg + diff --git a/quickstarts/video/video-chromecast/config.yml b/quickstarts/video/video-chromecast/config.yml index 3b4ac01f08..51444a49a1 100644 --- a/quickstarts/video/video-chromecast/config.yml +++ b/quickstarts/video/video-chromecast/config.yml @@ -17,5 +17,7 @@ documentation: url: https://github.com/newrelic/video-caf-js description: Agent to monitor video applications for Chromecast. icon: logo.svg +installPlans: + - third-party-video-chromecast dataSourceIds: - video-chromecast diff --git a/quickstarts/video/video-ios-tvos/config.yml b/quickstarts/video/video-ios-tvos/config.yml index 4143b5bfdf..da3bc6271a 100644 --- a/quickstarts/video/video-ios-tvos/config.yml +++ b/quickstarts/video/video-ios-tvos/config.yml @@ -18,5 +18,7 @@ documentation: url: https://github.com/newrelic/video-agent-iOS description: Agent to monitor video applications for iOS and tvOS. icon: logo.png +installPlans: + - third-party-video-ios-tvos dataSourceIds: - video-ios-tvos diff --git a/quickstarts/video/video-web/video-web-akamai/config.yml b/quickstarts/video/video-web/video-web-akamai/config.yml index 0216f37b32..c7555c2939 100644 --- a/quickstarts/video/video-web/video-web-akamai/config.yml +++ b/quickstarts/video/video-web/video-web-akamai/config.yml @@ -34,6 +34,9 @@ documentation: - name: Video Akamai Installation Docs url: https://github.com/newrelic/video-akamai-js description: Agent to monitor video applications using Akamai player. +installPlans: + - browser-docs + - video-web-akamai dataSourceIds: - new-relic-browser - video-web-akamai diff --git a/quickstarts/video/video-web/video-web-html5/config.yml b/quickstarts/video/video-web/video-web-html5/config.yml index b692fb9f94..d06327f647 100644 --- a/quickstarts/video/video-web/video-web-html5/config.yml +++ b/quickstarts/video/video-web/video-web-html5/config.yml @@ -16,6 +16,9 @@ documentation: - name: Video HTML5 Installation Docs url: https://github.com/newrelic/video-html5-js description: Agent to monitor video applications using HTML5 player. +installPlans: + - browser-docs + - video-web-html5 dataSourceIds: - new-relic-browser - video-web-html5 diff --git a/quickstarts/video/video-web/video-web-jwplayer/config.yml b/quickstarts/video/video-web/video-web-jwplayer/config.yml index a6bfc0503f..6527ce6470 100644 --- a/quickstarts/video/video-web/video-web-jwplayer/config.yml +++ b/quickstarts/video/video-web/video-web-jwplayer/config.yml @@ -16,6 +16,9 @@ documentation: - name: Video JWPlayer Installation Docs url: https://github.com/newrelic/video-jwplayer-js description: Agent to monitor video applications using JWPlayer. +installPlans: + - browser-docs + - video-web-jwplayer dataSourceIds: - new-relic-browser - video-web-jwplayer diff --git a/quickstarts/video/video-web/video-web-theplatform/config.yml b/quickstarts/video/video-web/video-web-theplatform/config.yml index 0813adcde2..f07472ee9e 100644 --- a/quickstarts/video/video-web/video-web-theplatform/config.yml +++ b/quickstarts/video/video-web/video-web-theplatform/config.yml @@ -16,6 +16,9 @@ documentation: - name: Video The Platform Installation Docs url: https://github.com/newrelic/video-theplatform-js description: Agent to monitor video applications using The Platform player. +installPlans: + - browser-docs + - video-web-theplatform dataSourceIds: - new-relic-browser - video-web-theplatform diff --git a/quickstarts/video/video-web/video-web-videojs/config.yml b/quickstarts/video/video-web/video-web-videojs/config.yml index f3828fad57..539adc69e0 100644 --- a/quickstarts/video/video-web/video-web-videojs/config.yml +++ b/quickstarts/video/video-web/video-web-videojs/config.yml @@ -16,6 +16,9 @@ documentation: - name: Video VideoJS Installation Docs url: https://github.com/newrelic/video-videojs-js description: Agent to monitor video applications using VideoJS player. +installPlans: + - browser-docs + - video-web-videojs dataSourceIds: - new-relic-browser - video-web-videojs diff --git a/quickstarts/vmware/vmware-tanzu/config.yml b/quickstarts/vmware/vmware-tanzu/config.yml index 69b072aa77..a87fc4c37c 100644 --- a/quickstarts/vmware/vmware-tanzu/config.yml +++ b/quickstarts/vmware/vmware-tanzu/config.yml @@ -15,5 +15,7 @@ keywords: - infrastructure - kubernetes - k8s +installPlans: + - third-party-vmware-tanzu dataSourceIds: - vmware-tanzu diff --git a/quickstarts/vmware/vmware-vsphere/config.yml b/quickstarts/vmware/vmware-vsphere/config.yml index 06858fc8f4..1db5d523c7 100644 --- a/quickstarts/vmware/vmware-vsphere/config.yml +++ b/quickstarts/vmware/vmware-vsphere/config.yml @@ -16,6 +16,8 @@ keywords: - vsphere - esxi - vcenter +installPlans: + - vsphere-integration dataSourceIds: - vmware-vsphere alertPolicies: diff --git a/quickstarts/windows/windows-desktop/config.yml b/quickstarts/windows/windows-desktop/config.yml index c3653ed522..0e160baa0c 100644 --- a/quickstarts/windows/windows-desktop/config.yml +++ b/quickstarts/windows/windows-desktop/config.yml @@ -24,6 +24,8 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure +installPlans: + - guided-install dataSourceIds: - guided-install icon: logo.svg diff --git a/quickstarts/windows/windows-server/config.yml b/quickstarts/windows/windows-server/config.yml index 3acefae5b9..d2adf4ae6a 100644 --- a/quickstarts/windows/windows-server/config.yml +++ b/quickstarts/windows/windows-server/config.yml @@ -24,6 +24,8 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure +installPlans: + - guided-install dataSourceIds: - guided-install icon: logo.svg diff --git a/quickstarts/winservices/config.yml b/quickstarts/winservices/config.yml index ae2d28ffca..c1818f500b 100644 --- a/quickstarts/winservices/config.yml +++ b/quickstarts/winservices/config.yml @@ -4,15 +4,15 @@ title: Windows Services description: | ## Windows Services - New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. + New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. You can check the state and start mode of each service, find out which hosts are running a service, set up alerts for services, and more. Our integration is bundled with the Windows infrastructure agent. If you're monitoring Windows hosts on New Relic, you only need to enable the integration to get Windows services data into our platform. ### Why it matters - Microsoft Windows services are the Windows equivalent of daemons in Unix and Linux: - long-running executables that can be started, stopped, paused, and restarted without a graphical interface. + Microsoft Windows services are the Windows equivalent of daemons in Unix and Linux: + long-running executables that can be started, stopped, paused, and restarted without a graphical interface. Knowing which services are enabled, or their state or health, is essential when monitoring Windows infrastructure. @@ -38,8 +38,10 @@ authors: documentation: - name: Windows Services monitoring integration description: | - New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. + New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/windows-services-integration/ +installPlans: + - winservices-integration-docs dataSourceIds: - winservices-integration-docs dashboards: diff --git a/quickstarts/wordpress/config.yml b/quickstarts/wordpress/config.yml index d3f49f191f..86bda0b2d4 100644 --- a/quickstarts/wordpress/config.yml +++ b/quickstarts/wordpress/config.yml @@ -30,6 +30,8 @@ documentation: Monitoring for the self-hosted version of the popular CMS and blogging tool. url: https://docs.newrelic.com/docs/agents/php-agent/getting-started/php-agent-compatibility-requirements +installPlans: + - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/xamarin/config.yml b/quickstarts/xamarin/config.yml index 65d63fc44d..17edd25042 100644 --- a/quickstarts/xamarin/config.yml +++ b/quickstarts/xamarin/config.yml @@ -16,6 +16,8 @@ keywords: - xamarin - hybrid mobile - C-sharp mobile +installPlans: + - third-party-xamarin dataSourceIds: - xamarin documentation: diff --git a/quickstarts/xmatters/config.yml b/quickstarts/xmatters/config.yml index dd12088b6d..680e459f01 100644 --- a/quickstarts/xmatters/config.yml +++ b/quickstarts/xmatters/config.yml @@ -27,5 +27,7 @@ documentation: keywords: - xmatters - alerts +installPlans: + - third-party-xmatters dataSourceIds: - xmatters diff --git a/quickstarts/zebrium/config.yml b/quickstarts/zebrium/config.yml index b7e4d3d1e7..a7a788a132 100644 --- a/quickstarts/zebrium/config.yml +++ b/quickstarts/zebrium/config.yml @@ -9,7 +9,7 @@ description: | ### How to use Zebrium - - Send your logs to Zebrium by installing an open source log collector (Zebrium does not retain your logs, it analyzes them inline). + - Send your logs to Zebrium by installing an open source log collector (Zebrium does not retain your logs, it analyzes them inline). - When you know there is a problem, simply look at the Zebrium dashboard and you will see root cause indicators to explain what happened ### Benefits @@ -42,6 +42,8 @@ keywords: - sre - NR1_addData - NR1_sys +installPlans: + - third-party-zebrium dataSourceIds: - zebrium documentation: diff --git a/quickstarts/zenduty/config.yml b/quickstarts/zenduty/config.yml index ffdbc68006..77ecf69929 100644 --- a/quickstarts/zenduty/config.yml +++ b/quickstarts/zenduty/config.yml @@ -14,7 +14,7 @@ description: | Check out the [Zenduty documentation](https://docs.zenduty.com/docs/newrelic) to learn how to setup best in class alerts around the New Relic APM. summary: | - Zenduty provides robust incident response, automation and notification abilities when you send your New Relic alerts to Zenduty. + Zenduty provides robust incident response, automation and notification abilities when you send your New Relic alerts to Zenduty. level: Community authors: - Zenduty @@ -34,5 +34,7 @@ documentation: description: Send your New Relic alerts to Zenduty icon: logo.png website: https://www.zenduty.com +installPlans: + - third-party-zenduty dataSourceIds: - zenduty diff --git a/quickstarts/zipkin/config.yml b/quickstarts/zipkin/config.yml index 5c9e02932c..a7be8929cd 100644 --- a/quickstarts/zipkin/config.yml +++ b/quickstarts/zipkin/config.yml @@ -23,5 +23,7 @@ documentation: keywords: - tracing - apm +installPlans: + - third-party-zipkin dataSourceIds: - zipkin From 1c33503ebe9a856797e848e64a4420cdd1acb197 Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Mon, 26 Aug 2024 14:47:36 -0700 Subject: [PATCH 22/43] chore: Remove deprecated installPlans field from quickstarts yml This reverts commit 5e5dd78db874ed119407c3b545facd2323adf396. --- quickstarts/ads/web/ads-web-gpt/config.yml | 2 -- quickstarts/ads/web/ads-web-prebid/config.yml | 2 -- quickstarts/ajax/config.yml | 10 +++--- quickstarts/android/config.yml | 2 -- quickstarts/apache/config.yml | 4 +-- quickstarts/apis/event/config.yml | 2 -- quickstarts/apis/logs/config.yml | 2 -- quickstarts/apis/metric/config.yml | 2 -- quickstarts/apis/trace/config.yml | 2 -- quickstarts/apm-change-tracking/config.yml | 4 --- quickstarts/apm-logs/config.yml | 2 -- quickstarts/apollo/apollo-server/config.yml | 2 -- quickstarts/argocd/config.yml | 3 -- quickstarts/atlassian/bitbucket/config.yml | 4 +-- .../config.yml | 3 -- .../audit/audit-events-analysis/config.yaml | 2 -- .../config.yml | 3 -- .../k8s-log-ingestion-analysis/config.yaml | 2 -- .../audit/log-ingestion-analysis/config.yml | 3 -- .../config.yml | 2 -- quickstarts/aws/amazon-athena/config.yml | 2 -- quickstarts/aws/amazon-aurora/config.yml | 2 -- .../aws/amazon-cloudfront-logs/config.yml | 6 ++-- quickstarts/aws/amazon-cloudfront/config.yml | 2 -- .../config.yml | 2 -- quickstarts/aws/amazon-cognito/config.yml | 2 -- quickstarts/aws/amazon-connect/config.yml | 2 -- quickstarts/aws/amazon-documentdb/config.yml | 2 -- quickstarts/aws/amazon-dynamodb/config.yml | 2 -- quickstarts/aws/amazon-ebs/config.yml | 2 -- quickstarts/aws/amazon-ec2/config.yml | 2 -- quickstarts/aws/amazon-ecs/config.yml | 2 -- quickstarts/aws/amazon-efs/config.yml | 2 -- .../aws/amazon-eks-on-aws-fargate/config.yml | 2 -- quickstarts/aws/amazon-elasticache/config.yml | 2 -- .../aws/amazon-elasticsearch/config.yml | 2 -- quickstarts/aws/amazon-emr/config.yml | 2 -- quickstarts/aws/amazon-fsx/config.yml | 2 -- .../aws/amazon-kinesis-firehose/config.yml | 2 -- quickstarts/aws/amazon-kinesis/config.yml | 2 -- quickstarts/aws/amazon-linux/config.yml | 2 -- quickstarts/aws/amazon-mq/config.yml | 4 +-- quickstarts/aws/amazon-msk/config.yml | 2 -- quickstarts/aws/amazon-neptune/config.yml | 2 -- quickstarts/aws/amazon-qldb/config.yml | 2 -- .../aws/amazon-rds-enhanced/config.yml | 2 -- quickstarts/aws/amazon-rds/config.yml | 2 -- quickstarts/aws/amazon-redshift/config.yml | 2 -- .../aws/amazon-route53-resolver/config.yml | 2 -- quickstarts/aws/amazon-route53/config.yml | 2 -- .../aws/amazon-s3-storagelens/config.yml | 2 -- quickstarts/aws/amazon-s3/config.yml | 2 -- .../aws/amazon-security-lake/config.yml | 4 +-- quickstarts/aws/amazon-ses/config.yml | 2 -- quickstarts/aws/amazon-sns/config.yml | 2 -- quickstarts/aws/amazon-sqs/config.yml | 2 -- .../aws/amazon-web-services/config.yml | 2 -- quickstarts/aws/aws-appsync/config.yml | 2 -- quickstarts/aws/aws-auto-scaling/config.yml | 2 -- quickstarts/aws/aws-billing/config.yml | 6 ++-- quickstarts/aws/aws-cloudformation/config.yml | 2 -- quickstarts/aws/aws-cloudtrail/config.yml | 2 -- .../aws-cloudwatch-plugin-for-logs/config.yml | 2 -- quickstarts/aws/aws-direct-connect/config.yml | 2 -- .../aws/aws-elastic-beanstalk/config.yml | 2 -- quickstarts/aws/aws-elb/config.yml | 2 -- .../aws/aws-elemental-mediaconvert/config.yml | 2 -- .../aws-elemental-mediapackage-vod/config.yml | 2 -- .../aws/aws-enhanced-monitoring/config.yml | 2 -- .../aws-firelens-plugin-for-logs/config.yml | 2 -- quickstarts/aws/aws-glue/config.yml | 2 -- quickstarts/aws/aws-health/config.yml | 2 -- quickstarts/aws/aws-iam/config.yml | 2 -- quickstarts/aws/aws-iot/config.yml | 2 -- quickstarts/aws/aws-lambda/config.yml | 2 -- quickstarts/aws/aws-nlb-alb/config.yml | 2 -- quickstarts/aws/aws-outposts/config.yml | 2 -- quickstarts/aws/aws-security-hub/config.yml | 4 +-- quickstarts/aws/aws-step-functions/config.yml | 2 -- quickstarts/aws/aws-transitgateway/config.yml | 2 -- .../aws/aws-trusted-advisor/config.yml | 6 ++-- quickstarts/aws/aws-vpc-flow-logs/config.yml | 2 -- quickstarts/aws/aws-vpc/config.yml | 2 -- quickstarts/aws/aws-waf/config.yml | 2 -- quickstarts/aws/aws-x-ray/config.yml | 2 -- .../azure/azure-api-management/config.yml | 4 +-- .../azure/azure-app-service/config.yml | 2 -- quickstarts/azure/azure-containers/config.yml | 4 +-- quickstarts/azure/azure-cosmos-db/config.yml | 4 +-- .../azure/azure-cost-management/config.yml | 2 -- .../azure/azure-datafactories/config.yml | 2 -- quickstarts/azure/azure-event-hubs/config.yml | 2 -- .../azure/azure-express-route/config.yml | 2 -- quickstarts/azure/azure-functions/config.yml | 2 -- quickstarts/azure/azure-key-vault/config.yml | 4 +-- .../config.yml | 4 +-- quickstarts/azure/azure-mariadb/config.yml | 2 -- quickstarts/azure/azure-mysql/config.yml | 6 ++-- quickstarts/azure/azure-postgresql/config.yml | 2 -- .../config.yml | 4 +-- .../azure/azure-service-bus/config.yml | 2 -- quickstarts/azure/azure-storage/config.yml | 8 ++--- .../azure/azure-virtual-machines/config.yml | 2 -- .../azure/azure-virtual-network/config.yml | 6 ++-- quickstarts/azure/azure-vms/config.yml | 2 -- quickstarts/battlesnake/config.yml | 3 -- quickstarts/biztalk360/config.yml | 8 ++--- quickstarts/blameless/config.yml | 2 -- quickstarts/blazor-webassembly/config.yml | 6 ++-- .../browser-segment-investigation/config.yml | 2 -- quickstarts/browser/config.yml | 4 +-- quickstarts/c/config.yml | 2 -- quickstarts/calico/config.yml | 3 -- quickstarts/cassandra/config.yml | 8 ++--- quickstarts/catchpoint/config.yml | 2 -- quickstarts/centos/config.yml | 2 -- quickstarts/circleci/config.yml | 4 +-- quickstarts/cloudflare/config.yml | 2 -- quickstarts/cockroach-db/config.yml | 3 -- quickstarts/confluent-cloud/config.yml | 2 -- quickstarts/consul/config.yml | 2 -- quickstarts/contentsquare/config.yml | 28 +++++++-------- quickstarts/cordova/config.yml | 2 -- quickstarts/core-web-vitals/config.yml | 11 +++--- quickstarts/coredns/config.yml | 3 -- quickstarts/couchbase/config.yml | 2 -- quickstarts/cribl-logstream/config.yml | 4 +-- quickstarts/dapr/config.yml | 2 -- quickstarts/databricks/config.yml | 2 -- quickstarts/datastream2-akamai/config.yml | 4 +-- quickstarts/datazoom/config.yml | 2 -- quickstarts/dbmarlin/config.yml | 2 -- quickstarts/debian/config.yml | 2 -- quickstarts/deeper-network/config.yml | 2 -- quickstarts/delphix/config.yml | 8 ++--- quickstarts/docker/config.yml | 4 +-- quickstarts/dotnet/ado-dotnet/config.yml | 10 +++--- quickstarts/dotnet/asp-dotnet-mvc/config.yml | 2 -- .../dotnet/asp-dotnet-web-forms/config.yml | 2 -- quickstarts/dotnet/blazor-server/config.yml | 16 ++++----- quickstarts/dotnet/csharp/config.yml | 34 +++++++++---------- quickstarts/dotnet/csla-dotnet/config.yml | 2 -- quickstarts/dotnet/dnn-community/config.yml | 2 -- quickstarts/dotnet/dnn-evoq/config.yml | 2 -- quickstarts/dotnet/dotnet-core/config.yml | 2 -- .../dotnet/dotnet-mvc-web-api/config.yml | 2 -- quickstarts/dotnet/dotnet/config.yml | 2 -- quickstarts/dotnet/episerver-cms/config.yml | 4 +-- quickstarts/dotnet/fubumvc/config.yml | 6 ++-- quickstarts/dotnet/iis/config.yml | 4 +-- quickstarts/dotnet/jayrock/config.yml | 2 -- quickstarts/dotnet/monorail/config.yml | 2 -- quickstarts/dotnet/msmq/config.yml | 2 -- quickstarts/dotnet/nancyfx/config.yml | 2 -- quickstarts/dotnet/nservicebus/config.yml | 12 +++---- quickstarts/dotnet/openrasta/config.yml | 2 -- quickstarts/dotnet/restsharp/config.yml | 4 +-- quickstarts/dotnet/servicestack/config.yml | 2 -- quickstarts/dotnet/silverlight/config.yml | 2 -- quickstarts/dotnet/springdotnet/config.yml | 2 -- quickstarts/dotnet/umbraco/config.yml | 4 +-- quickstarts/dropwizard/config.yml | 2 -- quickstarts/drupal/config.yml | 2 -- quickstarts/elasticsearch/config.yml | 2 -- quickstarts/elixir/config.yml | 3 -- quickstarts/etcd/config.yml | 3 -- quickstarts/f5/config.yml | 4 +-- quickstarts/fastly/config.yml | 2 -- .../fluent-bit-plugin-for-logs/config.yml | 2 -- .../fluentd-plugin-for-logs/config.yml | 2 -- .../full-stack-observability/config.yml | 3 -- quickstarts/full-story/config.yml | 2 -- quickstarts/gatsby-build/config.yml | 4 +-- quickstarts/gcp/apigee-api/config.yml | 2 -- quickstarts/gcp/gcp-cloud-run/config.yml | 2 -- quickstarts/gcp/gcp-dataflow/config.yml | 2 -- quickstarts/gcp/gcp-dataproc/config.yml | 2 -- quickstarts/gcp/gcp-datastore/config.yml | 2 -- .../gcp/gcp-dedicated-interconnect/config.yml | 2 -- .../gcp/gcp-firebase-database/config.yml | 2 -- .../gcp/gcp-firebase-hosting/config.yml | 2 -- .../gcp/gcp-firebase-storage/config.yml | 2 -- quickstarts/gcp/gcp-firestore/config.yml | 2 -- quickstarts/gcp/gcp-router/config.yml | 2 -- quickstarts/gcp/gcp-vpc/config.yml | 2 -- quickstarts/gcp/google-app-engine/config.yml | 2 -- quickstarts/gcp/google-bigquery/config.yml | 2 -- .../gcp/google-cloud-functions/config.yml | 2 -- .../gcp/google-cloud-spanner-otel/config.yml | 2 -- .../gcp/google-cloud-spanner/config.yml | 2 -- quickstarts/gcp/google-cloud-sql/config.yml | 2 -- .../gcp/google-cloud-storage/config.yml | 2 -- .../gcp/google-compute-engine/config.yml | 2 -- .../gcp/google-load-balancing/config.yml | 2 -- quickstarts/gcp/google-pub-sub/config.yml | 2 -- quickstarts/gigamon-appinsights/config.yml | 8 ++--- quickstarts/gigamon/config.yml | 2 -- quickstarts/github/config.yml | 4 +-- quickstarts/gitlab/config.yml | 3 -- quickstarts/glassbox/config.yml | 2 -- quickstarts/golang/echo/config.yml | 4 +-- quickstarts/golang/gin/config.yml | 4 +-- quickstarts/golang/golang/config.yml | 2 -- quickstarts/golang/httprouter/config.yml | 4 +-- quickstarts/golang/lambda-go/config.yml | 2 -- quickstarts/golang/logrus/config.yml | 2 -- quickstarts/golang/logxi/config.yml | 2 -- quickstarts/golang/micro/config.yml | 2 -- quickstarts/golang/mux/config.yml | 2 -- quickstarts/golang/nats/config.yml | 4 +-- quickstarts/golang/pkg-errors/config.yml | 2 -- quickstarts/golang/zap/config.yml | 4 +-- .../grafana-dashboard-migration/config.yml | 2 -- .../grafana-prometheus-integration/config.yml | 2 -- quickstarts/haproxy/config.yml | 8 ++--- quickstarts/harbor/config.yml | 3 -- quickstarts/hashicorp/hcp-consul/config.yml | 4 +-- quickstarts/hashicorp/hcp-vault/config.yml | 8 ++--- quickstarts/heroku/config.yml | 2 -- quickstarts/hivemq/config.yml | 3 -- quickstarts/ibmmq/config.yml | 3 -- quickstarts/infrastructure/config.yml | 4 +-- quickstarts/ios/config.yml | 2 -- quickstarts/java/adobe-cq/config.yml | 4 +-- quickstarts/java/akka/config.yml | 4 +-- quickstarts/java/anorm/config.yml | 4 +-- quickstarts/java/asynchttpclient/config.yml | 2 -- quickstarts/java/camel/config.yml | 4 +-- quickstarts/java/coldfusion/config.yml | 4 +-- quickstarts/java/cxf/config.yml | 2 -- .../java/datastax-cassandra/config.yml | 2 -- quickstarts/java/derby/config.yml | 4 +-- quickstarts/java/ejb-session-beans/config.yml | 4 +-- .../java/elasticsearch-query/config.yml | 4 +-- quickstarts/java/gcp-pubsub/config.yml | 2 -- quickstarts/java/generic-jdbc/config.yml | 4 +-- quickstarts/java/glassfish/config.yml | 2 -- quickstarts/java/grails/config.yml | 2 -- quickstarts/java/grpc/config.yml | 4 +-- quickstarts/java/h2/config.yml | 2 -- quickstarts/java/hibernate/config.yml | 4 +-- quickstarts/java/hsql/config.yml | 2 -- quickstarts/java/hystrix/config.yml | 4 +-- quickstarts/java/ibm-db2/config.yml | 2 -- quickstarts/java/inet-merlia/config.yml | 2 -- quickstarts/java/java/config.yml | 8 ++--- quickstarts/java/jax-rs/config.yml | 2 -- quickstarts/java/jcache-api/config.yml | 2 -- quickstarts/java/jdbc-executebatch/config.yml | 8 ++--- quickstarts/java/jersey/config.yml | 2 -- quickstarts/java/jetty/config.yml | 4 +-- quickstarts/java/jms/config.yml | 4 +-- quickstarts/java/jsf/config.yml | 4 +-- quickstarts/java/jsp/config.yml | 4 +-- quickstarts/java/mule-esb/config.yml | 2 -- quickstarts/java/netty/config.yml | 6 ++-- quickstarts/java/oc4j/config.yml | 2 -- quickstarts/java/play-ws/config.yml | 2 -- quickstarts/java/play/config.yml | 4 +-- .../java/quartz-job-scheduler/config.yml | 4 +-- quickstarts/java/resin/config.yml | 4 +-- quickstarts/java/resteasy/config.yml | 4 +-- quickstarts/java/scala/config.yml | 4 +-- quickstarts/java/slick/config.yml | 2 -- quickstarts/java/solr/config.yml | 4 +-- quickstarts/java/spray-can/config.yml | 4 +-- quickstarts/java/spring-jms/config.yml | 4 +-- quickstarts/java/spring/config.yml | 4 +-- quickstarts/java/spymemcached/config.yml | 4 +-- quickstarts/java/struts/config.yml | 4 +-- quickstarts/java/thrift/config.yml | 4 +-- quickstarts/java/tomcat/config.yml | 2 -- quickstarts/java/tomee/config.yml | 4 +-- quickstarts/java/vert-x/config.yml | 4 +-- quickstarts/java/weblogic/config.yml | 2 -- .../java/websphere-liberty-profile/config.yml | 4 +-- quickstarts/java/websphere/config.yml | 2 -- quickstarts/java/wildfly/config.yml | 4 +-- quickstarts/jenkins/config.yml | 6 ++-- quickstarts/jfrog-platform/config.yml | 14 ++++---- quickstarts/jira-errors/config.yml | 2 -- quickstarts/jmx/config.yml | 3 -- quickstarts/kafka/config.yml | 12 +++---- quickstarts/kamon/config.yml | 2 -- quickstarts/kentik/config.yml | 2 -- quickstarts/kubernetes-prometheus/config.yml | 26 +++++++------- .../azure-kubernetes-service/config.yml | 2 -- .../google-kubernetes-engine/config.yml | 2 -- quickstarts/kubernetes/kubernetes/config.yml | 2 -- quickstarts/kubernetes/nginx/config.yml | 3 -- quickstarts/lacework/config.yml | 6 ++-- quickstarts/lamp/config.yml | 4 --- quickstarts/lampy/config.yml | 31 +++++++---------- quickstarts/launchdarkly/config.yml | 2 -- quickstarts/lighthouse/config.yml | 2 -- quickstarts/linux/config.yml | 2 -- .../logstash-plugin-for-logs/config.yml | 2 -- quickstarts/macos/config.yml | 2 -- quickstarts/mariadb/config.yml | 2 -- quickstarts/memcached/config.yml | 2 -- quickstarts/micrometer/config.yml | 2 -- quickstarts/mlops/aporia/config.yml | 2 -- quickstarts/mlops/bring-your-own/config.yml | 2 -- quickstarts/mlops/comet/config.yml | 2 -- quickstarts/mlops/dagshub/config.yml | 2 -- quickstarts/mlops/mona/config.yml | 2 -- quickstarts/mlops/truera/config.yml | 2 -- quickstarts/mobile-crash-analytics/config.yml | 10 +++--- .../mobile-network-performance/config.yml | 6 ++-- quickstarts/mobile/config.yml | 2 -- quickstarts/mongodb/config.yml | 12 +++---- quickstarts/mssql/config.yml | 2 -- quickstarts/mysql/config.yml | 8 ++--- quickstarts/nagios/config.yml | 2 -- quickstarts/netlify/netlify-builds/config.yml | 2 -- quickstarts/netlify/netlify-logs/config.yml | 6 ++-- .../arista-switches/config.yml | 2 -- .../network-monitoring/bgpNeighbor/config.yml | 2 -- .../cisco-ip-sla-operations/config.yml | 2 -- .../ciscoHardware/config.yml | 2 -- .../network-routers-and-switches/config.yml | 2 -- .../network-syslog/config.yml | 2 -- quickstarts/nextcloud/config.yml | 16 ++++----- quickstarts/nginx/config.yml | 2 -- quickstarts/node-exporter/config.yml | 2 -- quickstarts/node-js/express/config.yml | 2 -- quickstarts/node-js/hapi/config.yml | 2 -- quickstarts/node-js/koa/config.yml | 2 -- quickstarts/node-js/node-js/config.yml | 10 +++--- quickstarts/node-js/restify/config.yml | 2 -- quickstarts/node-js/typescript/config.yml | 2 -- .../observability-as-code/ansible/config.yml | 2 -- .../observability-as-code/chef/config.yml | 2 -- .../observability-as-code/cli/config.yml | 2 -- .../observability-as-code/pulumi/config.yml | 2 -- .../observability-as-code/puppet/config.yml | 2 -- .../terraform/config.yml | 2 -- quickstarts/okhttp/config.yml | 2 -- quickstarts/oma-aqm/config.yml | 2 -- quickstarts/oma-bofu/config.yml | 6 ++-- quickstarts/oma-data-gov/config.yml | 2 -- quickstarts/oma-qf/config.yml | 4 +-- quickstarts/opencensus/config.yml | 2 -- quickstarts/opentelemetry/config.yml | 2 -- .../oracle/inet-oracle-driver/config.yml | 2 -- quickstarts/oracle/oracle-database/config.yml | 2 -- quickstarts/pagerduty/pagerduty/config.yml | 2 -- quickstarts/perfmon/config.yml | 2 -- quickstarts/php/cakephp/config.yml | 2 -- quickstarts/php/codeigniter/config.yml | 4 +-- quickstarts/php/guzzle/config.yml | 2 -- quickstarts/php/joomla/config.yml | 2 -- quickstarts/php/kohana/config.yml | 4 +-- quickstarts/php/laravel/config.yml | 6 ++-- quickstarts/php/magento/config.yml | 4 +-- quickstarts/php/mediawiki/config.yml | 2 -- quickstarts/php/odbc/config.yml | 2 -- quickstarts/php/pdo/config.yml | 4 +-- quickstarts/php/php/config.yml | 4 +-- quickstarts/php/phpunit/config.yml | 4 +-- quickstarts/php/predis/config.yml | 4 +-- quickstarts/php/silex/config.yml | 2 -- quickstarts/php/slim/config.yml | 2 -- quickstarts/php/sqlite/config.yml | 2 -- quickstarts/php/symfony/config.yml | 2 -- quickstarts/php/yii/config.yml | 4 +-- quickstarts/pixie/config.yml | 2 -- quickstarts/port-monitoring/config.yml | 2 -- quickstarts/postgresql/config.yml | 2 -- quickstarts/postman/config.yml | 2 -- quickstarts/prometheus-agent/config.yml | 4 +-- .../prometheus-remote-write/config.yml | 12 +++---- quickstarts/python/aiohttp/config.yml | 2 -- quickstarts/python/amqplib/config.yml | 2 -- quickstarts/python/bottle/config.yml | 2 -- quickstarts/python/celery/config.yml | 2 -- quickstarts/python/cherrypy/config.yml | 4 +-- quickstarts/python/django/config.yml | 2 -- quickstarts/python/facepy/config.yml | 2 -- quickstarts/python/falcon/config.yml | 2 -- quickstarts/python/fastapi/config.yml | 2 -- quickstarts/python/feedparser/config.yml | 2 -- quickstarts/python/flask/config.yml | 2 -- quickstarts/python/gearman/config.yml | 2 -- quickstarts/python/gevent/config.yml | 2 -- quickstarts/python/httplib2/config.yml | 2 -- quickstarts/python/jinja2/config.yml | 2 -- quickstarts/python/mako/config.yml | 2 -- quickstarts/python/oursql/config.yml | 2 -- quickstarts/python/pika/config.yml | 2 -- quickstarts/python/piston/config.yml | 2 -- quickstarts/python/proboscis/config.yml | 2 -- quickstarts/python/psycopg2/config.yml | 6 ++-- quickstarts/python/pyelasticsearch/config.yml | 2 -- quickstarts/python/pylibmc/config.yml | 2 -- quickstarts/python/pylons/config.yml | 2 -- quickstarts/python/pymongo/config.yml | 2 -- quickstarts/python/pyramid/config.yml | 2 -- quickstarts/python/pysqlite/config.yml | 2 -- quickstarts/python/python/config.yml | 6 ++-- quickstarts/python/sanic/config.yml | 2 -- quickstarts/python/tastypie/config.yml | 2 -- quickstarts/python/tornado/config.yml | 2 -- quickstarts/python/twisted/config.yml | 2 -- quickstarts/python/web2py/config.yml | 2 -- quickstarts/python/webpy/config.yml | 2 -- quickstarts/quantum-metric/config.yml | 2 -- quickstarts/rabbitmq/config.yml | 8 ++--- .../red-hat-enterprise-linux/config.yml | 2 -- .../redhat/red-hat-openshift/config.yml | 2 -- quickstarts/redis-prometheus/config.yml | 3 -- quickstarts/redis/config.yml | 2 -- quickstarts/redisenterprise/config.yml | 4 +-- quickstarts/releaseiq/config.yml | 2 -- quickstarts/roku/config.yml | 7 ++-- quickstarts/ruby/activerecord/config.yml | 2 -- quickstarts/ruby/acts-as-solr/config.yml | 2 -- quickstarts/ruby/authlogic/config.yml | 2 -- quickstarts/ruby/bunny/config.yml | 2 -- quickstarts/ruby/curb/config.yml | 4 +-- quickstarts/ruby/dalli/config.yml | 2 -- quickstarts/ruby/delayed-job/config.yml | 2 -- quickstarts/ruby/excon/config.yml | 2 -- quickstarts/ruby/grape/config.yml | 2 -- quickstarts/ruby/httpclient/config.yml | 2 -- quickstarts/ruby/httprb/config.yml | 2 -- quickstarts/ruby/net-http/config.yml | 2 -- quickstarts/ruby/padrino/config.yml | 2 -- quickstarts/ruby/passenger/config.yml | 2 -- quickstarts/ruby/puma/config.yml | 2 -- quickstarts/ruby/rack/config.yml | 2 -- quickstarts/ruby/rails/config.yml | 2 -- quickstarts/ruby/rainbows/config.yml | 2 -- quickstarts/ruby/rake/config.yml | 2 -- quickstarts/ruby/resque/config.yml | 2 -- quickstarts/ruby/ruby/config.yml | 2 -- quickstarts/ruby/sequel/config.yml | 2 -- quickstarts/ruby/sidekiq/config.yml | 2 -- quickstarts/ruby/sinatra/config.yml | 2 -- quickstarts/ruby/sunspot/config.yml | 2 -- quickstarts/ruby/thin/config.yml | 2 -- quickstarts/ruby/typhoeus/config.yml | 2 -- quickstarts/ruby/unicorn/config.yml | 2 -- quickstarts/ruby/webrick/config.yml | 2 -- .../salesforce-eventlog-for-logs/config.yml | 2 -- quickstarts/security/config.yml | 6 ++-- quickstarts/sendgrid/config.yml | 4 --- quickstarts/signl4/config.yml | 2 -- quickstarts/snmp/config.yml | 2 -- quickstarts/snyk/config.yml | 2 -- quickstarts/speedscale/config.yml | 4 +-- quickstarts/split/config.yml | 2 -- quickstarts/squid-prometheus/config.yml | 3 -- quickstarts/statsd/config.yml | 4 +-- .../suse-linux-enterprise-server/config.yml | 2 -- quickstarts/sybase/config.yml | 7 ++-- .../synthetics-optimization/config.yml | 2 -- .../synthetics/availability/config.yml | 2 -- .../endpoint-availability/config.yml | 2 -- .../synthetics/page-link-crawler/config.yml | 2 -- .../page-load-performance/config.yml | 2 -- .../synthetics/private-locations/config.yml | 3 -- .../ssl-certification-check/config.yml | 2 -- quickstarts/synthetics/user-flow/config.yml | 2 -- .../synthetics/user-step-execution/config.yml | 2 -- quickstarts/traefik/config.yml | 3 -- .../trendmicro-cloudone-conformity/config.yml | 2 -- quickstarts/trivy/config.yml | 6 ++-- quickstarts/tvos/config.yml | 3 -- quickstarts/ubuntu/config.yml | 2 -- quickstarts/unix/config.yml | 2 -- quickstarts/varnish/config.yml | 2 -- quickstarts/velero-prometheus/config.yml | 6 ++-- quickstarts/vercel/config.yml | 2 -- quickstarts/video/video-android/config.yml | 3 -- quickstarts/video/video-chromecast/config.yml | 2 -- quickstarts/video/video-ios-tvos/config.yml | 2 -- .../video-web/video-web-akamai/config.yml | 3 -- .../video-web/video-web-html5/config.yml | 3 -- .../video-web/video-web-jwplayer/config.yml | 3 -- .../video-web-theplatform/config.yml | 3 -- .../video-web/video-web-videojs/config.yml | 3 -- quickstarts/vmware/vmware-tanzu/config.yml | 2 -- quickstarts/vmware/vmware-vsphere/config.yml | 2 -- .../windows/windows-desktop/config.yml | 2 -- quickstarts/windows/windows-server/config.yml | 2 -- quickstarts/winservices/config.yml | 10 +++--- quickstarts/wordpress/config.yml | 2 -- quickstarts/xamarin/config.yml | 2 -- quickstarts/xmatters/config.yml | 2 -- quickstarts/zebrium/config.yml | 4 +-- quickstarts/zenduty/config.yml | 4 +-- quickstarts/zipkin/config.yml | 2 -- 493 files changed, 270 insertions(+), 1300 deletions(-) diff --git a/quickstarts/ads/web/ads-web-gpt/config.yml b/quickstarts/ads/web/ads-web-gpt/config.yml index 8c47904572..861db856aa 100644 --- a/quickstarts/ads/web/ads-web-gpt/config.yml +++ b/quickstarts/ads/web/ads-web-gpt/config.yml @@ -13,8 +13,6 @@ keywords: - tracking - GPT - NR1_addData -installPlans: - - third-party-ads-web-gpt dataSourceIds: - ads-web-gpt documentation: diff --git a/quickstarts/ads/web/ads-web-prebid/config.yml b/quickstarts/ads/web/ads-web-prebid/config.yml index c30f943708..1f61863ce9 100644 --- a/quickstarts/ads/web/ads-web-prebid/config.yml +++ b/quickstarts/ads/web/ads-web-prebid/config.yml @@ -13,8 +13,6 @@ keywords: - tracking - Prebid - NR1_addData -installPlans: - - third-party-ads-web-prebid dataSourceIds: - ads-web-prebid documentation: diff --git a/quickstarts/ajax/config.yml b/quickstarts/ajax/config.yml index fdfee80489..0a95d693dd 100644 --- a/quickstarts/ajax/config.yml +++ b/quickstarts/ajax/config.yml @@ -18,15 +18,15 @@ description: | 4. **Optimize application performance:** By reviewing AJAX requests in New Relic, you can identify opportunities to optimize your application's performance. For example, you may identify slow-loading AJAX requests that can be optimized by reducing the size of the payload or optimizing the code. - + **Distributed tracing with AJAX requests in a microsystem architecture can provide several benefits:** 1. **End-to-end visibility:** Distributed tracing allows you to trace the flow of a request across multiple services in your microsystem architecture. With AJAX requests, you can trace the request from the client-side through to the server-side, allowing you to see the complete end-to-end flow of the request. - + 2. **Performance monitoring:** Distributed tracing can provide valuable insights into the performance of your microsystem architecture. By tracing the flow of requests, you can identify bottlenecks and optimize the performance of your system. - + 3. **Debugging and troubleshooting:** Distributed tracing can make it easier to debug and troubleshoot issues in your microsystem architecture. By tracing the flow of a request, you can quickly identify which service is causing the issue and address it. - + 4. **Root cause analysis:** Distributed tracing can help you identify the root cause of issues in your microsystem architecture. By tracing the flow of requests, you can identify the root cause of a problem and take steps to prevent similar issues from occurring in the future. icon: logo.svg @@ -36,8 +36,6 @@ documentation: description: >- With New Relic One's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ -installPlans: - - browser-docs dataSourceIds: - new-relic-browser diff --git a/quickstarts/android/config.yml b/quickstarts/android/config.yml index 32290861dd..5cbfd7d965 100644 --- a/quickstarts/android/config.yml +++ b/quickstarts/android/config.yml @@ -22,8 +22,6 @@ documentation: Mobile operating system based on a modified Linux kernel and other open source software. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/get-started/introduction-new-relic-mobile-android -installPlans: - - android-mobile dataSourceIds: - android keywords: diff --git a/quickstarts/apache/config.yml b/quickstarts/apache/config.yml index a4b1da0257..ab7eed94d4 100644 --- a/quickstarts/apache/config.yml +++ b/quickstarts/apache/config.yml @@ -34,8 +34,6 @@ documentation: description: | Free and open-source cross-platform web server software, released under the terms of Apache License 2.0. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/apache-monitoring-integration/ -installPlans: - - apache-integration dataSourceIds: - apache keywords: @@ -46,4 +44,4 @@ keywords: dashboards: - apache alertPolicies: - - apache + - apache diff --git a/quickstarts/apis/event/config.yml b/quickstarts/apis/event/config.yml index bb0d1e32d3..205035356b 100644 --- a/quickstarts/apis/event/config.yml +++ b/quickstarts/apis/event/config.yml @@ -9,8 +9,6 @@ level: New Relic authors: - New Relic title: Event API -installPlans: - - third-party-event-api dataSourceIds: - event-api documentation: diff --git a/quickstarts/apis/logs/config.yml b/quickstarts/apis/logs/config.yml index 1a1c361b80..7ee187d8f4 100644 --- a/quickstarts/apis/logs/config.yml +++ b/quickstarts/apis/logs/config.yml @@ -9,8 +9,6 @@ level: New Relic authors: - New Relic title: Logs API -installPlans: - - third-party-logs-api dataSourceIds: - logs-api documentation: diff --git a/quickstarts/apis/metric/config.yml b/quickstarts/apis/metric/config.yml index 5234650757..d24951a79d 100644 --- a/quickstarts/apis/metric/config.yml +++ b/quickstarts/apis/metric/config.yml @@ -9,8 +9,6 @@ level: New Relic authors: - New Relic title: Metric API -installPlans: - - third-party-metric-api dataSourceIds: - metric-api documentation: diff --git a/quickstarts/apis/trace/config.yml b/quickstarts/apis/trace/config.yml index 635b8581f5..3137f0f733 100644 --- a/quickstarts/apis/trace/config.yml +++ b/quickstarts/apis/trace/config.yml @@ -14,8 +14,6 @@ documentation: description: | Our Trace API is used to send distributed tracing data to New Relic: either in our own generic format or the Zipkin data format. This API is also how trace data from some of our integrations and exporters is reported to New Relic. url: https://docs.newrelic.com/docs/distributed-tracing/trace-api/introduction-trace-api/ -installPlans: - - third-party-trace-and-span-api dataSourceIds: - trace-and-span-api keywords: diff --git a/quickstarts/apm-change-tracking/config.yml b/quickstarts/apm-change-tracking/config.yml index 65f1e6ecf7..6589f240c8 100644 --- a/quickstarts/apm-change-tracking/config.yml +++ b/quickstarts/apm-change-tracking/config.yml @@ -14,8 +14,6 @@ keywords: - marker - change - tracking -installPlans: - - change-tracking dataSourceIds: - change-tracking documentation: @@ -25,5 +23,3 @@ documentation: icon: logo.svg dashboards: - change-tracking-apm - - \ No newline at end of file diff --git a/quickstarts/apm-logs/config.yml b/quickstarts/apm-logs/config.yml index 6c3014bf92..eeb1de7e6f 100644 --- a/quickstarts/apm-logs/config.yml +++ b/quickstarts/apm-logs/config.yml @@ -13,8 +13,6 @@ authors: keywords: - logs - APM -installPlans: - - apm-logs dataSourceIds: - guided-install documentation: diff --git a/quickstarts/apollo/apollo-server/config.yml b/quickstarts/apollo/apollo-server/config.yml index d0738b661b..73c6718cdb 100644 --- a/quickstarts/apollo/apollo-server/config.yml +++ b/quickstarts/apollo/apollo-server/config.yml @@ -36,8 +36,6 @@ keywords: - fastify - lambda - NR1_addData -installPlans: - - node-agent dashboards: - apollo-server dataSourceIds: diff --git a/quickstarts/argocd/config.yml b/quickstarts/argocd/config.yml index 010e3d88ec..ced93ec4e6 100644 --- a/quickstarts/argocd/config.yml +++ b/quickstarts/argocd/config.yml @@ -52,9 +52,6 @@ keywords: - grafana - featured - NR1_addData -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/atlassian/bitbucket/config.yml b/quickstarts/atlassian/bitbucket/config.yml index 1b49e23050..fdcfdba63d 100644 --- a/quickstarts/atlassian/bitbucket/config.yml +++ b/quickstarts/atlassian/bitbucket/config.yml @@ -10,7 +10,7 @@ description: | ### About this quickstart - This quickstart is built around a [Bitbucket Pipe](https://bitbucket.org/product/features/pipelines/integrations) integration. This tool will enable you to send CI/CD events into New Relic, where you can monitor your Bitbucket Pipelines. + This quickstart is built around a [Bitbucket Pipe](https://bitbucket.org/product/features/pipelines/integrations) integration. This tool will enable you to send CI/CD events into New Relic, where you can monitor your Bitbucket Pipelines. With this visualization you can monitor: - Number of events/pipeline builds @@ -30,8 +30,6 @@ keywords: - pipeline - NR1_addData - NR1_sys -installPlans: - - third-party-bitbucket dataSourceIds: - bitbucket documentation: diff --git a/quickstarts/audit/account-data-ingestion-analysis/config.yml b/quickstarts/audit/account-data-ingestion-analysis/config.yml index a593f0ac4b..bfa1dd743d 100644 --- a/quickstarts/audit/account-data-ingestion-analysis/config.yml +++ b/quickstarts/audit/account-data-ingestion-analysis/config.yml @@ -13,8 +13,6 @@ authors: keywords: - data - ingest -installPlans: - - telemetry-data-platform dataSourceIds: - telemetry-data-platform documentation: @@ -23,4 +21,3 @@ documentation: description: Manage data coming into New Relic dashboards: - data-ingestion-breakdown - diff --git a/quickstarts/audit/audit-events-analysis/config.yaml b/quickstarts/audit/audit-events-analysis/config.yaml index c5015b3bdd..577e08f870 100644 --- a/quickstarts/audit/audit-events-analysis/config.yaml +++ b/quickstarts/audit/audit-events-analysis/config.yaml @@ -26,8 +26,6 @@ keywords: - new relic - NR1_addData - NR1_sys -installPlans: - - third-party-audit-events-analysis dataSourceIds: - audit-events-analysis documentation: diff --git a/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml b/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml index 35d6173f44..4cecfa2532 100644 --- a/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml +++ b/quickstarts/audit/infrastructure-integrations-data-analysis/config.yml @@ -23,8 +23,6 @@ keywords: - pixie - NR1_addData - NR1_sys -installPlans: - - telemetry-data-platform dataSourceIds: - telemetry-data-platform documentation: @@ -40,4 +38,3 @@ dashboards: - gcp-integrations-data-ingest-analysis - kubernetes-data-ingest-analysis - on-host-integrations-data-analysis - diff --git a/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml b/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml index bf5fec2edd..77b494f77e 100644 --- a/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml +++ b/quickstarts/audit/k8s-log-ingestion-analysis/config.yaml @@ -41,8 +41,6 @@ documentation: description: | Kubernetes plugin for log forwarding -installPlans: - - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/audit/log-ingestion-analysis/config.yml b/quickstarts/audit/log-ingestion-analysis/config.yml index 14330a371f..dfe64e8540 100644 --- a/quickstarts/audit/log-ingestion-analysis/config.yml +++ b/quickstarts/audit/log-ingestion-analysis/config.yml @@ -15,8 +15,6 @@ keywords: - data - NR1_addData - NR1_sys -installPlans: - - logs-default dataSourceIds: - logs-default documentation: @@ -28,4 +26,3 @@ icon: logo.svg website: https://www.newrelic.com dashboards: - log-analysis - diff --git a/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml b/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml index 37eddc51c0..593f864c96 100644 --- a/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml +++ b/quickstarts/audit/network-data-ingest-and-cardinality-analysis/config.yml @@ -22,8 +22,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - network-performance-monitoring dataSourceIds: - network-data-ingest-and-cardinality documentation: diff --git a/quickstarts/aws/amazon-athena/config.yml b/quickstarts/aws/amazon-athena/config.yml index 4d8c9a0bcd..b5c5c5a1bf 100644 --- a/quickstarts/aws/amazon-athena/config.yml +++ b/quickstarts/aws/amazon-athena/config.yml @@ -36,8 +36,6 @@ keywords: - aws - amazon web services - database -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-aurora/config.yml b/quickstarts/aws/amazon-aurora/config.yml index 1907427acf..d83b0b6551 100644 --- a/quickstarts/aws/amazon-aurora/config.yml +++ b/quickstarts/aws/amazon-aurora/config.yml @@ -36,8 +36,6 @@ keywords: - rds - aurora - NR1_addData -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-cloudfront-logs/config.yml b/quickstarts/aws/amazon-cloudfront-logs/config.yml index 806246f750..f7ddf92d2f 100644 --- a/quickstarts/aws/amazon-cloudfront-logs/config.yml +++ b/quickstarts/aws/amazon-cloudfront-logs/config.yml @@ -7,13 +7,13 @@ description: |- ### Get started! - Start monitoring Amazon CloudFront by sending your Amazon Cloudfront Web Logs to New Relic. + Start monitoring Amazon CloudFront by sending your Amazon Cloudfront Web Logs to New Relic. Check out our Amazon CloudFront documentation to instrument your cloud service and manage the stability, scalability, and reliability of your systems with New Relic's Log monitoring capabilities. ### More info - Check out the [documentation](https://docs.newrelic.com/docs/logs/forward-logs/cloudfront-web-logs/) to learn more about New Relic monitoring for Amazon CloudFront. + Check out the [documentation](https://docs.newrelic.com/docs/logs/forward-logs/cloudfront-web-logs/) to learn more about New Relic monitoring for Amazon CloudFront. summary: Monitor Amazon CloudFront Web logs in New Relic icon: logo.svg level: New Relic @@ -39,8 +39,6 @@ keywords: - NR1_sys dashboards: - amazon-cloudfront-web-logs -installPlans: - - amazon-cloudfront-web-logs dataSourceIds: - aws-cloudfront-logs alertPolicies: diff --git a/quickstarts/aws/amazon-cloudfront/config.yml b/quickstarts/aws/amazon-cloudfront/config.yml index 4b7a619a88..5bbf738c97 100644 --- a/quickstarts/aws/amazon-cloudfront/config.yml +++ b/quickstarts/aws/amazon-cloudfront/config.yml @@ -19,7 +19,5 @@ keywords: - web content dashboards: - amazon-cloudfront -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml b/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml index 67f475fe46..cdd3fe055d 100644 --- a/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml +++ b/quickstarts/aws/amazon-cloudwatch-metric-streams/config.yml @@ -25,7 +25,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-cognito/config.yml b/quickstarts/aws/amazon-cognito/config.yml index db4c226dd3..ed1ee48b55 100644 --- a/quickstarts/aws/amazon-cognito/config.yml +++ b/quickstarts/aws/amazon-cognito/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - amazon-cognito -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-connect/config.yml b/quickstarts/aws/amazon-connect/config.yml index 31742f7faf..bb38537ddb 100644 --- a/quickstarts/aws/amazon-connect/config.yml +++ b/quickstarts/aws/amazon-connect/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - amazon-connect -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-documentdb/config.yml b/quickstarts/aws/amazon-documentdb/config.yml index 4d54bd457a..e3f7f66192 100644 --- a/quickstarts/aws/amazon-documentdb/config.yml +++ b/quickstarts/aws/amazon-documentdb/config.yml @@ -28,7 +28,5 @@ documentation: icon: logo.svg dashboards: - amazon-documentdb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-dynamodb/config.yml b/quickstarts/aws/amazon-dynamodb/config.yml index 0ba0414783..26e97eb136 100644 --- a/quickstarts/aws/amazon-dynamodb/config.yml +++ b/quickstarts/aws/amazon-dynamodb/config.yml @@ -30,8 +30,6 @@ documentation: icon: logo.svg dashboards: - amazon-dynamodb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams alertPolicies: diff --git a/quickstarts/aws/amazon-ebs/config.yml b/quickstarts/aws/amazon-ebs/config.yml index 34740cbc10..3b91d49f82 100644 --- a/quickstarts/aws/amazon-ebs/config.yml +++ b/quickstarts/aws/amazon-ebs/config.yml @@ -20,7 +20,5 @@ documentation: icon: logo.svg dashboards: - amazon-ebs -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-ec2/config.yml b/quickstarts/aws/amazon-ec2/config.yml index d505615461..de334d580f 100644 --- a/quickstarts/aws/amazon-ec2/config.yml +++ b/quickstarts/aws/amazon-ec2/config.yml @@ -19,8 +19,6 @@ documentation: icon: logo.svg dashboards: - amazon-ec2 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams alertPolicies: diff --git a/quickstarts/aws/amazon-ecs/config.yml b/quickstarts/aws/amazon-ecs/config.yml index 76a9c15666..220126a2ec 100644 --- a/quickstarts/aws/amazon-ecs/config.yml +++ b/quickstarts/aws/amazon-ecs/config.yml @@ -20,7 +20,5 @@ documentation: icon: logo.svg dashboards: - amazon-ecs -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-efs/config.yml b/quickstarts/aws/amazon-efs/config.yml index 8c89847cde..3e6789c2d2 100644 --- a/quickstarts/aws/amazon-efs/config.yml +++ b/quickstarts/aws/amazon-efs/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - amazon-efs -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml b/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml index 2e1e038b56..ea682065f2 100644 --- a/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml +++ b/quickstarts/aws/amazon-eks-on-aws-fargate/config.yml @@ -20,7 +20,5 @@ keywords: - kubernetes - k8s - NR1_addData -installPlans: - - third-party-amazon-eks-on-aws-fargate dataSourceIds: - amazon-eks-on-aws-fargate diff --git a/quickstarts/aws/amazon-elasticache/config.yml b/quickstarts/aws/amazon-elasticache/config.yml index 747e6c5d4f..d35df3d471 100644 --- a/quickstarts/aws/amazon-elasticache/config.yml +++ b/quickstarts/aws/amazon-elasticache/config.yml @@ -20,7 +20,5 @@ icon: logo.svg dashboards: - amazon-elasticache-redis - amazon-elasticache-memcached -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-elasticsearch/config.yml b/quickstarts/aws/amazon-elasticsearch/config.yml index 41b5a0ea0f..bb58140a83 100644 --- a/quickstarts/aws/amazon-elasticsearch/config.yml +++ b/quickstarts/aws/amazon-elasticsearch/config.yml @@ -33,7 +33,5 @@ keywords: - amazon web services dashboards: - amazon-elasticsearch -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-emr/config.yml b/quickstarts/aws/amazon-emr/config.yml index b2b59af215..45d34bb4ef 100644 --- a/quickstarts/aws/amazon-emr/config.yml +++ b/quickstarts/aws/amazon-emr/config.yml @@ -33,7 +33,5 @@ keywords: - analytics dashboards: - amazon-emr -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-fsx/config.yml b/quickstarts/aws/amazon-fsx/config.yml index b0fc9988fc..57b11b4273 100644 --- a/quickstarts/aws/amazon-fsx/config.yml +++ b/quickstarts/aws/amazon-fsx/config.yml @@ -37,7 +37,5 @@ keywords: - windows file server dashboards: - amazon-fsx -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-kinesis-firehose/config.yml b/quickstarts/aws/amazon-kinesis-firehose/config.yml index 2434551997..95dbf0ec5c 100644 --- a/quickstarts/aws/amazon-kinesis-firehose/config.yml +++ b/quickstarts/aws/amazon-kinesis-firehose/config.yml @@ -34,8 +34,6 @@ keywords: - aws - amazon web services - NR1_addData -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-kinesis/config.yml b/quickstarts/aws/amazon-kinesis/config.yml index 41582e0c7c..a77fbeaf6e 100644 --- a/quickstarts/aws/amazon-kinesis/config.yml +++ b/quickstarts/aws/amazon-kinesis/config.yml @@ -34,7 +34,5 @@ keywords: - amazon web services dashboards: - amazon-kinesis -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-linux/config.yml b/quickstarts/aws/amazon-linux/config.yml index d26a0b5406..7a290716de 100644 --- a/quickstarts/aws/amazon-linux/config.yml +++ b/quickstarts/aws/amazon-linux/config.yml @@ -27,8 +27,6 @@ keywords: - os - operating system - NR1_addData -installPlans: - - guided-install dataSourceIds: - guided-install dashboards: diff --git a/quickstarts/aws/amazon-mq/config.yml b/quickstarts/aws/amazon-mq/config.yml index 0a4ed0de07..640404dec4 100644 --- a/quickstarts/aws/amazon-mq/config.yml +++ b/quickstarts/aws/amazon-mq/config.yml @@ -11,7 +11,7 @@ description: |- Check out our Amazon MQ documentation to instrument your cloud service and manage the stability, scalability, and reliability of your systems with New Relic's infrastructure monitoring capabilities. - ### More info + ### More info Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-mq-integration/) to learn more about New Relic monitoring for Amazon MQ. @@ -32,8 +32,6 @@ keywords: - messaging - queue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-msk/config.yml b/quickstarts/aws/amazon-msk/config.yml index 88e3339524..bea7f705cf 100644 --- a/quickstarts/aws/amazon-msk/config.yml +++ b/quickstarts/aws/amazon-msk/config.yml @@ -34,8 +34,6 @@ keywords: - aws - amazon web services - queue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-neptune/config.yml b/quickstarts/aws/amazon-neptune/config.yml index e7a7a1b5ea..f8361bfe91 100644 --- a/quickstarts/aws/amazon-neptune/config.yml +++ b/quickstarts/aws/amazon-neptune/config.yml @@ -35,7 +35,5 @@ keywords: - neptune dashboards: - amazon-neptune -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-qldb/config.yml b/quickstarts/aws/amazon-qldb/config.yml index d809eb3411..0dae785bef 100644 --- a/quickstarts/aws/amazon-qldb/config.yml +++ b/quickstarts/aws/amazon-qldb/config.yml @@ -42,8 +42,6 @@ keywords: - aws - amazon web services - database -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-rds-enhanced/config.yml b/quickstarts/aws/amazon-rds-enhanced/config.yml index 49d28eb2dc..6a10145971 100644 --- a/quickstarts/aws/amazon-rds-enhanced/config.yml +++ b/quickstarts/aws/amazon-rds-enhanced/config.yml @@ -19,7 +19,5 @@ keywords: - NR1_addData dashboards: - amazon-rds -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-rds/config.yml b/quickstarts/aws/amazon-rds/config.yml index 13a3e5bdb0..fc43590281 100644 --- a/quickstarts/aws/amazon-rds/config.yml +++ b/quickstarts/aws/amazon-rds/config.yml @@ -34,8 +34,6 @@ keywords: - aws - amazon web services - database -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-redshift/config.yml b/quickstarts/aws/amazon-redshift/config.yml index 4c15c846c7..b68aca7d77 100644 --- a/quickstarts/aws/amazon-redshift/config.yml +++ b/quickstarts/aws/amazon-redshift/config.yml @@ -36,7 +36,5 @@ keywords: - redshift dashboards: - amazon-redshift -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-route53-resolver/config.yml b/quickstarts/aws/amazon-route53-resolver/config.yml index 3edc1c7594..59b2cff762 100644 --- a/quickstarts/aws/amazon-route53-resolver/config.yml +++ b/quickstarts/aws/amazon-route53-resolver/config.yml @@ -20,7 +20,5 @@ keywords: - NR1_addData dashboards: - amazon-route53 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-route53/config.yml b/quickstarts/aws/amazon-route53/config.yml index 9cb3fb80fa..3b2f7552cc 100644 --- a/quickstarts/aws/amazon-route53/config.yml +++ b/quickstarts/aws/amazon-route53/config.yml @@ -35,7 +35,5 @@ keywords: - networking dashboards: - amazon-route53 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-s3-storagelens/config.yml b/quickstarts/aws/amazon-s3-storagelens/config.yml index 67b37e3b19..36ab80b0b1 100644 --- a/quickstarts/aws/amazon-s3-storagelens/config.yml +++ b/quickstarts/aws/amazon-s3-storagelens/config.yml @@ -31,8 +31,6 @@ keywords: - storage - logs - logging -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-s3/config.yml b/quickstarts/aws/amazon-s3/config.yml index 087f9cab2b..d446d5fb32 100644 --- a/quickstarts/aws/amazon-s3/config.yml +++ b/quickstarts/aws/amazon-s3/config.yml @@ -36,8 +36,6 @@ keywords: - storage - logs - logging -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-security-lake/config.yml b/quickstarts/aws/amazon-security-lake/config.yml index f3059ff107..a11f1fddb1 100644 --- a/quickstarts/aws/amazon-security-lake/config.yml +++ b/quickstarts/aws/amazon-security-lake/config.yml @@ -3,7 +3,7 @@ slug: aws-security-lake description: |- ## What is Amazon Security Lake? - Amazon Security Lake allow you to automatically centralize your security data in just a few steps. + Amazon Security Lake allow you to automatically centralize your security data in just a few steps. ### Get started! @@ -43,7 +43,5 @@ dashboards: - amazon-security-lake-security-hub - amazon-security-lake-route53-resolver-query-logs - amazon-security-lake-cloudtrail-logs -installPlans: - - aws-security-lake dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-ses/config.yml b/quickstarts/aws/amazon-ses/config.yml index 3cd428d5ee..df5111b965 100644 --- a/quickstarts/aws/amazon-ses/config.yml +++ b/quickstarts/aws/amazon-ses/config.yml @@ -18,7 +18,5 @@ keywords: - messaging dashboards: - amazon-ses -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-sns/config.yml b/quickstarts/aws/amazon-sns/config.yml index 6150294e38..ef3d0d45ab 100644 --- a/quickstarts/aws/amazon-sns/config.yml +++ b/quickstarts/aws/amazon-sns/config.yml @@ -35,7 +35,5 @@ keywords: - messaging dashboards: - amazon-sns -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/amazon-sqs/config.yml b/quickstarts/aws/amazon-sqs/config.yml index fdcf48a706..79b5e8f2b7 100644 --- a/quickstarts/aws/amazon-sqs/config.yml +++ b/quickstarts/aws/amazon-sqs/config.yml @@ -18,8 +18,6 @@ keywords: - aws - amazon web services - queue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/amazon-web-services/config.yml b/quickstarts/aws/amazon-web-services/config.yml index 193d0fe184..21d4290b39 100644 --- a/quickstarts/aws/amazon-web-services/config.yml +++ b/quickstarts/aws/amazon-web-services/config.yml @@ -34,7 +34,5 @@ keywords: - amazon web services - cloudwatch - cloudwach metric streams -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-appsync/config.yml b/quickstarts/aws/aws-appsync/config.yml index 70ee829301..f1290afb86 100644 --- a/quickstarts/aws/aws-appsync/config.yml +++ b/quickstarts/aws/aws-appsync/config.yml @@ -37,7 +37,5 @@ keywords: - NR1_addData dashboards: - aws-appsync -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-auto-scaling/config.yml b/quickstarts/aws/aws-auto-scaling/config.yml index f54d071f92..b36174db5f 100644 --- a/quickstarts/aws/aws-auto-scaling/config.yml +++ b/quickstarts/aws/aws-auto-scaling/config.yml @@ -35,7 +35,5 @@ keywords: - auto scaling dashboards: - aws-auto-scaling -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-billing/config.yml b/quickstarts/aws/aws-billing/config.yml index 2c7a890ad8..54939adf6a 100644 --- a/quickstarts/aws/aws-billing/config.yml +++ b/quickstarts/aws/aws-billing/config.yml @@ -11,9 +11,9 @@ description: |- ### Why monitor AWS Billing with New Relic? - With our AWS Billing integration, you can gain visibility into all of your financial data. Our integration aggregates data from different sub-accounts and services and looks at your budgets in actual and forecasted spend. The best part? It’s all in one place. + With our AWS Billing integration, you can gain visibility into all of your financial data. Our integration aggregates data from different sub-accounts and services and looks at your budgets in actual and forecasted spend. The best part? It’s all in one place. - Start ingesting your AWS billing data today and visualize your AWS billing metrics in real-time. + Start ingesting your AWS billing data today and visualize your AWS billing metrics in real-time. summary: Monitoring AWS Billing is critical to effectively track AWS cost and usage. Download the New Relic AWS Billing quickstart to proactively monitor AWS financial data including AWS billing metrics and AWS budget metrics. icon: logo.svg level: New Relic @@ -34,7 +34,5 @@ keywords: - costs dashboards: - aws-billing -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudformation/config.yml b/quickstarts/aws/aws-cloudformation/config.yml index e9b386eee9..be30e0a87b 100644 --- a/quickstarts/aws/aws-cloudformation/config.yml +++ b/quickstarts/aws/aws-cloudformation/config.yml @@ -31,7 +31,5 @@ keywords: - aws - amazon web services - automation -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudtrail/config.yml b/quickstarts/aws/aws-cloudtrail/config.yml index e588ceb05d..6a7505b3f6 100644 --- a/quickstarts/aws/aws-cloudtrail/config.yml +++ b/quickstarts/aws/aws-cloudtrail/config.yml @@ -31,7 +31,5 @@ keywords: - aws - amazon web services - security -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml b/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml index c4244e14d0..8e15a67261 100644 --- a/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml +++ b/quickstarts/aws/aws-cloudwatch-plugin-for-logs/config.yml @@ -7,8 +7,6 @@ icon: logo.svg level: New Relic authors: - New Relic -installPlans: - - third-party-aws-cloudwatch-plugin-for-logs dataSourceIds: - amazon-cloudwatch documentation: diff --git a/quickstarts/aws/aws-direct-connect/config.yml b/quickstarts/aws/aws-direct-connect/config.yml index d856b749b2..0264bdfa18 100644 --- a/quickstarts/aws/aws-direct-connect/config.yml +++ b/quickstarts/aws/aws-direct-connect/config.yml @@ -19,7 +19,5 @@ documentation: icon: logo.svg dashboards: - aws-directconnect -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elastic-beanstalk/config.yml b/quickstarts/aws/aws-elastic-beanstalk/config.yml index c072f56613..9831dfa0a9 100644 --- a/quickstarts/aws/aws-elastic-beanstalk/config.yml +++ b/quickstarts/aws/aws-elastic-beanstalk/config.yml @@ -35,7 +35,5 @@ keywords: - deploy dashboards: - aws-elasticbeanstalk -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elb/config.yml b/quickstarts/aws/aws-elb/config.yml index b9f0147c2b..8d81d0ca88 100644 --- a/quickstarts/aws/aws-elb/config.yml +++ b/quickstarts/aws/aws-elb/config.yml @@ -32,7 +32,5 @@ keywords: - networking dashboards: - aws-elb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elemental-mediaconvert/config.yml b/quickstarts/aws/aws-elemental-mediaconvert/config.yml index e85defefa3..c31f973f22 100644 --- a/quickstarts/aws/aws-elemental-mediaconvert/config.yml +++ b/quickstarts/aws/aws-elemental-mediaconvert/config.yml @@ -33,7 +33,5 @@ keywords: - amazon web services dashboards: - aws-elemental-mediaconvert -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml b/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml index 966beb17bc..bf66fe0505 100644 --- a/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml +++ b/quickstarts/aws/aws-elemental-mediapackage-vod/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-enhanced-monitoring/config.yml b/quickstarts/aws/aws-enhanced-monitoring/config.yml index 94d0262122..ac3041bc91 100644 --- a/quickstarts/aws/aws-enhanced-monitoring/config.yml +++ b/quickstarts/aws/aws-enhanced-monitoring/config.yml @@ -36,7 +36,5 @@ documentation: icon: logo.svg dashboards: - aws-lambda -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml b/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml index 26e1025126..44ff040548 100644 --- a/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml +++ b/quickstarts/aws/aws-firelens-plugin-for-logs/config.yml @@ -7,8 +7,6 @@ level: New Relic authors: - New Relic title: AWS FireLens plugin for Logs -installPlans: - - third-party-aws-firelens-plugin-for-logs dataSourceIds: - aws-firelens documentation: diff --git a/quickstarts/aws/aws-glue/config.yml b/quickstarts/aws/aws-glue/config.yml index 1a7b329455..29f1f6b339 100644 --- a/quickstarts/aws/aws-glue/config.yml +++ b/quickstarts/aws/aws-glue/config.yml @@ -32,7 +32,5 @@ keywords: - data integration dashboards: - aws-glue -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-health/config.yml b/quickstarts/aws/aws-health/config.yml index 359e66e051..917a3aaefb 100644 --- a/quickstarts/aws/aws-health/config.yml +++ b/quickstarts/aws/aws-health/config.yml @@ -33,7 +33,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-iam/config.yml b/quickstarts/aws/aws-iam/config.yml index d3a6018fd0..f68c6fab0a 100644 --- a/quickstarts/aws/aws-iam/config.yml +++ b/quickstarts/aws/aws-iam/config.yml @@ -35,7 +35,5 @@ keywords: - Identity and access management dashboards: - aws-iam -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-iot/config.yml b/quickstarts/aws/aws-iot/config.yml index 13c181ef41..0dfb4c6cb4 100644 --- a/quickstarts/aws/aws-iot/config.yml +++ b/quickstarts/aws/aws-iot/config.yml @@ -34,7 +34,5 @@ keywords: - amazon web services dashboards: - aws-iot -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-lambda/config.yml b/quickstarts/aws/aws-lambda/config.yml index 6abd58abe1..a6fefb8d17 100644 --- a/quickstarts/aws/aws-lambda/config.yml +++ b/quickstarts/aws/aws-lambda/config.yml @@ -35,8 +35,6 @@ keywords: - amazon web services - serverless - lambda -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams dashboards: diff --git a/quickstarts/aws/aws-nlb-alb/config.yml b/quickstarts/aws/aws-nlb-alb/config.yml index f481e1f3d1..2d25e32503 100644 --- a/quickstarts/aws/aws-nlb-alb/config.yml +++ b/quickstarts/aws/aws-nlb-alb/config.yml @@ -37,7 +37,5 @@ dashboards: - aws-alb - aws-nlb -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-outposts/config.yml b/quickstarts/aws/aws-outposts/config.yml index 255d58b8c3..2ff3fade66 100644 --- a/quickstarts/aws/aws-outposts/config.yml +++ b/quickstarts/aws/aws-outposts/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-security-hub/config.yml b/quickstarts/aws/aws-security-hub/config.yml index 6e14302827..f9df9156e1 100644 --- a/quickstarts/aws/aws-security-hub/config.yml +++ b/quickstarts/aws/aws-security-hub/config.yml @@ -20,7 +20,7 @@ description: | ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/aws) to learn more about New Relic ingestion for AWS Security Hub. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/aws) to learn more about New Relic ingestion for AWS Security Hub. summary: Ingest AWS Security Hub by connecting AWS to New Relic icon: logo.png level: New Relic @@ -30,8 +30,6 @@ documentation: - name: AWS Security Hub installation docs description: Cloud-based service for detecting vulnerabilities in AWS resources. url: https://docs.newrelic.com/docs/vulnerability-management/integrations/aws -installPlans: - - aws-security-hub-install dataSourceIds: - aws-security-hub keywords: diff --git a/quickstarts/aws/aws-step-functions/config.yml b/quickstarts/aws/aws-step-functions/config.yml index d1439f7d6e..e2fa36050e 100644 --- a/quickstarts/aws/aws-step-functions/config.yml +++ b/quickstarts/aws/aws-step-functions/config.yml @@ -19,7 +19,5 @@ keywords: - serverless dashboards: - aws-step-functions -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-transitgateway/config.yml b/quickstarts/aws/aws-transitgateway/config.yml index 8752f52c4d..56f224bede 100644 --- a/quickstarts/aws/aws-transitgateway/config.yml +++ b/quickstarts/aws/aws-transitgateway/config.yml @@ -19,7 +19,5 @@ keywords: - networking dashboards: - aws-transitgateway -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-trusted-advisor/config.yml b/quickstarts/aws/aws-trusted-advisor/config.yml index a1f5a360e6..8cf1100bf2 100644 --- a/quickstarts/aws/aws-trusted-advisor/config.yml +++ b/quickstarts/aws/aws-trusted-advisor/config.yml @@ -8,7 +8,7 @@ description: |- ### New Relic AWS Trusted Advisor quickstart features - The New Relic AWS Trusted Advisor monitoring quickstart empowers you with our [AWS Trusted Advisor integration](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-trusted-advisor-integration/) to collect data about key metrics, query the data and gain valuable insights. + The New Relic AWS Trusted Advisor monitoring quickstart empowers you with our [AWS Trusted Advisor integration](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-trusted-advisor-integration/) to collect data about key metrics, query the data and gain valuable insights. ### Why monitor AWS Trusted Advisor with New Relic? @@ -16,7 +16,7 @@ description: |- You can activate the integration by following our [standard procedures](https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/getting-started/connect-aws-integrations-infrastructure) for connecting AWS services to New Relic. The monitoring quickstart helps you to track key AWS Trusted Advisor metrics like AWS region, current usage, limit amount, service limit usage, status, and timestamp. - Install the New Relic AWS Trusted Advisor quickstart today to proactively monitor AWS Trusted Advisor and keep getting quality recommendations that help you follow AWS best practices. + Install the New Relic AWS Trusted Advisor quickstart today to proactively monitor AWS Trusted Advisor and keep getting quality recommendations that help you follow AWS best practices. summary: Monitoring AWS Trusted Advisor is critical to keep getting quality recommendations that help you follow AWS best practices. Download the New Relic quickstart to proactively instrument AWS Trusted Advisor with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -31,7 +31,5 @@ documentation: keywords: - aws - amazon web services -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/aws/aws-vpc-flow-logs/config.yml b/quickstarts/aws/aws-vpc-flow-logs/config.yml index 2d3820a669..2c3a415be2 100644 --- a/quickstarts/aws/aws-vpc-flow-logs/config.yml +++ b/quickstarts/aws/aws-vpc-flow-logs/config.yml @@ -37,7 +37,5 @@ keywords: - kinesis firehose - kinesis data firehose - networking -installPlans: - - aws-vpc-flow-logs dataSourceIds: - aws-vpc-flow-logs diff --git a/quickstarts/aws/aws-vpc/config.yml b/quickstarts/aws/aws-vpc/config.yml index 01805c4c91..220b3d4847 100644 --- a/quickstarts/aws/aws-vpc/config.yml +++ b/quickstarts/aws/aws-vpc/config.yml @@ -35,7 +35,5 @@ keywords: - networking dashboards: - amazon-vpc -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-waf/config.yml b/quickstarts/aws/aws-waf/config.yml index dab2a454c4..924c280c66 100644 --- a/quickstarts/aws/aws-waf/config.yml +++ b/quickstarts/aws/aws-waf/config.yml @@ -19,7 +19,5 @@ keywords: dashboards: - aws-waf - aws-wafv2 -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/aws/aws-x-ray/config.yml b/quickstarts/aws/aws-x-ray/config.yml index 7d03434ea7..39f11fdfc0 100644 --- a/quickstarts/aws/aws-x-ray/config.yml +++ b/quickstarts/aws/aws-x-ray/config.yml @@ -31,7 +31,5 @@ keywords: - aws - amazon web services - tracing -installPlans: - - aws-infrastructure-monitoring dataSourceIds: - amazon-web-services diff --git a/quickstarts/azure/azure-api-management/config.yml b/quickstarts/azure/azure-api-management/config.yml index bed29b27e1..f3cb277dee 100644 --- a/quickstarts/azure/azure-api-management/config.yml +++ b/quickstarts/azure/azure-api-management/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-api-management-monitoring-integration/) to learn more about New Relic monitoring for Azure API Management. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-api-management-monitoring-integration/) to learn more about New Relic monitoring for Azure API Management. summary: Monitor Azure API Management by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -28,7 +28,5 @@ documentation: keywords: - azure - api -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-app-service/config.yml b/quickstarts/azure/azure-app-service/config.yml index 86540a629e..3d0a268388 100644 --- a/quickstarts/azure/azure-app-service/config.yml +++ b/quickstarts/azure/azure-app-service/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - azure - web -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-containers/config.yml b/quickstarts/azure/azure-containers/config.yml index 4373264dd3..5b5ba8bcf8 100644 --- a/quickstarts/azure/azure-containers/config.yml +++ b/quickstarts/azure/azure-containers/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-containers-monitoring-integration/) to learn more about New Relic monitoring for Azure Containers. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-containers-monitoring-integration/) to learn more about New Relic monitoring for Azure Containers. summary: Monitor Azure Containers by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ documentation: keywords: - azure - containers -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-cosmos-db/config.yml b/quickstarts/azure/azure-cosmos-db/config.yml index 93512ed845..4296f1e14b 100644 --- a/quickstarts/azure/azure-cosmos-db/config.yml +++ b/quickstarts/azure/azure-cosmos-db/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration/) to learn more about New Relic monitoring for Azure Cosmos DB. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration/) to learn more about New Relic monitoring for Azure Cosmos DB. summary: Monitor Azure Cosmos DB by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -29,8 +29,6 @@ documentation: keywords: - azure - database -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-cost-management/config.yml b/quickstarts/azure/azure-cost-management/config.yml index 9e377efd1b..b4132f4020 100644 --- a/quickstarts/azure/azure-cost-management/config.yml +++ b/quickstarts/azure/azure-cost-management/config.yml @@ -31,8 +31,6 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cost-management-monitoring-integration/ keywords: - azure -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-datafactories/config.yml b/quickstarts/azure/azure-datafactories/config.yml index ea261c00a1..b41c9eb1a5 100644 --- a/quickstarts/azure/azure-datafactories/config.yml +++ b/quickstarts/azure/azure-datafactories/config.yml @@ -37,7 +37,5 @@ keywords: - NR1_sys dashboards: - azure-datafactories -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-event-hubs/config.yml b/quickstarts/azure/azure-event-hubs/config.yml index e2c16d0ada..a218768bc5 100644 --- a/quickstarts/azure/azure-event-hubs/config.yml +++ b/quickstarts/azure/azure-event-hubs/config.yml @@ -31,7 +31,5 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-express-route/config.yml b/quickstarts/azure/azure-express-route/config.yml index b0cfd2ed6e..dfa6168afe 100644 --- a/quickstarts/azure/azure-express-route/config.yml +++ b/quickstarts/azure/azure-express-route/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - azure - networking -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-functions/config.yml b/quickstarts/azure/azure-functions/config.yml index 15e019f0c2..11101a9c59 100644 --- a/quickstarts/azure/azure-functions/config.yml +++ b/quickstarts/azure/azure-functions/config.yml @@ -33,8 +33,6 @@ keywords: - serverless - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-key-vault/config.yml b/quickstarts/azure/azure-key-vault/config.yml index 77bfbacd21..66d2671f88 100644 --- a/quickstarts/azure/azure-key-vault/config.yml +++ b/quickstarts/azure/azure-key-vault/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-key-vault-monitoring-integration) to learn more about New Relic monitoring for Azure Key Vault. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-key-vault-monitoring-integration) to learn more about New Relic monitoring for Azure Key Vault. summary: Monitor Azure Key Vault by connecting Azure to New Relic icon: logo.png level: New Relic @@ -30,8 +30,6 @@ keywords: - keyvault - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-machine-learning-services/config.yml b/quickstarts/azure/azure-machine-learning-services/config.yml index bf9c5733bb..8d2dc4ccf2 100644 --- a/quickstarts/azure/azure-machine-learning-services/config.yml +++ b/quickstarts/azure/azure-machine-learning-services/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-machine-learning-integration/) to learn more about New Relic monitoring for Azure Machine Learning Services. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-machine-learning-integration/) to learn more about New Relic monitoring for Azure Machine Learning Services. summary: Monitor Azure Machine Learning Services by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -28,7 +28,5 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-mariadb/config.yml b/quickstarts/azure/azure-mariadb/config.yml index 8394c07046..9ae1de829b 100644 --- a/quickstarts/azure/azure-mariadb/config.yml +++ b/quickstarts/azure/azure-mariadb/config.yml @@ -33,8 +33,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-mysql/config.yml b/quickstarts/azure/azure-mysql/config.yml index 10add42d10..2d1bf5cbc8 100644 --- a/quickstarts/azure/azure-mysql/config.yml +++ b/quickstarts/azure/azure-mysql/config.yml @@ -8,7 +8,7 @@ description: |- ### New Relic + Azure integration - The New Relic Azure MySQL monitoring quickstart instruments your cloud service and manages the stability, scalability, and reliability of Azure MySQL with our infrastructure monitoring capabilities. + The New Relic Azure MySQL monitoring quickstart instruments your cloud service and manages the stability, scalability, and reliability of Azure MySQL with our infrastructure monitoring capabilities. Once instrumented, we proactively track your organization’s Azure MySQL metric data in real-time. @@ -18,7 +18,7 @@ description: |- With our [Azure integration](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-database-mysql-monitoring-integration/), you can view the Azure database for mysql data in pre-built dashboards, create your own alert conditions, and run custom queries for easy data visualization. - If you’re looking to optimize your mysql database with high availability, elastic scaling, and more, install our quickstart. + If you’re looking to optimize your mysql database with high availability, elastic scaling, and more, install our quickstart. summary: Monitoring Azure MySQL is crucial to track your organization’s Azure MySQL metric data in real-time. Download the New Relic quickstart to proactively instrument Azure MySQL with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -36,8 +36,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-postgresql/config.yml b/quickstarts/azure/azure-postgresql/config.yml index 9e3fa1814b..5e84ae54f5 100644 --- a/quickstarts/azure/azure-postgresql/config.yml +++ b/quickstarts/azure/azure-postgresql/config.yml @@ -33,8 +33,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml b/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml index 8843c21404..e0b114cbd8 100644 --- a/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml +++ b/quickstarts/azure/azure-power-bi-dedicated-capacities/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-power-bi-dedicated-capacities-monitoring-integration/) to learn more about New Relic monitoring for Azure Power BI Dedicated capacities. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-power-bi-dedicated-capacities-monitoring-integration/) to learn more about New Relic monitoring for Azure Power BI Dedicated capacities. summary: Monitor Azure Power BI Dedicated capacities by connecting Azure to New Relic icon: logo.png level: New Relic @@ -29,7 +29,5 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-service-bus/config.yml b/quickstarts/azure/azure-service-bus/config.yml index ce5ed0ecf5..90bc1d5441 100644 --- a/quickstarts/azure/azure-service-bus/config.yml +++ b/quickstarts/azure/azure-service-bus/config.yml @@ -32,7 +32,5 @@ keywords: - messaging - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure diff --git a/quickstarts/azure/azure-storage/config.yml b/quickstarts/azure/azure-storage/config.yml index 7b9c59c878..c30183c8ef 100644 --- a/quickstarts/azure/azure-storage/config.yml +++ b/quickstarts/azure/azure-storage/config.yml @@ -3,7 +3,7 @@ slug: azure-storage description: |- ## What is Azure Storage? - Azure Storage is Microsoft’s cloud storage solution that offers highly available, scalable, secure, and durable storage for different data objects in the cloud. + Azure Storage is Microsoft’s cloud storage solution that offers highly available, scalable, secure, and durable storage for different data objects in the cloud. ### New Relic Azure storage quickstart features @@ -17,11 +17,11 @@ description: |- ### Why monitor Azure Storage with New Relic? - [New Relic Azure Storage](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-storage-monitoring-integration/) monitoring quickstart empowers you to track the performance of Azure Storage via different metrics including account used capacity, the amount of ingress and egress data, and latency. + [New Relic Azure Storage](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-storage-monitoring-integration/) monitoring quickstart empowers you to track the performance of Azure Storage via different metrics including account used capacity, the amount of ingress and egress data, and latency. Our integration features a standard dashboard that provides interactive visualizations to explore your data, understand context, and get valuable insights. We’ve also made it easy for you to view your data in pre-built dashboards, create specialized alerts, and run custom queries with immediate data visualization. - Start ingesting your Azure data today and get immediate access to our visualization dashboards so you can optimize your Azure service. + Start ingesting your Azure data today and get immediate access to our visualization dashboards so you can optimize your Azure service. summary: Monitoring Azure Storage is critical to track the performance of the storage via key metrics. Download New Relic Azure Storage monitoring quickstart to proactively instrument Azure Storage with New Relic infrastructure monitoring capabilities. icon: logo.svg level: New Relic @@ -39,8 +39,6 @@ keywords: - storage - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-virtual-machines/config.yml b/quickstarts/azure/azure-virtual-machines/config.yml index 8434a78b0a..79a6b0b020 100644 --- a/quickstarts/azure/azure-virtual-machines/config.yml +++ b/quickstarts/azure/azure-virtual-machines/config.yml @@ -28,8 +28,6 @@ keywords: - virtual machines - NR1_addData - NR1_sys -installPlans: - - third-party-azure-virtual-machines dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-virtual-network/config.yml b/quickstarts/azure/azure-virtual-network/config.yml index 2db4390bbb..0b2659af39 100644 --- a/quickstarts/azure/azure-virtual-network/config.yml +++ b/quickstarts/azure/azure-virtual-network/config.yml @@ -2,7 +2,7 @@ id: f812a124-5443-4451-94d3-32b54c109555 slug: azure-virtual-network description: | ## What is Azure Virtual Network? - Azure Virtual Network (VNet) provides the means for Azure cloud resources such as virtual machines to securely communicate with each other as well as the rest of the internet and on-premises resources. Using VNet to create a private network gives you control over network filtering, routing, and other key pieces of the network infrastructure. + Azure Virtual Network (VNet) provides the means for Azure cloud resources such as virtual machines to securely communicate with each other as well as the rest of the internet and on-premises resources. Using VNet to create a private network gives you control over network filtering, routing, and other key pieces of the network infrastructure. Given an Azure virtual network, you can do things like assign a public IP, assign a load balancer, and handle outbound connections. VNets are ideal for developers deploying on Azure resources who want fine-grained control over network management. ### New Relic Azure Vnet integration @@ -14,7 +14,7 @@ description: | - Virtual network per resource group: Shows the number of virtual networks deployed within each resource group ### Why monitor Azure Virtual Network with New Relic? - Having insight into Azure virtual network performance is key to keeping network systems healthy and reliable. Virtual networks are often vulnerable to attack, so continuous monitoring of IP requests and understanding which IPs may be experiencing a distributed denial of service (DDOS) attack can be critical for initiating a proactive response. + Having insight into Azure virtual network performance is key to keeping network systems healthy and reliable. Virtual networks are often vulnerable to attack, so continuous monitoring of IP requests and understanding which IPs may be experiencing a distributed denial of service (DDOS) attack can be critical for initiating a proactive response. The virtual network time series display can give insight into fluctuations in network health and uptime within a specified interval and can be useful for drilling down into any deviations from the norm. Finally, being able to understand how virtual networks are distributed across geographic regions can help you pinpoint when a particular region is being underserved and deploy network resources accordingly. summary: | @@ -34,8 +34,6 @@ keywords: - networking - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/azure/azure-vms/config.yml b/quickstarts/azure/azure-vms/config.yml index cf1136af31..77148c88b5 100644 --- a/quickstarts/azure/azure-vms/config.yml +++ b/quickstarts/azure/azure-vms/config.yml @@ -31,8 +31,6 @@ keywords: - azure - NR1_addData - NR1_sys -installPlans: - - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure dashboards: diff --git a/quickstarts/battlesnake/config.yml b/quickstarts/battlesnake/config.yml index 23626acdaf..c5c5f34808 100644 --- a/quickstarts/battlesnake/config.yml +++ b/quickstarts/battlesnake/config.yml @@ -14,8 +14,6 @@ authors: - New Relic - Zack Stickles (New Relic) - Alec Swanson (New Relic) -installPlans: - - battlesnake dataSourceIds: - battlesnake documentation: @@ -36,4 +34,3 @@ dashboards: - battlesnake-game-tracking - battlesnake-performance - battlesnake-server-status - diff --git a/quickstarts/biztalk360/config.yml b/quickstarts/biztalk360/config.yml index b86230d0af..6006104076 100644 --- a/quickstarts/biztalk360/config.yml +++ b/quickstarts/biztalk360/config.yml @@ -2,7 +2,7 @@ id: 95e5a505-7373-4980-9ce8-e6165930063e slug: biztalk360 title: BizTalk360 description: | - ## What's BizTalk360? + ## What's BizTalk360? BizTalk360 is a one-stop tool for administration, monitoring and application performance management (APM) of BizTalk environments. To be able to use the integration with New Relic from BizTalk360, you must have : @@ -10,8 +10,8 @@ description: | - BizTalk360 Platinum license . - You must be a Super User in your BizTalk360 application to configure the New Relic environment in BizTalk360 - Below are some of the important performance metrics you can see in your Newrelic dashboard. - + Below are some of the important performance metrics you can see in your Newrelic dashboard. + - BizTalk and SQL Server Health - CPU Usage - Memory Usage @@ -52,8 +52,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-biztalk360 dataSourceIds: - third-party-biztalk360 documentation: diff --git a/quickstarts/blameless/config.yml b/quickstarts/blameless/config.yml index 0d661e67bc..921fb85f5f 100644 --- a/quickstarts/blameless/config.yml +++ b/quickstarts/blameless/config.yml @@ -11,8 +11,6 @@ level: Community authors: - Blameless title: Blameless -installPlans: - - third-party-blameless dataSourceIds: - blameless documentation: diff --git a/quickstarts/blazor-webassembly/config.yml b/quickstarts/blazor-webassembly/config.yml index 516fa1ea2a..4c93698f80 100644 --- a/quickstarts/blazor-webassembly/config.yml +++ b/quickstarts/blazor-webassembly/config.yml @@ -19,7 +19,7 @@ description: | ## What’s included? Get these Blazor WebAssembly monitoring features out of the box: - - Understand the health of your system with dashboards that show throughput and error rate data, logs, web transaction time, page views, page load time, and more. + - Understand the health of your system with dashboards that show throughput and error rate data, logs, web transaction time, page views, page load time, and more. - Get alerts when your application suffers critical failures and errors. - Monitor scripts and functions. - Monitor web transactions. @@ -33,7 +33,7 @@ title: Blazor WebAssembly documentation: - name: Blazor WebAssembly installation docs description: | - Our Browser Monitoring agent can be used to instrument and monitor your Blazor WebAssembly application. Perform an immediate analysis of your performance statistics. + Our Browser Monitoring agent can be used to instrument and monitor your Blazor WebAssembly application. Perform an immediate analysis of your performance statistics. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/browser-monitoring-integrations/blazor-webassembly/ keywords: - blazor web assembly @@ -43,8 +43,6 @@ keywords: - blazor webassembly - NR1_addData - NR1_sys -installPlans: - - blazor-webassembly dataSourceIds: - blazor-webassembly dashboards: diff --git a/quickstarts/browser-segment-investigation/config.yml b/quickstarts/browser-segment-investigation/config.yml index b60b68ba6e..25e79c3c1d 100644 --- a/quickstarts/browser-segment-investigation/config.yml +++ b/quickstarts/browser-segment-investigation/config.yml @@ -19,8 +19,6 @@ documentation: - name: Usage instructions url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide#validate-browser-url-grouping description: The _Validate Browser URL grouping_ section of Quality foundation explains how to use the segment investigation dashboard as well as resolve any crushed URLs you might find. -installPlans: - - third-party-browser-segment-investigation dataSourceIds: - browser-segment-investigation icon: logo.svg diff --git a/quickstarts/browser/config.yml b/quickstarts/browser/config.yml index aa13aed363..083abd7d60 100644 --- a/quickstarts/browser/config.yml +++ b/quickstarts/browser/config.yml @@ -28,8 +28,6 @@ documentation: - name: Browser description: With New Relic One's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ -installPlans: - - browser-docs dataSourceIds: - new-relic-browser keywords: @@ -45,4 +43,4 @@ dashboards: - javascript-errors - traffic-analysis alertPolicies: - - browser \ No newline at end of file + - browser diff --git a/quickstarts/c/config.yml b/quickstarts/c/config.yml index 0ece688f0b..677b58d2c1 100644 --- a/quickstarts/c/config.yml +++ b/quickstarts/c/config.yml @@ -29,8 +29,6 @@ documentation: keywords: - apm - language agent -installPlans: - - setup-c-agent dataSourceIds: - c dashboards: diff --git a/quickstarts/calico/config.yml b/quickstarts/calico/config.yml index 6036b2cae3..59bb0fe8c1 100644 --- a/quickstarts/calico/config.yml +++ b/quickstarts/calico/config.yml @@ -17,9 +17,6 @@ keywords: - prometheus - remote-write - cni -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/cassandra/config.yml b/quickstarts/cassandra/config.yml index 04965c1fb6..a1c428646b 100644 --- a/quickstarts/cassandra/config.yml +++ b/quickstarts/cassandra/config.yml @@ -8,15 +8,15 @@ description: | ### Cassandra quickstart highlights The New Relic Cassandra quickstart automatically instruments your database and includes pre-built dashboards visualizing: - - client request rates + - client request rates - average pending pool tasks - - active request pool tasks + - active request pool tasks - active and pending read tasks by node - write/read latency ### New Relic + Cassandra - Your tool for better monitoring - Monitor all Cassandra key performance indicators with the [New Relic Cassandra integration](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/). This gives you insights on client request rates, average pending and active request pool tasks, active and pending read tasks by node, write latency, read latency, etc. + Monitor all Cassandra key performance indicators with the [New Relic Cassandra integration](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/). This gives you insights on client request rates, average pending and active request pool tasks, active and pending read tasks by node, write latency, read latency, etc. The Cassandra integration sends performance metrics and inventory data from your Cassandra database to the New Relic platform. On the platform, you can view pre-built dashboards of your Cassandra metric data, create alert policies, query data for troubleshooting purposes, and create charts. @@ -36,8 +36,6 @@ documentation: description: | Open-source NoSQL database management platform built for large datasets. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/cassandra-monitoring-integration/ -installPlans: - - cassandra-integration dataSourceIds: - cassandra keywords: diff --git a/quickstarts/catchpoint/config.yml b/quickstarts/catchpoint/config.yml index 55a5643c6e..27730e8805 100644 --- a/quickstarts/catchpoint/config.yml +++ b/quickstarts/catchpoint/config.yml @@ -31,8 +31,6 @@ documentation: description: A repository to help get you started setting up your New Relic & Catchpoint integration. icon: logo.svg website: https://www.newrelic.com -installPlans: - - third-party-catchpoint-quickstart dataSourceIds: - catchpoint-quickstart dashboards: diff --git a/quickstarts/centos/config.yml b/quickstarts/centos/config.yml index 03ea23813a..0a3ae6fe4d 100644 --- a/quickstarts/centos/config.yml +++ b/quickstarts/centos/config.yml @@ -22,7 +22,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/circleci/config.yml b/quickstarts/circleci/config.yml index f390d97878..314073adff 100644 --- a/quickstarts/circleci/config.yml +++ b/quickstarts/circleci/config.yml @@ -6,7 +6,7 @@ description: |+ The world’s best software teams use CircleCI to deliver quality code with confidence. As the largest continuous integration and delivery (CI/CD) platform, CircleCI empowers engineers to seamlessly take ideas to execution, at scale. Every feature of our platform is built to fine-tune the entire development process from start to finish. - This quickstart allows users to view analytical data about their CircleCI jobs within the New Relic dashboard to gain visibility into the performance and health of their continuous integration and deployment pipelines. + This quickstart allows users to view analytical data about their CircleCI jobs within the New Relic dashboard to gain visibility into the performance and health of their continuous integration and deployment pipelines. ### With the CircleCI quickstart you can: @@ -41,8 +41,6 @@ keywords: - logs - NR1_addData - NR1_sys -installPlans: - - third-party-circleci dataSourceIds: - circleci documentation: diff --git a/quickstarts/cloudflare/config.yml b/quickstarts/cloudflare/config.yml index 007ad6862a..fdb1041bb0 100644 --- a/quickstarts/cloudflare/config.yml +++ b/quickstarts/cloudflare/config.yml @@ -27,8 +27,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-cloudflare dataSourceIds: - cloudflare documentation: diff --git a/quickstarts/cockroach-db/config.yml b/quickstarts/cockroach-db/config.yml index 84f00e7da4..620de44e41 100644 --- a/quickstarts/cockroach-db/config.yml +++ b/quickstarts/cockroach-db/config.yml @@ -20,9 +20,6 @@ keywords: - prometheus - remote-write - sql -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/confluent-cloud/config.yml b/quickstarts/confluent-cloud/config.yml index 956e0065db..11684121a0 100644 --- a/quickstarts/confluent-cloud/config.yml +++ b/quickstarts/confluent-cloud/config.yml @@ -36,8 +36,6 @@ keywords: - Kafka - newrelic partner - featured -installPlans: - - third-party-confluent-cloud dataSourceIds: - confluent-cloud dashboards: diff --git a/quickstarts/consul/config.yml b/quickstarts/consul/config.yml index dd6e4b9f42..d911ff4aba 100644 --- a/quickstarts/consul/config.yml +++ b/quickstarts/consul/config.yml @@ -17,8 +17,6 @@ documentation: description: | Connect your disparate services and platforms in a multi-cloud environment. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/hashicorp-consul-monitoring-integration/ -installPlans: - - hashicorp-consul-integration dataSourceIds: - consul keywords: diff --git a/quickstarts/contentsquare/config.yml b/quickstarts/contentsquare/config.yml index 8648e50d75..b849f3a5d0 100644 --- a/quickstarts/contentsquare/config.yml +++ b/quickstarts/contentsquare/config.yml @@ -2,37 +2,37 @@ id: 875f2e3d-7c1b-436b-ab77-602090de1134 slug: contentsquare title: Contentsquare summary: | - Contentsquare is a powerful, yet easy-to-use, digital experience analytics platform that collects and quantifies user behavior across all your digital properties showing you what users like, what they don’t like, where they struggle, and why they leave. + Contentsquare is a powerful, yet easy-to-use, digital experience analytics platform that collects and quantifies user behavior across all your digital properties showing you what users like, what they don’t like, where they struggle, and why they leave. description: | ## Contentsquare performance monitoring Contentsquare surfaces opportunities to improve your customer experience automatically and easily so you can increase your conversion rates, improve customer loyalty, reduce costs and drive revenue. - + Get more value from your investments in Contentsquare and New Relic by seeing - how performance issues truly affect your customers’ digital experience. - + how performance issues truly affect your customers’ digital experience. + ### What's included? Through this integration, access Contentsquare Session Replay links directly - within New Relic. With this, Contentsquare shows you exactly what a user was - doing before, during, and after an issue occurs, so that you can remediate - issues quickly and with the complete picture. Dramatically reduce the - time-to-repair of system errors by linking to your impacted users' exact + within New Relic. With this, Contentsquare shows you exactly what a user was + doing before, during, and after an issue occurs, so that you can remediate + issues quickly and with the complete picture. Dramatically reduce the + time-to-repair of system errors by linking to your impacted users' exact session replays. - **Reduce time-to-recovery** - By integrating Contentsquare with your New Relic, you can provide your - engineering team with all of the necessary technical and behavioral data - needed to identify the root cause of an issue without having to spend cycles + By integrating Contentsquare with your New Relic, you can provide your + engineering team with all of the necessary technical and behavioral data + needed to identify the root cause of an issue without having to spend cycles trying to recreate the issue. - **Reduce time-to-recovery** - Combine the technical data from New Relic with the behavioral data surfaced + Combine the technical data from New Relic with the behavioral data surfaced from Contentsquare to uncover and prioritize the issues that have the greatest impact on your revenue and customer experience metrics. level: Community @@ -43,15 +43,13 @@ keywords: - Customer Experience - Digital Experience - User Experience -installPlans: - - third-party-contentsquare dataSourceIds: - contentsquare documentation: - name: Installation Doc url: https://uxanalyser.zendesk.com/hc/en-gb/articles/4408893503122-New-Relic description: | - See how to install this integration and the data exchanged between New + See how to install this integration and the data exchanged between New Relic ancd Contentsquare. - name: Partnership Page url: https://partners.contentsquare.com/technology-partners/new-relic diff --git a/quickstarts/cordova/config.yml b/quickstarts/cordova/config.yml index 3313901b18..d03776ac22 100644 --- a/quickstarts/cordova/config.yml +++ b/quickstarts/cordova/config.yml @@ -15,8 +15,6 @@ level: New Relic authors: - New Relic title: Cordova -installPlans: - - third-party-cordova dataSourceIds: - cordova documentation: diff --git a/quickstarts/core-web-vitals/config.yml b/quickstarts/core-web-vitals/config.yml index 045d5ccae3..82209c83ce 100644 --- a/quickstarts/core-web-vitals/config.yml +++ b/quickstarts/core-web-vitals/config.yml @@ -8,13 +8,13 @@ summary: >- description: | ## Monitor Core Web Vitals and Improve User Experience - Core web vitals are Google’s metrics to gauge overall user experience of your site, which can influence your site’s SEO rankings and give you valuable insight into how users perceive your business. - + Core web vitals are Google’s metrics to gauge overall user experience of your site, which can influence your site’s SEO rankings and give you valuable insight into how users perceive your business. + This is why it’s important to monitor your site’s core web vitals and take action on low scores - and New Relic can help you do that! This quickstart includes a dashboard that displays the performance of your Core Web Vitals to help you troubleshoot. - + Benefits of understanding Core Web Vitals: - + 1. **Improved User Experience:** Core Web Vitals are key performance metrics that can impact the user experience of a website. By monitoring these metrics with the New Relic Browser agent, you can identify and address issues that may be negatively affecting user experience, such as slow page load times, high input latency, or unexpected layout shifts. 2. **Better Search Engine Optimization:** Google has announced that Core Web Vitals will be used as a ranking factor in search results starting in May 2021. By monitoring and optimizing for these metrics using New Relic's Browser agent, you can improve your website's search engine visibility and attract more traffic to your site. @@ -32,8 +32,6 @@ documentation: description: >- With New Relic's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website url: https://docs.newrelic.com/docs/browser/ -installPlans: - - browser-docs dataSourceIds: - new-relic-browser @@ -53,4 +51,3 @@ dashboards: # Authors of the quickstart (required) authors: - Darren Doyle - diff --git a/quickstarts/coredns/config.yml b/quickstarts/coredns/config.yml index 8bed306f80..24491492df 100644 --- a/quickstarts/coredns/config.yml +++ b/quickstarts/coredns/config.yml @@ -34,9 +34,6 @@ documentation: Learn more about the Prometheus metrics available for CoreDNS alertPolicies: - coredns -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/couchbase/config.yml b/quickstarts/couchbase/config.yml index 55cb04e075..357a6e66b7 100644 --- a/quickstarts/couchbase/config.yml +++ b/quickstarts/couchbase/config.yml @@ -23,8 +23,6 @@ documentation: description: | Couchbase is an open-source, distributed multi-model NoSQL document-oriented database software package. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/couchbase-monitoring-integration/ -installPlans: - - couchbase-integration dataSourceIds: - couchbase keywords: diff --git a/quickstarts/cribl-logstream/config.yml b/quickstarts/cribl-logstream/config.yml index 1bf458c0bd..0d8892e36c 100644 --- a/quickstarts/cribl-logstream/config.yml +++ b/quickstarts/cribl-logstream/config.yml @@ -4,7 +4,7 @@ title: Cribl description: | ## About Cribl - Cribl Stream unlocks [data sources](https://docs.cribl.io/stream/sources), including metrics, events, and logs, in an observability pipeline. + Cribl Stream unlocks [data sources](https://docs.cribl.io/stream/sources), including metrics, events, and logs, in an observability pipeline. Deploying this quickstart will allow you to add context to your data, by enriching it with information from external data sources, help secure your data, by redacting, obfuscating, or encrypting sensitive fields, and optimize your data, per your performance and cost requirements. @@ -43,8 +43,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-cribl-stream dataSourceIds: - cribl documentation: diff --git a/quickstarts/dapr/config.yml b/quickstarts/dapr/config.yml index f5c68bdc88..eecdf69e8b 100644 --- a/quickstarts/dapr/config.yml +++ b/quickstarts/dapr/config.yml @@ -16,8 +16,6 @@ keywords: dashboards: - dapr-metrics - dapr-system-services -installPlans: - - third-party-dapr dataSourceIds: - dapr documentation: diff --git a/quickstarts/databricks/config.yml b/quickstarts/databricks/config.yml index 117e719eec..1fc116d929 100644 --- a/quickstarts/databricks/config.yml +++ b/quickstarts/databricks/config.yml @@ -27,8 +27,6 @@ documentation: description: | Collect Spark telemetry data with the New Relic Databricks integration url: https://github.com/newrelic-experimental/newrelic-databricks-integration -installPlans: - - third-party-databricks dataSourceIds: - databricks dashboards: diff --git a/quickstarts/datastream2-akamai/config.yml b/quickstarts/datastream2-akamai/config.yml index 7c53502306..415beeeff4 100644 --- a/quickstarts/datastream2-akamai/config.yml +++ b/quickstarts/datastream2-akamai/config.yml @@ -3,7 +3,7 @@ slug: datastream2 title: Akamai DataStream 2 description: |+ ## Akamai and DataStream 2 - + Akamai Technologies is a leading content delivery network (CDN), cybersecurity, and cloud service provider. [DataStream 2](https://techdocs.akamai.com/datastream2/docs) captures performance and security logs from your delivery properties and streams them in near real-time to provide complete monitoring. @@ -38,8 +38,6 @@ keywords: - featured - NR1_addData - NR1_sys -installPlans: - - third-party-datastream2-akamai dataSourceIds: - akamai documentation: diff --git a/quickstarts/datazoom/config.yml b/quickstarts/datazoom/config.yml index 1f768f7556..0033be65b1 100644 --- a/quickstarts/datazoom/config.yml +++ b/quickstarts/datazoom/config.yml @@ -19,8 +19,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-datazoom dataSourceIds: - datazoom documentation: diff --git a/quickstarts/dbmarlin/config.yml b/quickstarts/dbmarlin/config.yml index 0338d55b5c..f7ba7242c8 100644 --- a/quickstarts/dbmarlin/config.yml +++ b/quickstarts/dbmarlin/config.yml @@ -33,8 +33,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-dbmarlin dataSourceIds: - dbmarlin documentation: diff --git a/quickstarts/debian/config.yml b/quickstarts/debian/config.yml index f18964a40a..addb532e42 100644 --- a/quickstarts/debian/config.yml +++ b/quickstarts/debian/config.yml @@ -24,7 +24,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/deeper-network/config.yml b/quickstarts/deeper-network/config.yml index 2157dab048..920ed481ec 100644 --- a/quickstarts/deeper-network/config.yml +++ b/quickstarts/deeper-network/config.yml @@ -27,8 +27,6 @@ documentation: description: | A guide detailing how to configure and use the `deeper-cli` with New Relic. url: https://github.com/Kav91/deeper-connect-monitoring -installPlans: - - third-party-deeper-network dataSourceIds: - deeper-network keywords: diff --git a/quickstarts/delphix/config.yml b/quickstarts/delphix/config.yml index d7b9b391a1..91a65a97c1 100644 --- a/quickstarts/delphix/config.yml +++ b/quickstarts/delphix/config.yml @@ -4,19 +4,19 @@ title: Delphix description: | ### Summary - The Delphix quickstart for New Relic grants insights and observability of the Delphix Platform to administrators. Users may monitor various Delphix objects, such as dSources and VDBs, and trigger alerts on exceeded thresholds. + The Delphix quickstart for New Relic grants insights and observability of the Delphix Platform to administrators. Users may monitor various Delphix objects, such as dSources and VDBs, and trigger alerts on exceeded thresholds. In addition, when leveraging the Delphix integration, users can feed data into triggered New Relic workflows to command data-ready RCA environments through a [ServiceNow automated request](https://store.servicenow.com/sn_appstore_store.do#!/store/application/bb688f9f9734111012b7318c1253af11) or direct webhook. ### What's the value? - The Delphix Platform is a powerful test data management tool enabling the provisioning of RCA environments for mission-critical applications on demand. The quickstart allows Delphix administrators to monitor their usage, maintain high availability, and reduce the costs of forgotten virtual databases. + The Delphix Platform is a powerful test data management tool enabling the provisioning of RCA environments for mission-critical applications on demand. The quickstart allows Delphix administrators to monitor their usage, maintain high availability, and reduce the costs of forgotten virtual databases. Site Reliability Engineers rely on Delphix and New Relic to provide mission-critical application environments within minutes of an issue which eases investigation during stressful issues and helps achieve SLA times. Delphix can reduce provisioning times from days to minutes. ### What's inside? - The quickstart contains a sample Delphix Platform Dashboard and Storage Utilization Alert to help users get started. + The quickstart contains a sample Delphix Platform Dashboard and Storage Utilization Alert to help users get started. Populating data for dashboards, alerts, and workflows requires the [Delphix Integration](https://github.com/delphix/dct-newrelic-integration) and [Delphix Data Control Tower](https://dct.delphix.com/docs/latest). icon: logo.svg @@ -35,8 +35,6 @@ keywords: - sre - NR1_addData - NR1_sys -installPlans: - - third-party-delphix dataSourceIds: - delphix documentation: diff --git a/quickstarts/docker/config.yml b/quickstarts/docker/config.yml index 3465fa9348..0cf540ee84 100644 --- a/quickstarts/docker/config.yml +++ b/quickstarts/docker/config.yml @@ -9,7 +9,7 @@ description: | ### Why monitor Docker with New Relic? - New Relic's Docker monitoring quickstart empowers you to get a 360° visibility for your apps, server infrastructure, and Dockerized containers—all in one place. Since your team is likely charged with delivering high-quality software that yields a great customer experience, monitoring Docker is essential. It allows you to keep up that customer experience with your users remaining unaffected by any changes to platforms, tools, languages, or frameworks. + New Relic's Docker monitoring quickstart empowers you to get a 360° visibility for your apps, server infrastructure, and Dockerized containers—all in one place. Since your team is likely charged with delivering high-quality software that yields a great customer experience, monitoring Docker is essential. It allows you to keep up that customer experience with your users remaining unaffected by any changes to platforms, tools, languages, or frameworks. With our Docker monitoring integration, you can easily identify which container is running which app, and quickly solve any issues. Install the New Relic Docker quickstart today to get instant performance metrics for containerized applications across your entire environment. summary: | @@ -19,8 +19,6 @@ level: New Relic authors: - New Relic title: Docker -installPlans: - - third-party-docker dataSourceIds: - docker documentation: diff --git a/quickstarts/dotnet/ado-dotnet/config.yml b/quickstarts/dotnet/ado-dotnet/config.yml index ac123b4112..043ec83c61 100644 --- a/quickstarts/dotnet/ado-dotnet/config.yml +++ b/quickstarts/dotnet/ado-dotnet/config.yml @@ -7,7 +7,7 @@ description: | ## Common uses of ADO.net - You can utilize ADO.net to create reliable and scalable database apps for client- server applications, and work with several data sources. In addition, you can reduce the amount of code and level of maintenance needed for data-oriented applications by using the ADO.NET Entity Framework. + You can utilize ADO.net to create reliable and scalable database apps for client- server applications, and work with several data sources. In addition, you can reduce the amount of code and level of maintenance needed for data-oriented applications by using the ADO.NET Entity Framework. With ADO.NET DataReader, you can retrieve read-only and forward-only data from a database. @@ -16,7 +16,7 @@ description: | - fix inaccessible databases or issues with the network library. - solve your database and client software schema incompatibility. - fix problems that occur when different ADO.NET components interact with one another or your own components. - - debug incorrect SQL, whether hard-coded or created by an application. + - debug incorrect SQL, whether hard-coded or created by an application. - adjust flawed programming logic. ## What’s included in this quickstart? @@ -26,9 +26,9 @@ description: | - Dashboards (hard connects per second, hard disconnects per second, number of active connections, soft connects per second and more). - Alerts inform end users about the quality of their applications on a proactive basis. - Monitor web transactions. - + ### Comprehensive monitoring quickstart for ADO.net - + When you monitor ADO.NET with New Relic, you can observe your ADO.NET data set in real time. Our .NET agent will also let you correlate transactions moving across your application environment and troubleshoot while working in a live development environment. summary: | Discover how the ADO.NET quickstart gives you an advantage with comprehensive monitoring capabilities. @@ -50,8 +50,6 @@ keywords: - ado.net - ado-dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/asp-dotnet-mvc/config.yml b/quickstarts/dotnet/asp-dotnet-mvc/config.yml index d85dc935be..3f02064227 100644 --- a/quickstarts/dotnet/asp-dotnet-mvc/config.yml +++ b/quickstarts/dotnet/asp-dotnet-mvc/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/asp-dotnet-web-forms/config.yml b/quickstarts/dotnet/asp-dotnet-web-forms/config.yml index aa61392a43..f313ddd2f9 100644 --- a/quickstarts/dotnet/asp-dotnet-web-forms/config.yml +++ b/quickstarts/dotnet/asp-dotnet-web-forms/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/blazor-server/config.yml b/quickstarts/dotnet/blazor-server/config.yml index ee813da894..3171c792c6 100644 --- a/quickstarts/dotnet/blazor-server/config.yml +++ b/quickstarts/dotnet/blazor-server/config.yml @@ -4,23 +4,23 @@ description: | ## Comprehensive monitoring for Blazor Server Microsoft developed Blazor Server to build web UIs with C#, HTML, and CSS. As a feature of ASP.NET, our Blazor Server integration with the .NET agent lets you monitor your apps with our quickstart dashboards right out of the box. - Despite being an extremely innovative and exciting new technology, Blazor Server is a relatively new technology. That means there may be some issues that arise during development and deployment as with any new technology. + Despite being an extremely innovative and exciting new technology, Blazor Server is a relatively new technology. That means there may be some issues that arise during development and deployment as with any new technology. ## Why monitor your Blazor Server? - ### Optimize Performance: + ### Optimize Performance: Blazor Server apps rely on SignalR for real-time communication between the client and the server, which can result in slower performance compared to traditional client-side Blazor apps. - ### Improve Scalability: + ### Improve Scalability: Blazor Server apps may struggle with high levels of traffic, as each client connection requires a separate server-side connection. - ### Debug Quickly: + ### Debug Quickly: Debugging Blazor Server apps can be challenging, as the source of errors may be difficult to determine. - ### Optimize State Management: + ### Optimize State Management: Managing state in Blazor Server apps can be more complex than in traditional client-side Blazor apps, as state must be shared between the client and the server. - ### Lower Bandwidth Consumption: + ### Lower Bandwidth Consumption: Blazor Server apps may consume more bandwidth compared to traditional client-side Blazor apps, as data is constantly being sent back and forth between the client and the server. Unleash the power of C# for web development with Blazor Server. This innovative technology not only lets you use your preferred language, but also provides a plethora of useful features. Experience the freedom to run your code on either the server or the client with Blazor Server and tailor the user experience for each device. Embrace a new era of web development with Blazor Server. @@ -34,7 +34,7 @@ title: Blazor Server documentation: - name: Blazor Server installation docs description: | - Our .NET APM agent can be used to instrument and monitor your Blazor Server application. Perform an immediate analysis of your performance statistics. + Our .NET APM agent can be used to instrument and monitor your Blazor Server application. Perform an immediate analysis of your performance statistics. url: https://docs.newrelic.com/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#technologies keywords: - dotnet @@ -42,8 +42,6 @@ keywords: - blazor - blazor server - language agent -installPlans: - - blazor-server dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/csharp/config.yml b/quickstarts/dotnet/csharp/config.yml index 2f087b3840..08a7648f19 100644 --- a/quickstarts/dotnet/csharp/config.yml +++ b/quickstarts/dotnet/csharp/config.yml @@ -3,23 +3,23 @@ slug: c-sharp description: | ## C# performance monitoring With our C# integration, you can find and address performance bottlenecks while operating in a live development environment. Monitor your app via our dashboard quickstarts and ensure you're delivering the best user experience. - + ## Common C# performance errors Here are the common C# performance errors that you can handle with New Relic integration: - - **Memory management**: C# uses automatic memory management, which takes the burden of manual allocation from developers. However, C# can sometimes run into memory error thereby inhibiting its memory management performance. Our integration offers the best solution to fix that. - - **CPU usage**: New Relic’s high CPU utilization alert is the key to monitoring CPU usage to prevent any potential error. - - **Garbage collection**: Garbage Collector (GC) manages the allocation and release of memory for your application. When the memory is under distress, our C# integration will easily notify you via the memory usage alert. - - **High volume of requests**: Getting a high volume of requests can affect your app’s response time and reduce user satisfaction. With Apdex score, you can track requests and measure user satisfaction. - - **JIT compiler**: If JIT compiler fails to load, it may be due to an out-of-memory exception or internal limitation error. The pathway towards getting the insights you need is the New Relic C# integration. - + + **Memory management**: C# uses automatic memory management, which takes the burden of manual allocation from developers. However, C# can sometimes run into memory error thereby inhibiting its memory management performance. Our integration offers the best solution to fix that. + + **CPU usage**: New Relic’s high CPU utilization alert is the key to monitoring CPU usage to prevent any potential error. + + **Garbage collection**: Garbage Collector (GC) manages the allocation and release of memory for your application. When the memory is under distress, our C# integration will easily notify you via the memory usage alert. + + **High volume of requests**: Getting a high volume of requests can affect your app’s response time and reduce user satisfaction. With Apdex score, you can track requests and measure user satisfaction. + + **JIT compiler**: If JIT compiler fails to load, it may be due to an out-of-memory exception or internal limitation error. The pathway towards getting the insights you need is the New Relic C# integration. + ### C# monitoring use cases - + - Focus on the issues that affect your critical business transactions. - Resolve problems quickly. - Gain knowledge on your system's behavior in advance. @@ -29,20 +29,20 @@ description: | - Scalable error monitoring without affecting production flow. - Maintain low latency with fast throughput. - Get meaningful data about C# errors from your dashboard. - + ### End-to-end visibility into your C# operations Our C# dashboard translates your ingested data into a map that lets you trace business transactions across your C# stack. See your performance errors in context and prioritize your most critical operations. ## What’s included in this quickstart? - + New Relic's C# monitoring quickstart boasts instant full-stack observability out-of-the-box: - Dashboards (Throughput, Error rate, Logs, Web transaction time, Apdex Score and more). - Monitor scripts, functions, and web transactions. - High-value alerts. - - Code-related insights about your application’s health and status. + - Code-related insights about your application’s health and status. - Proactive alerts that inform developers about the status of their applications. summary: | Monitor your C# applications by tracking performance issues with a full end-to-end view of distributed traces. @@ -62,8 +62,6 @@ keywords: - dotnet - c# - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/csla-dotnet/config.yml b/quickstarts/dotnet/csla-dotnet/config.yml index a6753fe635..4297239484 100644 --- a/quickstarts/dotnet/csla-dotnet/config.yml +++ b/quickstarts/dotnet/csla-dotnet/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dnn-community/config.yml b/quickstarts/dotnet/dnn-community/config.yml index 5a98508da7..e1782a24d4 100644 --- a/quickstarts/dotnet/dnn-community/config.yml +++ b/quickstarts/dotnet/dnn-community/config.yml @@ -33,8 +33,6 @@ keywords: - cms - content management system - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dnn-evoq/config.yml b/quickstarts/dotnet/dnn-evoq/config.yml index baccd2e0f7..c32a5790f5 100644 --- a/quickstarts/dotnet/dnn-evoq/config.yml +++ b/quickstarts/dotnet/dnn-evoq/config.yml @@ -42,7 +42,5 @@ keywords: - cms - content management system - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet diff --git a/quickstarts/dotnet/dotnet-core/config.yml b/quickstarts/dotnet/dotnet-core/config.yml index a1ddf1c3e6..09c22ab1d0 100644 --- a/quickstarts/dotnet/dotnet-core/config.yml +++ b/quickstarts/dotnet/dotnet-core/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/dotnet-mvc-web-api/config.yml b/quickstarts/dotnet/dotnet-mvc-web-api/config.yml index 0cb3396d48..aaae90d01b 100644 --- a/quickstarts/dotnet/dotnet-mvc-web-api/config.yml +++ b/quickstarts/dotnet/dotnet-mvc-web-api/config.yml @@ -27,8 +27,6 @@ documentation: Web application framework developed by Microsoft, which implements the model-view-controller pattern for building web applications. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/dotnet/config.yml b/quickstarts/dotnet/dotnet/config.yml index 5fdc25baf3..cb2d69f31d 100644 --- a/quickstarts/dotnet/dotnet/config.yml +++ b/quickstarts/dotnet/dotnet/config.yml @@ -47,8 +47,6 @@ keywords: - dotnet - language agent - most popular -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/episerver-cms/config.yml b/quickstarts/dotnet/episerver-cms/config.yml index 7cf74e41d0..77f9f07c86 100644 --- a/quickstarts/dotnet/episerver-cms/config.yml +++ b/quickstarts/dotnet/episerver-cms/config.yml @@ -15,7 +15,7 @@ description: | ### New Relic + Episerver CMS = Optimum performance monitoring Monitor your Episerver CMS performance with our .NET agent. The integration provides a high-level overview of Episerver CMS, giving you access to code-level details like transaction traces, database queries, and errors. Also, it empowers you to track activities across a large Episerver distributed system. - New Relic Episerver CMS quickstart gives you proactive notifications from alerts to respond quickly when your app stops running seamlessly. You can use the query builder to create custom dashboards from your data. + New Relic Episerver CMS quickstart gives you proactive notifications from alerts to respond quickly when your app stops running seamlessly. You can use the query builder to create custom dashboards from your data. Download New Relic Episerver CMS quickstart today to monitor Episerver CMS metrics in real-time. This quickstart is your gateway to instant monitoring of your Episerver CMS. summary: | Episerver offers full-service CMS with dedicated layers for commerce and marketing. Proactively monitor the performance of the app with New Relic’s Episerver CMS quickstart. @@ -34,8 +34,6 @@ keywords: - cms - content management system - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/fubumvc/config.yml b/quickstarts/dotnet/fubumvc/config.yml index 11a717fa80..06648da4b5 100644 --- a/quickstarts/dotnet/fubumvc/config.yml +++ b/quickstarts/dotnet/fubumvc/config.yml @@ -3,14 +3,14 @@ slug: fubumvc description: | ## New Relic + FubuMVC - New Relic’s monitoring quickstart for FubuMVC monitors the performance and reliability of FubuMVC applications. + New Relic’s monitoring quickstart for FubuMVC monitors the performance and reliability of FubuMVC applications. It includes visual dashboards which showcase real-time metrics of the FubuMVC stack, including: - Errors overview - VM overview - Latest error display - CPU utilization display - - Amount of memory heap used, and more. + - Amount of memory heap used, and more. The quickstart also includes alerts when certain metrics such as the Apdex score, memory usage, and number of transaction errors hit a critical threshold. ### Why monitor FubuMVC with New Relic? @@ -34,8 +34,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/iis/config.yml b/quickstarts/dotnet/iis/config.yml index 830e9ed901..c2be398e21 100644 --- a/quickstarts/dotnet/iis/config.yml +++ b/quickstarts/dotnet/iis/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for IIS. + Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for IIS. summary: Monitor IIS with New Relic's .NET agent icon: logo.svg level: New Relic @@ -28,8 +28,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/jayrock/config.yml b/quickstarts/dotnet/jayrock/config.yml index 6ca12998af..41028ac6b2 100644 --- a/quickstarts/dotnet/jayrock/config.yml +++ b/quickstarts/dotnet/jayrock/config.yml @@ -21,7 +21,5 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet diff --git a/quickstarts/dotnet/monorail/config.yml b/quickstarts/dotnet/monorail/config.yml index c31242da83..47cfb36a8f 100644 --- a/quickstarts/dotnet/monorail/config.yml +++ b/quickstarts/dotnet/monorail/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/msmq/config.yml b/quickstarts/dotnet/msmq/config.yml index 22f30fee78..7fb9256a78 100644 --- a/quickstarts/dotnet/msmq/config.yml +++ b/quickstarts/dotnet/msmq/config.yml @@ -32,8 +32,6 @@ keywords: - dotnet - queue - language agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/nancyfx/config.yml b/quickstarts/dotnet/nancyfx/config.yml index 33526484ae..3ca653a9e8 100644 --- a/quickstarts/dotnet/nancyfx/config.yml +++ b/quickstarts/dotnet/nancyfx/config.yml @@ -31,8 +31,6 @@ keywords: - apm - dotnet - language agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet dashboards: diff --git a/quickstarts/dotnet/nservicebus/config.yml b/quickstarts/dotnet/nservicebus/config.yml index 5d49cd457c..fc245c9093 100644 --- a/quickstarts/dotnet/nservicebus/config.yml +++ b/quickstarts/dotnet/nservicebus/config.yml @@ -3,16 +3,16 @@ slug: nservicebus description: |- ## NService Bus - NServiceBus is a messaging system for service-oriented backend architectures. It is specifically designed for [.NET applications](https://newrelic.com/products/application-monitoring/NET), and it implements a Pub/Sub brokering system, along with many other features, that make handling service messaging simple and intuitive. However, backend architectures are complicated, with many interacting services and processes, so it is not unusual for messages to get dropped or corrupted in some way. + NServiceBus is a messaging system for service-oriented backend architectures. It is specifically designed for [.NET applications](https://newrelic.com/products/application-monitoring/NET), and it implements a Pub/Sub brokering system, along with many other features, that make handling service messaging simple and intuitive. However, backend architectures are complicated, with many interacting services and processes, so it is not unusual for messages to get dropped or corrupted in some way. The New Relic complete monitoring quickstart provides insight into all aspects of the NServiceBus application runtime, saving users from countless headaches that could arise when working with the system. ### New Relic NServiceBus quickstart features - The New Relic NServiceBus Quickstart comes packaged with numerous features that ensure the health of the NServiceBus application. They are broken down into two categories. + The New Relic NServiceBus Quickstart comes packaged with numerous features that ensure the health of the NServiceBus application. They are broken down into two categories. Dashboards, which provide visual insight into application performance, and Alerts, which notify developers when a potential issue arises within NServiceBus. - Dashboards include the following + Dashboards include the following - Transactions overview which gives an overview of all messaging transactions passing through NServiceBus - Errors overview documenting errors occurring within the system and their potential origins - VM overview which reports key VM utilization statistics such as memory and CPU usage @@ -27,9 +27,9 @@ description: |- ### New Relic - the ideal NServiceBus monitoring tool - New Relic’s quickstart provides the ultimate in NServiceBus monitoring solutions. Having continual insight into NServiceBus performance is key to ensuring that backend systems run smoothly with consistent uptime, as messaging is a huge point of failure for backend architectures. When messages are not transacted successfully, communication between backend services breaks down leaving the application unable to function successfully as a whole. + New Relic’s quickstart provides the ultimate in NServiceBus monitoring solutions. Having continual insight into NServiceBus performance is key to ensuring that backend systems run smoothly with consistent uptime, as messaging is a huge point of failure for backend architectures. When messages are not transacted successfully, communication between backend services breaks down leaving the application unable to function successfully as a whole. - By providing dashboard insight into the apdex score and commonly failed transactions, and alerts which notify the user prior to reaching critical thresholds, the New Relic quickstart allows weak points in the system to be identified immediately, before communication in the backend fails completely. + By providing dashboard insight into the apdex score and commonly failed transactions, and alerts which notify the user prior to reaching critical thresholds, the New Relic quickstart allows weak points in the system to be identified immediately, before communication in the backend fails completely. Similarly, proper management of the NServiceBus VM is critical to ensuring that the NServiceBus application itself doesn’t crash completely. The New Relic dashboards and alerts provide continual VM monitoring, allowing developers to make key decisions regarding throttling and other performance constraints when usage gets too high. summary: NServiceBus is a message brokering application for backends having many services. The New Relic quickstart helps developers to ensure that NServiceBus is always functioning properly, so that they maintain highly stable and fault tolerant backends. @@ -42,8 +42,6 @@ documentation: - name: NServiceBus installation docs description: NServiceBus is an implementation of a 'service bus' pattern for .NET. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/openrasta/config.yml b/quickstarts/dotnet/openrasta/config.yml index fdb6fa181c..712c4cef0b 100644 --- a/quickstarts/dotnet/openrasta/config.yml +++ b/quickstarts/dotnet/openrasta/config.yml @@ -27,8 +27,6 @@ documentation: OpenRasta is an open-source .NET framework for building everything web, from web sites to RESTful APIs. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/restsharp/config.yml b/quickstarts/dotnet/restsharp/config.yml index a62ca3cde8..d3cffbcbd0 100644 --- a/quickstarts/dotnet/restsharp/config.yml +++ b/quickstarts/dotnet/restsharp/config.yml @@ -14,7 +14,7 @@ description: | ### Why Monitor RestSharp with New Relic? - With application performance monitoring (APM), you will get a high-level overview of your RestSharp app, query data and track activities across the application. The New Relic RestSharp quickstart automatically instruments RestSharp with our .NET agent for a comprehensive monitoring of RestSharp. + With application performance monitoring (APM), you will get a high-level overview of your RestSharp app, query data and track activities across the application. The New Relic RestSharp quickstart automatically instruments RestSharp with our .NET agent for a comprehensive monitoring of RestSharp. Install the New Relic RestSharp quickstart today to proactively monitor RestSharp in real-time, detect issues quickly, and respond to them efficiently. The instant observability quickstart is the key to a seamless RestSharp monitoring. summary: | @@ -30,8 +30,6 @@ documentation: Popular REST API client library for .NET that features auto-serialization, request type detection, a variety of authentications, and more. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/servicestack/config.yml b/quickstarts/dotnet/servicestack/config.yml index 2a7928d5e3..267c1ac88e 100644 --- a/quickstarts/dotnet/servicestack/config.yml +++ b/quickstarts/dotnet/servicestack/config.yml @@ -27,8 +27,6 @@ documentation: Open-source framework designed to be an alternative to the WCF, ASP.NET MVC, and ASP.NET Web API frameworks. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/silverlight/config.yml b/quickstarts/dotnet/silverlight/config.yml index 158de71edd..393157e56e 100644 --- a/quickstarts/dotnet/silverlight/config.yml +++ b/quickstarts/dotnet/silverlight/config.yml @@ -27,8 +27,6 @@ documentation: Microsoft Silverlight is a deprecated application framework for writing and running rich Internet applications. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/springdotnet/config.yml b/quickstarts/dotnet/springdotnet/config.yml index e4619cc2a1..c0400814d8 100644 --- a/quickstarts/dotnet/springdotnet/config.yml +++ b/quickstarts/dotnet/springdotnet/config.yml @@ -27,8 +27,6 @@ documentation: Comprehensive infrastructural support for developing enterprise .NET applications; conceptually based on the Java Spring Framework. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dotnet/umbraco/config.yml b/quickstarts/dotnet/umbraco/config.yml index e808b5d713..a5ae01a16f 100644 --- a/quickstarts/dotnet/umbraco/config.yml +++ b/quickstarts/dotnet/umbraco/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for Umbraco. + Check out the [documentation](https://docs.newrelic.com/docs/agents/net-agent/getting-started/introduction-new-relic-net/) to learn more about New Relic monitoring for Umbraco. summary: Monitor Umbraco with New Relic's .NET agent icon: logo.svg level: New Relic @@ -22,8 +22,6 @@ documentation: - name: Umbraco installation docs description: Open source CMS for the web built in ASP.NET. url: https://docs.newrelic.com/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent -installPlans: - - dotnet-windows-agent dataSourceIds: - microsoftnet keywords: diff --git a/quickstarts/dropwizard/config.yml b/quickstarts/dropwizard/config.yml index 1b61926bd7..dc9e438985 100644 --- a/quickstarts/dropwizard/config.yml +++ b/quickstarts/dropwizard/config.yml @@ -15,8 +15,6 @@ level: New Relic authors: - New Relic title: Dropwizard -installPlans: - - third-party-dropwizard dataSourceIds: - dropwizard documentation: diff --git a/quickstarts/drupal/config.yml b/quickstarts/drupal/config.yml index 25996c3249..d97c80de07 100644 --- a/quickstarts/drupal/config.yml +++ b/quickstarts/drupal/config.yml @@ -27,8 +27,6 @@ documentation: Drupal is a free and open-source web content management framework written in PHP. url: https://docs.newrelic.com/docs/agents/php-agent/getting-started/php-agent-compatibility-requirements -installPlans: - - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/elasticsearch/config.yml b/quickstarts/elasticsearch/config.yml index 4550b54dcc..9c68b10660 100644 --- a/quickstarts/elasticsearch/config.yml +++ b/quickstarts/elasticsearch/config.yml @@ -17,8 +17,6 @@ documentation: description: | Multitenant-capable full-text RESTful search engine with an HTTP web interface and schema-free JSON documents. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/elasticsearch-monitoring-integration/ -installPlans: - - elasticsearch-integration dataSourceIds: - elasticsearch keywords: diff --git a/quickstarts/elixir/config.yml b/quickstarts/elixir/config.yml index 93c1769e9c..4be5748a37 100644 --- a/quickstarts/elixir/config.yml +++ b/quickstarts/elixir/config.yml @@ -23,9 +23,6 @@ keywords: - elixir - language agent -installPlans: - - setup-elixir-agent - dataSourceIds: - elixir diff --git a/quickstarts/etcd/config.yml b/quickstarts/etcd/config.yml index d2d1c1a8bb..c76e888b91 100644 --- a/quickstarts/etcd/config.yml +++ b/quickstarts/etcd/config.yml @@ -23,9 +23,6 @@ keywords: - prometheus - remote-write - featured -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/f5/config.yml b/quickstarts/f5/config.yml index 3b91987a4e..f99bea9366 100644 --- a/quickstarts/f5/config.yml +++ b/quickstarts/f5/config.yml @@ -25,8 +25,6 @@ keywords: - big-ip - big ip - load balancer -installPlans: - - third-party-f5 dataSourceIds: - f5 alertPolicies: @@ -36,7 +34,7 @@ dashboards: documentation: - name: F5 installation docs description: | - Set of application delivery products that work together to ensure + Set of application delivery products that work together to ensure high availability, improved performance, application security, and access control. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/f5-monitoring-integration/#install icon: logo.svg diff --git a/quickstarts/fastly/config.yml b/quickstarts/fastly/config.yml index 7f79dfa94a..101d0793b7 100644 --- a/quickstarts/fastly/config.yml +++ b/quickstarts/fastly/config.yml @@ -21,8 +21,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-fastly dataSourceIds: - fastly documentation: diff --git a/quickstarts/fluent-bit-plugin-for-logs/config.yml b/quickstarts/fluent-bit-plugin-for-logs/config.yml index dd840181cc..8be2989ed1 100644 --- a/quickstarts/fluent-bit-plugin-for-logs/config.yml +++ b/quickstarts/fluent-bit-plugin-for-logs/config.yml @@ -20,7 +20,5 @@ documentation: keywords: - logs - logging -installPlans: - - third-party-fluent-bit-plugin-for-logs dataSourceIds: - fluent-bit diff --git a/quickstarts/fluentd-plugin-for-logs/config.yml b/quickstarts/fluentd-plugin-for-logs/config.yml index b5732ace72..411711efd1 100644 --- a/quickstarts/fluentd-plugin-for-logs/config.yml +++ b/quickstarts/fluentd-plugin-for-logs/config.yml @@ -20,7 +20,5 @@ documentation: keywords: - logs - logging -installPlans: - - third-party-fluentd-plugin-for-logs dataSourceIds: - fluentd diff --git a/quickstarts/full-stack-observability/config.yml b/quickstarts/full-stack-observability/config.yml index 7c2670ef2c..7302d713cf 100644 --- a/quickstarts/full-stack-observability/config.yml +++ b/quickstarts/full-stack-observability/config.yml @@ -11,8 +11,6 @@ website: https://www.newrelic.com/ authors: - New Relic - Samuel Vandamme -installPlans: - - guided-install dataSourceIds: - guided-install keywords: @@ -24,4 +22,3 @@ documentation: - name: Guild installation documentation description: Monitor your Full Stack with New Relic. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/installation/new-relic-guided-install-overview/ - diff --git a/quickstarts/full-story/config.yml b/quickstarts/full-story/config.yml index b61a8b9370..a830d48cd1 100644 --- a/quickstarts/full-story/config.yml +++ b/quickstarts/full-story/config.yml @@ -9,8 +9,6 @@ summary: | icon: logo.png keywords: - newrelic partner -installPlans: - - third-party-full-story dataSourceIds: - full-story level: Community diff --git a/quickstarts/gatsby-build/config.yml b/quickstarts/gatsby-build/config.yml index b8b67aaa9c..6cd49eb898 100644 --- a/quickstarts/gatsby-build/config.yml +++ b/quickstarts/gatsby-build/config.yml @@ -2,7 +2,7 @@ id: d234c09c-3338-4713-8340-ca75766445d6 slug: gatsby-build title: Gatsby Build summary: | - The Gatsby quickstart allows you to get visibility into the build time of your Gatsby sites, using OpenTelemetry to collect each step as a span in a Distributed Trace. + The Gatsby quickstart allows you to get visibility into the build time of your Gatsby sites, using OpenTelemetry to collect each step as a span in a Distributed Trace. Monitor your build in real-time to highlight which steps are affecting performance, so you can improve them faster. description: | The Gatsby quickstart allows you to get visibility into the build time of your Gatsby Sites, @@ -13,8 +13,6 @@ icon: logo.png authors: - New Relic - Ruairi Douglas -installPlans: - - gatsby-build-newrelic dataSourceIds: - gatsby-build-newrelic documentation: diff --git a/quickstarts/gcp/apigee-api/config.yml b/quickstarts/gcp/apigee-api/config.yml index 163a3612bd..eb4f7e35ef 100644 --- a/quickstarts/gcp/apigee-api/config.yml +++ b/quickstarts/gcp/apigee-api/config.yml @@ -20,7 +20,5 @@ documentation: description: | Installation and configuration instructions url: https://github.com/newrelic-experimental/apigee-distributed-tracing -installPlans: - - third-party-apigee-api dataSourceIds: - apigee-api diff --git a/quickstarts/gcp/gcp-cloud-run/config.yml b/quickstarts/gcp/gcp-cloud-run/config.yml index 650e745cc4..2e597ab16c 100644 --- a/quickstarts/gcp/gcp-cloud-run/config.yml +++ b/quickstarts/gcp/gcp-cloud-run/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - containers -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-dataflow/config.yml b/quickstarts/gcp/gcp-dataflow/config.yml index 1c2d300bd1..5ccb3d196b 100644 --- a/quickstarts/gcp/gcp-dataflow/config.yml +++ b/quickstarts/gcp/gcp-dataflow/config.yml @@ -27,8 +27,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-dataproc/config.yml b/quickstarts/gcp/gcp-dataproc/config.yml index 98420e40ff..652866d9b6 100644 --- a/quickstarts/gcp/gcp-dataproc/config.yml +++ b/quickstarts/gcp/gcp-dataproc/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-datastore/config.yml b/quickstarts/gcp/gcp-datastore/config.yml index df9830a8de..0487039bb9 100644 --- a/quickstarts/gcp/gcp-datastore/config.yml +++ b/quickstarts/gcp/gcp-datastore/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-dedicated-interconnect/config.yml b/quickstarts/gcp/gcp-dedicated-interconnect/config.yml index dca63a356d..215255410d 100644 --- a/quickstarts/gcp/gcp-dedicated-interconnect/config.yml +++ b/quickstarts/gcp/gcp-dedicated-interconnect/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-firebase-database/config.yml b/quickstarts/gcp/gcp-firebase-database/config.yml index 9445b0e79a..4f6a68e494 100644 --- a/quickstarts/gcp/gcp-firebase-database/config.yml +++ b/quickstarts/gcp/gcp-firebase-database/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-firebase-hosting/config.yml b/quickstarts/gcp/gcp-firebase-hosting/config.yml index 9b3438ac63..98721cc4e6 100644 --- a/quickstarts/gcp/gcp-firebase-hosting/config.yml +++ b/quickstarts/gcp/gcp-firebase-hosting/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/gcp-firebase-storage/config.yml b/quickstarts/gcp/gcp-firebase-storage/config.yml index 0862978065..15fd597fb3 100644 --- a/quickstarts/gcp/gcp-firebase-storage/config.yml +++ b/quickstarts/gcp/gcp-firebase-storage/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-firestore/config.yml b/quickstarts/gcp/gcp-firestore/config.yml index e73319b3ac..b5119cf7d1 100644 --- a/quickstarts/gcp/gcp-firestore/config.yml +++ b/quickstarts/gcp/gcp-firestore/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-router/config.yml b/quickstarts/gcp/gcp-router/config.yml index f7bdcecf97..4a35b92aa1 100644 --- a/quickstarts/gcp/gcp-router/config.yml +++ b/quickstarts/gcp/gcp-router/config.yml @@ -31,7 +31,5 @@ keywords: - gcp - google cloud platform - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/gcp-vpc/config.yml b/quickstarts/gcp/gcp-vpc/config.yml index 09aac64e5f..b6f7531a33 100644 --- a/quickstarts/gcp/gcp-vpc/config.yml +++ b/quickstarts/gcp/gcp-vpc/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-app-engine/config.yml b/quickstarts/gcp/google-app-engine/config.yml index cba47f9f92..bbf34a4172 100644 --- a/quickstarts/gcp/google-app-engine/config.yml +++ b/quickstarts/gcp/google-app-engine/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-bigquery/config.yml b/quickstarts/gcp/google-bigquery/config.yml index fa678f2c52..c6b5c29727 100644 --- a/quickstarts/gcp/google-bigquery/config.yml +++ b/quickstarts/gcp/google-bigquery/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-functions/config.yml b/quickstarts/gcp/google-cloud-functions/config.yml index 530a7c67fe..934cb41eac 100644 --- a/quickstarts/gcp/google-cloud-functions/config.yml +++ b/quickstarts/gcp/google-cloud-functions/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - serverless -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-spanner-otel/config.yml b/quickstarts/gcp/google-cloud-spanner-otel/config.yml index 06ece872b9..8f3983234a 100644 --- a/quickstarts/gcp/google-cloud-spanner-otel/config.yml +++ b/quickstarts/gcp/google-cloud-spanner-otel/config.yml @@ -46,8 +46,6 @@ keywords: - otel - NR1_addData - NR1_sys -installPlans: - - cloud-spanner dataSourceIds: - cloud-spanner dashboards: diff --git a/quickstarts/gcp/google-cloud-spanner/config.yml b/quickstarts/gcp/google-cloud-spanner/config.yml index a335255ce8..0bb50bda04 100644 --- a/quickstarts/gcp/google-cloud-spanner/config.yml +++ b/quickstarts/gcp/google-cloud-spanner/config.yml @@ -33,7 +33,5 @@ keywords: - database dashboards: - gcp-spanner -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/google-cloud-sql/config.yml b/quickstarts/gcp/google-cloud-sql/config.yml index ca84adc4d5..02ce8b41e7 100644 --- a/quickstarts/gcp/google-cloud-sql/config.yml +++ b/quickstarts/gcp/google-cloud-sql/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - database -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-cloud-storage/config.yml b/quickstarts/gcp/google-cloud-storage/config.yml index fc9ae65c71..8c6f97e9c7 100644 --- a/quickstarts/gcp/google-cloud-storage/config.yml +++ b/quickstarts/gcp/google-cloud-storage/config.yml @@ -31,8 +31,6 @@ keywords: - gcp - google cloud platform - storage -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-compute-engine/config.yml b/quickstarts/gcp/google-compute-engine/config.yml index eba3c205ca..ec0b7c32f4 100644 --- a/quickstarts/gcp/google-compute-engine/config.yml +++ b/quickstarts/gcp/google-compute-engine/config.yml @@ -30,7 +30,5 @@ documentation: keywords: - gcp - google cloud platform -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform diff --git a/quickstarts/gcp/google-load-balancing/config.yml b/quickstarts/gcp/google-load-balancing/config.yml index ea84e9a85d..b4018b1b73 100644 --- a/quickstarts/gcp/google-load-balancing/config.yml +++ b/quickstarts/gcp/google-load-balancing/config.yml @@ -32,8 +32,6 @@ keywords: - google cloud platform - load balancer - networking -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gcp/google-pub-sub/config.yml b/quickstarts/gcp/google-pub-sub/config.yml index ccfbb55c38..7b390c69e6 100644 --- a/quickstarts/gcp/google-pub-sub/config.yml +++ b/quickstarts/gcp/google-pub-sub/config.yml @@ -28,8 +28,6 @@ keywords: - gcp - google cloud platform - queue -installPlans: - - gcp-infrastructure-monitoring dataSourceIds: - google-cloud-platform dashboards: diff --git a/quickstarts/gigamon-appinsights/config.yml b/quickstarts/gigamon-appinsights/config.yml index 8f98f2aa0d..413f19c0fe 100644 --- a/quickstarts/gigamon-appinsights/config.yml +++ b/quickstarts/gigamon-appinsights/config.yml @@ -1,14 +1,13 @@ id: 77af041f-de6c-45d1-9ac1-8d77d48ab9a9 - slug: gigamon-appinsights title: Gigamon Application Insights description: | ## Deep Application Visibility - Analytics tools are only as smart as the data they receive. Gigamon Application Metadata Intelligence empowers - New Relic with critical metadata attributes across thousands of business, consumer and IT applications and services. + Analytics tools are only as smart as the data they receive. Gigamon Application Metadata Intelligence empowers + New Relic with critical metadata attributes across thousands of business, consumer and IT applications and services. Get deep application visibility to rapidly pinpoint performance bottlenecks, quality issues and potential network security risks. summary: | @@ -41,8 +40,5 @@ icon: gigamon-appint.png dashboards: - gigamon-appinsights -installPlans: - - third-party-gigamon-appinsights - dataSourceIds: - gigamon-appinsights diff --git a/quickstarts/gigamon/config.yml b/quickstarts/gigamon/config.yml index aa7d6968e3..b9c0710d5b 100644 --- a/quickstarts/gigamon/config.yml +++ b/quickstarts/gigamon/config.yml @@ -18,8 +18,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-gigamon dataSourceIds: - gigamon-appinsights documentation: diff --git a/quickstarts/github/config.yml b/quickstarts/github/config.yml index 3f4b0b9808..74e66247ba 100644 --- a/quickstarts/github/config.yml +++ b/quickstarts/github/config.yml @@ -20,7 +20,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot) to learn more about New Relic ingestion for GitHub Dependabot. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot) to learn more about New Relic ingestion for GitHub Dependabot. summary: Ingest GitHub Dependabot events by connecting GitHub to New Relic level: New Relic @@ -35,8 +35,6 @@ documentation: - name: GitHub Dependabot integration installation docs description: Automatic integration for ingesting Dependabot vulnerabilities. url: https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot -installPlans: - - github-dependabot-install dataSourceIds: - dependabot icon: logo.png diff --git a/quickstarts/gitlab/config.yml b/quickstarts/gitlab/config.yml index aaa5663ce5..34fe79edf1 100644 --- a/quickstarts/gitlab/config.yml +++ b/quickstarts/gitlab/config.yml @@ -20,8 +20,6 @@ keywords: - pipelines dashboards: - gitlab -installPlans: - - third-party-gitlab-integration dataSourceIds: - gitlab-integration documentation: @@ -30,4 +28,3 @@ documentation: description: Monitor your Gitlab pipelines with New Relic, making it easier to get observability into your CI/CD pipeline health and performance. icon: logo.svg website: https://www.newrelic.com - diff --git a/quickstarts/glassbox/config.yml b/quickstarts/glassbox/config.yml index 1eb70159de..e384720343 100644 --- a/quickstarts/glassbox/config.yml +++ b/quickstarts/glassbox/config.yml @@ -21,8 +21,6 @@ keywords: - session replay - NR1_addData - NR1_sys -installPlans: - - third-party-glassbox dataSourceIds: - glassbox documentation: diff --git a/quickstarts/golang/echo/config.yml b/quickstarts/golang/echo/config.yml index c148a18d9e..c280bbc2ba 100644 --- a/quickstarts/golang/echo/config.yml +++ b/quickstarts/golang/echo/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Echo. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Echo. summary: Monitor Echo with New Relic's Golang agent icon: logo.svg level: New Relic @@ -25,8 +25,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/gin/config.yml b/quickstarts/golang/gin/config.yml index 3b6a739d04..5f3e21bffa 100644 --- a/quickstarts/golang/gin/config.yml +++ b/quickstarts/golang/gin/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Gin. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Gin. summary: Monitor Gin with New Relic's Golang agent icon: logo.png level: New Relic @@ -25,8 +25,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/golang/config.yml b/quickstarts/golang/golang/config.yml index c0fa6b0dde..9e062e574a 100644 --- a/quickstarts/golang/golang/config.yml +++ b/quickstarts/golang/golang/config.yml @@ -26,8 +26,6 @@ keywords: - apm - golang - language agent -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/httprouter/config.yml b/quickstarts/golang/httprouter/config.yml index 72e03de2dd..d53114444c 100644 --- a/quickstarts/golang/httprouter/config.yml +++ b/quickstarts/golang/httprouter/config.yml @@ -13,7 +13,7 @@ description: | ### New Relic and HTTPRouter features - Track Golang language apps and microservices with [New Relic’s HTTPRouter and Golang](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/introduction-new-relic-go/) monitoring quickstart, including throughput, transaction errors, and response times. + Track Golang language apps and microservices with [New Relic’s HTTPRouter and Golang](https://docs.newrelic.com/docs/apm/agents/go-agent/get-started/introduction-new-relic-go/) monitoring quickstart, including throughput, transaction errors, and response times. With a clear view into garbage collection behavior, memory usage, and CPU usage over time, your Golang development team can better understand your application’s runtime health. HTTPRouter infrastructure monitoring also provides a comprehensive view of host and server data. @@ -48,8 +48,6 @@ keywords: - golang - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/lambda-go/config.yml b/quickstarts/golang/lambda-go/config.yml index d114c679a8..118de57acd 100644 --- a/quickstarts/golang/lambda-go/config.yml +++ b/quickstarts/golang/lambda-go/config.yml @@ -33,8 +33,6 @@ keywords: - serverless - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/logrus/config.yml b/quickstarts/golang/logrus/config.yml index 5139d6b982..6eab4e98f2 100644 --- a/quickstarts/golang/logrus/config.yml +++ b/quickstarts/golang/logrus/config.yml @@ -34,8 +34,6 @@ keywords: - logging - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/logxi/config.yml b/quickstarts/golang/logxi/config.yml index 2bbf19b602..d4a1dbb6d9 100644 --- a/quickstarts/golang/logxi/config.yml +++ b/quickstarts/golang/logxi/config.yml @@ -34,8 +34,6 @@ keywords: - logging - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/micro/config.yml b/quickstarts/golang/micro/config.yml index 77e6458c5b..c4c2e9544f 100644 --- a/quickstarts/golang/micro/config.yml +++ b/quickstarts/golang/micro/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/mux/config.yml b/quickstarts/golang/mux/config.yml index 75536a4c38..8077435d78 100644 --- a/quickstarts/golang/mux/config.yml +++ b/quickstarts/golang/mux/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/nats/config.yml b/quickstarts/golang/nats/config.yml index 3ed86fb195..297e5b7852 100644 --- a/quickstarts/golang/nats/config.yml +++ b/quickstarts/golang/nats/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for NATS. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for NATS. summary: Monitor NATS with New Relic's Golang agent icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ keywords: - golang - NR1_addData - NR1_sys -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/golang/pkg-errors/config.yml b/quickstarts/golang/pkg-errors/config.yml index e4ed92b5fd..2afab7a666 100644 --- a/quickstarts/golang/pkg-errors/config.yml +++ b/quickstarts/golang/pkg-errors/config.yml @@ -23,8 +23,6 @@ keywords: - golang - errors - pkg/errors -installPlans: - - setup-go-agent dataSourceIds: - golang documentation: diff --git a/quickstarts/golang/zap/config.yml b/quickstarts/golang/zap/config.yml index 59c72bed5d..89cd327b7c 100644 --- a/quickstarts/golang/zap/config.yml +++ b/quickstarts/golang/zap/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Zap. + Check out the [documentation](https://docs.newrelic.com/docs/agents/go-agent/) to learn more about New Relic monitoring for Zap. summary: Monitor Zap with New Relic's Golang agent icon: logo.svg level: New Relic @@ -25,8 +25,6 @@ documentation: keywords: - apm - golang -installPlans: - - setup-go-agent dataSourceIds: - golang dashboards: diff --git a/quickstarts/grafana/grafana-dashboard-migration/config.yml b/quickstarts/grafana/grafana-dashboard-migration/config.yml index be18cd5d7e..12c16f3da2 100644 --- a/quickstarts/grafana/grafana-dashboard-migration/config.yml +++ b/quickstarts/grafana/grafana-dashboard-migration/config.yml @@ -24,8 +24,6 @@ documentation: - name: Convert Grafana Prometheus dashboards to New Relic dashboards. url: https://github.com/newrelic-experimental/nr-grafana-migration description: Toolset to help New Relic customers migrate from Grafana and Prometheus to New Relic. -installPlans: - - third-party-grafana-dashboard-migration dataSourceIds: - grafana-dashboard-migration icon: logo.png diff --git a/quickstarts/grafana/grafana-prometheus-integration/config.yml b/quickstarts/grafana/grafana-prometheus-integration/config.yml index ef0e90c344..a7ff0bc87d 100644 --- a/quickstarts/grafana/grafana-prometheus-integration/config.yml +++ b/quickstarts/grafana/grafana-prometheus-integration/config.yml @@ -13,8 +13,6 @@ keywords: - prometheus - NR1_addData - NR1_sys -installPlans: - - third-party-grafana-prometheus-integration dataSourceIds: - grafana-prometheus-integration documentation: diff --git a/quickstarts/haproxy/config.yml b/quickstarts/haproxy/config.yml index 56d25954b6..af4ec2ec54 100644 --- a/quickstarts/haproxy/config.yml +++ b/quickstarts/haproxy/config.yml @@ -6,14 +6,14 @@ description: | HAProxy monitoring helps maintain system performance and provides the visibility you need to identify and resolve the cause of errors and latency. When you monitor HAProxy in real-time, you can see the entire service topology of your data pipeline and applications in an HAProxy dashboard. - Keep track of TCP and HTTP-based applications powered by the highly available and stable TCP/HTTP load-balancing software and proxy solution. + Keep track of TCP and HTTP-based applications powered by the highly available and stable TCP/HTTP load-balancing software and proxy solution. ### New Relic HAProxy quickstart highlights [New Relic's HAProxy monitoring agent](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/haproxy-monitoring-integration/) tracks server capacity to ensure that it can handle all concurrent sessions. You can efficiently manage your resources and run applications optimally by keeping an eye on real-time HAProxy status and statistics. - New Relic's HAProxy monitoring quickstart has the following out-of-the-box features so you can monitor your frontend/server inventory and the health/availability of your backend servers: - - Alerts (latency and errors) + New Relic's HAProxy monitoring quickstart has the following out-of-the-box features so you can monitor your frontend/server inventory and the health/availability of your backend servers: + - Alerts (latency and errors) - Dashboards (bytes sent and received per second, frontend statuses, request errors per second, sessions per second, and active servers - same dashboards for both front and backend) ### New Relic - The complete HAProxy dashboard tool @@ -32,8 +32,6 @@ documentation: description: | Free, open-source software load balancer and proxy server for TCP and HTTP-based applications that spreads traffic across multiple servers. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/haproxy-monitoring-integration/ -installPlans: - - haproxy-integration dataSourceIds: - haproxy keywords: diff --git a/quickstarts/harbor/config.yml b/quickstarts/harbor/config.yml index 40916c8e5c..4f948bbbd1 100644 --- a/quickstarts/harbor/config.yml +++ b/quickstarts/harbor/config.yml @@ -36,9 +36,6 @@ documentation: url: https://goharbor.io/docs/2.3.0/administration/metrics/ description: | Learn more about the Prometheus metrics available for Harbor -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/hashicorp/hcp-consul/config.yml b/quickstarts/hashicorp/hcp-consul/config.yml index 60fa6f5be9..7ef2adfd42 100644 --- a/quickstarts/hashicorp/hcp-consul/config.yml +++ b/quickstarts/hashicorp/hcp-consul/config.yml @@ -3,7 +3,7 @@ slug: hcp-consul title: HCP Consul description: |- ## HCP Consul - HCP (Hashicorp Cloud Platform) Consul is a version of Consul in which the control plane is managed by HashiCorp Cloud Platform. + HCP (Hashicorp Cloud Platform) Consul is a version of Consul in which the control plane is managed by HashiCorp Cloud Platform. HCP Consul is a service mesh and service discovery solution provided by Hashicorp. It enables platform operators to quickly deploy a fully managed, secure-by-default service mesh, helping developers discover and securely connect any application on any runtime, including Kubernetes, Nomad, and Amazon ECS. @@ -40,8 +40,6 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/cloud-integrations/hcp-consul-monitoring description: HCP Consul configuration documentation icon: logo.svg -installPlans: - - third-party-hashicorp-hcp-consul dataSourceIds: - hcp-consul dashboards: diff --git a/quickstarts/hashicorp/hcp-vault/config.yml b/quickstarts/hashicorp/hcp-vault/config.yml index c64ab2ac77..e596ee8695 100644 --- a/quickstarts/hashicorp/hcp-vault/config.yml +++ b/quickstarts/hashicorp/hcp-vault/config.yml @@ -3,13 +3,13 @@ slug: hcp-vault title: HCP Vault description: |- ## HCP Vault - + Secure, store, and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets, and other sensitive data using a UI, CLI, or HTTP API. - + ### Monitor HCP Vault metrics with New Relic Metrics observability is essential for ensuring the performance and security of your HCP Vault cluster. It's also useful for business operations, like understanding client-related usage. - + ### HCP Vault integration highlights The HCP Vault integration with New Relic provides a pre-made dashboard with HCP Vault metrics and audit logs to get started easily. This dashboard provides visibility into the health of your HCP Vault environment. @@ -39,8 +39,6 @@ documentation: url: https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-audit-log-new-relic description: HCP Vault audit logs guide icon: logo.svg -installPlans: - - third-party-hcp-vault dataSourceIds: - hcp-vault-logs - hcp-vault-metrics diff --git a/quickstarts/heroku/config.yml b/quickstarts/heroku/config.yml index 487b289636..b81f10cf69 100644 --- a/quickstarts/heroku/config.yml +++ b/quickstarts/heroku/config.yml @@ -12,8 +12,6 @@ keywords: - logs - heroku - paas -installPlans: - - logs-heroku dataSourceIds: - heroku documentation: diff --git a/quickstarts/hivemq/config.yml b/quickstarts/hivemq/config.yml index 866a7fa27b..d51a258fdc 100644 --- a/quickstarts/hivemq/config.yml +++ b/quickstarts/hivemq/config.yml @@ -45,9 +45,6 @@ documentation: MQTT broker that makes it easy to move data to and from connected devices. url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/hivemq -installPlans: - - hivemq-integration-docs - dataSourceIds: - hivemq-integration-docs diff --git a/quickstarts/ibmmq/config.yml b/quickstarts/ibmmq/config.yml index 1888f24e64..b97858e88d 100644 --- a/quickstarts/ibmmq/config.yml +++ b/quickstarts/ibmmq/config.yml @@ -44,10 +44,7 @@ documentation: description: | Our IBM MQ integration collects and sends dimensional metrics from IBM MQ. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/ibmmq-monitoring-integration/ -installPlans: - - ibmmq-integration-docs dataSourceIds: - ibmmq-integration-docs dashboards: - ibmmq - diff --git a/quickstarts/infrastructure/config.yml b/quickstarts/infrastructure/config.yml index 2fac2efe8b..4216e08d8e 100644 --- a/quickstarts/infrastructure/config.yml +++ b/quickstarts/infrastructure/config.yml @@ -45,8 +45,6 @@ level: New Relic authors: - New Relic - Darren Doyle -installPlans: - - guided-install dataSourceIds: - guided-install keywords: @@ -57,4 +55,4 @@ dashboards: documentation: - name: Infrastructure installation documentation description: Monitor your Infrastructure with New Relic. - url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ \ No newline at end of file + url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ diff --git a/quickstarts/ios/config.yml b/quickstarts/ios/config.yml index 849216a784..a948b45df3 100644 --- a/quickstarts/ios/config.yml +++ b/quickstarts/ios/config.yml @@ -21,8 +21,6 @@ documentation: Default operating system for Apple mobile devices, including the iPhone and iPad. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/introduction-new-relic-mobile-ios -installPlans: - - ios-mobile dataSourceIds: - ios keywords: diff --git a/quickstarts/java/adobe-cq/config.yml b/quickstarts/java/adobe-cq/config.yml index 82b34d2328..6291c22b02 100644 --- a/quickstarts/java/adobe-cq/config.yml +++ b/quickstarts/java/adobe-cq/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Adobe CQ with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Adobe CQ with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,8 +27,6 @@ documentation: Java-based Content Management platform solution for building website, mobile apps and forms. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent -installPlans: - - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/akka/config.yml b/quickstarts/java/akka/config.yml index f2e2f9b549..317895e1e7 100644 --- a/quickstarts/java/akka/config.yml +++ b/quickstarts/java/akka/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Akka with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Akka with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/anorm/config.yml b/quickstarts/java/anorm/config.yml index 74602498a8..3705bc7724 100644 --- a/quickstarts/java/anorm/config.yml +++ b/quickstarts/java/anorm/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Anorm with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Anorm with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/asynchttpclient/config.yml b/quickstarts/java/asynchttpclient/config.yml index 800184e86a..b2320ec4f2 100644 --- a/quickstarts/java/asynchttpclient/config.yml +++ b/quickstarts/java/asynchttpclient/config.yml @@ -32,8 +32,6 @@ keywords: - http - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/camel/config.yml b/quickstarts/java/camel/config.yml index 038ef72d37..44f06f0908 100644 --- a/quickstarts/java/camel/config.yml +++ b/quickstarts/java/camel/config.yml @@ -6,7 +6,7 @@ description: | Camel is an Open Source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. - Camel empowers you to define routing and mediation rules in a variety of domain-specific languages (DSL, such as Java, XML, Groovy, Kotlin, and YAML). + Camel empowers you to define routing and mediation rules in a variety of domain-specific languages (DSL, such as Java, XML, Groovy, Kotlin, and YAML). This means you get smart completion of routing rules in your IDE, whether in a Java or XML editor. Apache Camel uses URIs to work directly with any kind of transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF, as well as pluggable Components and Data Format options. summary: | @@ -25,8 +25,6 @@ keywords: - language agent authors: - New Relic Labs -installPlans: - - third-party-camel dataSourceIds: - camel documentation: diff --git a/quickstarts/java/coldfusion/config.yml b/quickstarts/java/coldfusion/config.yml index a819462280..824fb6f4b6 100644 --- a/quickstarts/java/coldfusion/config.yml +++ b/quickstarts/java/coldfusion/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments ColdFusion with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments ColdFusion with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/cxf/config.yml b/quickstarts/java/cxf/config.yml index 97d2b8ca88..2bb1d347d5 100644 --- a/quickstarts/java/cxf/config.yml +++ b/quickstarts/java/cxf/config.yml @@ -26,8 +26,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/datastax-cassandra/config.yml b/quickstarts/java/datastax-cassandra/config.yml index 9481890938..908497c86c 100644 --- a/quickstarts/java/datastax-cassandra/config.yml +++ b/quickstarts/java/datastax-cassandra/config.yml @@ -16,7 +16,5 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java diff --git a/quickstarts/java/derby/config.yml b/quickstarts/java/derby/config.yml index 4024575895..94031b7917 100644 --- a/quickstarts/java/derby/config.yml +++ b/quickstarts/java/derby/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Derby with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Derby with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/ejb-session-beans/config.yml b/quickstarts/java/ejb-session-beans/config.yml index f33aa900c2..20f4a8bcac 100644 --- a/quickstarts/java/ejb-session-beans/config.yml +++ b/quickstarts/java/ejb-session-beans/config.yml @@ -7,7 +7,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments EJB session beans with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments EJB session beans with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -30,8 +30,6 @@ keywords: - apm - java - language agent -installPlans: - - third-party-ejb-session-beans dataSourceIds: - java dashboards: diff --git a/quickstarts/java/elasticsearch-query/config.yml b/quickstarts/java/elasticsearch-query/config.yml index 58aef2095e..c07674fe2c 100644 --- a/quickstarts/java/elasticsearch-query/config.yml +++ b/quickstarts/java/elasticsearch-query/config.yml @@ -9,7 +9,7 @@ description: | The elastic search query java agent extension enables monitoring of elasticsearch queries in a java application. Once deployed elasticsearch queries begin to show up in the New Relic UI under Databases section summary: | - Java agent extension to monitor elasticsearch queries as dataStore queries with New Relic. + Java agent extension to monitor elasticsearch queries as dataStore queries with New Relic. Once deployed elasticsearch queries begin to show up in the New Relic UI under Databases for the application using elasticsearch queries. icon: logo.svg level: Community @@ -23,8 +23,6 @@ keywords: - language agent authors: - New Relic Labs -installPlans: - - third-party-elasticsearch-query dataSourceIds: - elasticsearch-query documentation: diff --git a/quickstarts/java/gcp-pubsub/config.yml b/quickstarts/java/gcp-pubsub/config.yml index 37bb033639..3e2fc3b778 100644 --- a/quickstarts/java/gcp-pubsub/config.yml +++ b/quickstarts/java/gcp-pubsub/config.yml @@ -32,8 +32,6 @@ documentation: description: | Java Agent instrumentation extension for the Google Cloud Platform PubSub framework url: https://github.com/newrelic-experimental/newrelic-java-gcp-pubsub -installPlans: - - third-party-gcp-pubsub dataSourceIds: - gcp-pubsub dashboards: diff --git a/quickstarts/java/generic-jdbc/config.yml b/quickstarts/java/generic-jdbc/config.yml index 408b526313..04f35cea0a 100644 --- a/quickstarts/java/generic-jdbc/config.yml +++ b/quickstarts/java/generic-jdbc/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Generic JDBC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Generic JDBC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,8 +27,6 @@ documentation: Java Database Connectivity is a standard Java API for database-independent connectivity between Java and a wide range of databases. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent -installPlans: - - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/glassfish/config.yml b/quickstarts/java/glassfish/config.yml index a74b1c4116..3eccfc064a 100644 --- a/quickstarts/java/glassfish/config.yml +++ b/quickstarts/java/glassfish/config.yml @@ -26,8 +26,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/grails/config.yml b/quickstarts/java/grails/config.yml index fbca8437ec..6087628e7d 100644 --- a/quickstarts/java/grails/config.yml +++ b/quickstarts/java/grails/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/grpc/config.yml b/quickstarts/java/grpc/config.yml index b966b7b2d9..3e8856ff71 100644 --- a/quickstarts/java/grpc/config.yml +++ b/quickstarts/java/grpc/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments gRPC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments gRPC with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/h2/config.yml b/quickstarts/java/h2/config.yml index a4495e7f62..f033fe4fc3 100644 --- a/quickstarts/java/h2/config.yml +++ b/quickstarts/java/h2/config.yml @@ -25,8 +25,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hibernate/config.yml b/quickstarts/java/hibernate/config.yml index 348190c760..d8ce392712 100644 --- a/quickstarts/java/hibernate/config.yml +++ b/quickstarts/java/hibernate/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hibernate with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hibernate with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hsql/config.yml b/quickstarts/java/hsql/config.yml index 5719c8a19d..3b06147d11 100644 --- a/quickstarts/java/hsql/config.yml +++ b/quickstarts/java/hsql/config.yml @@ -27,8 +27,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/hystrix/config.yml b/quickstarts/java/hystrix/config.yml index 15ca2a2e80..1b5ecf336e 100644 --- a/quickstarts/java/hystrix/config.yml +++ b/quickstarts/java/hystrix/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hystrix with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Hystrix with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/ibm-db2/config.yml b/quickstarts/java/ibm-db2/config.yml index e79cedbf35..4753be6806 100644 --- a/quickstarts/java/ibm-db2/config.yml +++ b/quickstarts/java/ibm-db2/config.yml @@ -25,8 +25,6 @@ keywords: - java - database - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/inet-merlia/config.yml b/quickstarts/java/inet-merlia/config.yml index 0d571a4354..189de3b07d 100644 --- a/quickstarts/java/inet-merlia/config.yml +++ b/quickstarts/java/inet-merlia/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/java/config.yml b/quickstarts/java/java/config.yml index 0ec999da01..954f7c8f9c 100644 --- a/quickstarts/java/java/config.yml +++ b/quickstarts/java/java/config.yml @@ -3,9 +3,9 @@ slug: java description: | ## Why monitoring Java is so important - Java is a compiled language, with the potential to be very fast. However, there are a a lot of Java-specific quirks that make the average program slow such as high default memory usage and lags in the startup time of the JVM. + Java is a compiled language, with the potential to be very fast. However, there are a a lot of Java-specific quirks that make the average program slow such as high default memory usage and lags in the startup time of the JVM. - In order to get the most performance out of your Java applications, it’s important to continuously monitor them with tools such as the New Relic Java agent. + In order to get the most performance out of your Java applications, it’s important to continuously monitor them with tools such as the New Relic Java agent. ### New Relic Java quickstart features @@ -14,7 +14,7 @@ description: | ### New Relic - the perfect Java observability tool - [Proactive Java monitoring](https://docs.newrelic.com/docs/agents/java-agent/getting-started/introduction-new-relic-java/) yields reductions in site latency and improves the user experience. Our Java agent monitors app servers, databases, and message queuing systems, giving insight into all the key components which allow a web app to run. Custom instrumentation is also available for the add-on Java frameworks and libraries which may be used. + [Proactive Java monitoring](https://docs.newrelic.com/docs/agents/java-agent/getting-started/introduction-new-relic-java/) yields reductions in site latency and improves the user experience. Our Java agent monitors app servers, databases, and message queuing systems, giving insight into all the key components which allow a web app to run. Custom instrumentation is also available for the add-on Java frameworks and libraries which may be used. The agent reports metric time-slice and event data, giving insight at scheduled intervals. It also provides JVM-level observability, providing thread pools data, HTTP sessions, and transactions. You can trace request flows through distributed systems, allowing you to pinpoint points of failure and proactively prevent downtime. All metrics and interfaces are unified via an included dashboard which provides a visual display of an application’s performance. @@ -38,8 +38,6 @@ keywords: - java - language agent - most popular -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jax-rs/config.yml b/quickstarts/java/jax-rs/config.yml index 2d5aae30e0..30da8a8e49 100644 --- a/quickstarts/java/jax-rs/config.yml +++ b/quickstarts/java/jax-rs/config.yml @@ -26,8 +26,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jcache-api/config.yml b/quickstarts/java/jcache-api/config.yml index e051a1bce8..4ffcef4670 100644 --- a/quickstarts/java/jcache-api/config.yml +++ b/quickstarts/java/jcache-api/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jdbc-executebatch/config.yml b/quickstarts/java/jdbc-executebatch/config.yml index 118f0402fe..5dd72cb175 100644 --- a/quickstarts/java/jdbc-executebatch/config.yml +++ b/quickstarts/java/jdbc-executebatch/config.yml @@ -5,13 +5,13 @@ description: | # What is executeBatch call? ExecuteBatch method in jdbc submits a batch of commands to the database for execution. You - If all commands execute successfully, the call returns an array of update counts. + If all commands execute successfully, the call returns an array of update counts. - Once the instrumentation is deployed it will start to track the call to the executeBatch method as a database call in distributed traces. + Once the instrumentation is deployed it will start to track the call to the executeBatch method as a database call in distributed traces. The Performance tab for the call will show the query as "Batch Execute n Queries" where n is the number of queries executed as part of the batch. - - For calls to addBatch(String sql), it will represent the number of calls to this method before the executeBatch method is executed. + - For calls to addBatch(String sql), it will represent the number of calls to this method before the executeBatch method is executed. - For PreparedStatment and CallableStatment it will represent the number of times that addBatch() is called. summary: | Java agent extension to monitor the executeBatch method of the Statement, PreparedStatement and CallableStatement interfaces as a database call. @@ -33,8 +33,6 @@ documentation: description: | Java Agent instrumentation extension for tracking executeBatch method of the Statement, PreparedStatement and CallableStatement interfaces as a database call. url: https://github.com/newrelic-experimental/newrelic-java-JDBC-ExecuteBatch -installPlans: - - third-party-jdbc-executebatch dataSourceIds: - jdbc-executebatch dashboards: diff --git a/quickstarts/java/jersey/config.yml b/quickstarts/java/jersey/config.yml index 9484c0c216..64dbf00c0c 100644 --- a/quickstarts/java/jersey/config.yml +++ b/quickstarts/java/jersey/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jetty/config.yml b/quickstarts/java/jetty/config.yml index c9ab5af66c..d44b856c23 100644 --- a/quickstarts/java/jetty/config.yml +++ b/quickstarts/java/jetty/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Jetty with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Jetty with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - server - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jms/config.yml b/quickstarts/java/jms/config.yml index 1e713b3561..ceb06e47a6 100644 --- a/quickstarts/java/jms/config.yml +++ b/quickstarts/java/jms/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jsf/config.yml b/quickstarts/java/jsf/config.yml index 1c135ea893..baef964761 100644 --- a/quickstarts/java/jsf/config.yml +++ b/quickstarts/java/jsf/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSF with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSF with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/jsp/config.yml b/quickstarts/java/jsp/config.yml index 2c79a43ea9..b234900737 100644 --- a/quickstarts/java/jsp/config.yml +++ b/quickstarts/java/jsp/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSP with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments JSP with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/mule-esb/config.yml b/quickstarts/java/mule-esb/config.yml index 7d8016cdae..5ecb383830 100644 --- a/quickstarts/java/mule-esb/config.yml +++ b/quickstarts/java/mule-esb/config.yml @@ -35,8 +35,6 @@ keywords: - NR1_addData - NR1_sys - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/netty/config.yml b/quickstarts/java/netty/config.yml index 36b88fadab..d421977c6a 100644 --- a/quickstarts/java/netty/config.yml +++ b/quickstarts/java/netty/config.yml @@ -2,7 +2,7 @@ id: 6c25b345-1377-42be-b265-d511e0d170f8 slug: netty description: | ## Why monitor Netty? - Netty is a tool for building performant, low-level network servers and clients in Java. It operates on an asynchronous, non-blocking I/O model, meaning that it can serve or receive multiple requests simultaneously while maintaining running background processes. + Netty is a tool for building performant, low-level network servers and clients in Java. It operates on an asynchronous, non-blocking I/O model, meaning that it can serve or receive multiple requests simultaneously while maintaining running background processes. While Netty is powerful and runs with lower resource usage than its blocking counterparts, its non-blocking paradigm makes the code it creates harder to test and more difficult to read. The fact that it operates at a low level close to the hardware makes it prone to difficult-to-debug errors. Thus, actively monitoring each Netty instance is vital to keeping all the servers and clients on which it is based running smoothly. The Netty quickstart provides dashboards and alerts that enable continuous monitoring of Netty application health. @@ -10,7 +10,7 @@ description: | The Netty quickstart contains a number of helpful dashboards and alerts that monitor your Netty performance. These include - #### Dashboards + #### Dashboards - Transactions overview provides information about average transaction duration, slowest 10% duration transactions, total transactions, and success rates. - The errors overview gives insight into total transactions and failed transactions by both percentages and total numbers. - The VM overview lets you introspect average CPU utilization, average physical memory usage, and total average memory used. @@ -48,8 +48,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/oc4j/config.yml b/quickstarts/java/oc4j/config.yml index 9bad2b1137..995381c879 100644 --- a/quickstarts/java/oc4j/config.yml +++ b/quickstarts/java/oc4j/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/play-ws/config.yml b/quickstarts/java/play-ws/config.yml index d35ba54dc2..8651273432 100644 --- a/quickstarts/java/play-ws/config.yml +++ b/quickstarts/java/play-ws/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/play/config.yml b/quickstarts/java/play/config.yml index c6580069a8..02c9adee60 100644 --- a/quickstarts/java/play/config.yml +++ b/quickstarts/java/play/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Play with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Play with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/quartz-job-scheduler/config.yml b/quickstarts/java/quartz-job-scheduler/config.yml index e524769153..b3f4897f00 100644 --- a/quickstarts/java/quartz-job-scheduler/config.yml +++ b/quickstarts/java/quartz-job-scheduler/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Quartz Job Scheduler with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Quartz Job Scheduler with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/resin/config.yml b/quickstarts/java/resin/config.yml index 4b22fbea00..55c77fc257 100644 --- a/quickstarts/java/resin/config.yml +++ b/quickstarts/java/resin/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Resin with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Resin with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/resteasy/config.yml b/quickstarts/java/resteasy/config.yml index e4874b0e22..aa01867baf 100644 --- a/quickstarts/java/resteasy/config.yml +++ b/quickstarts/java/resteasy/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments RESTeasy with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments RESTeasy with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/scala/config.yml b/quickstarts/java/scala/config.yml index 3bea5c5b54..0fb82b0a69 100644 --- a/quickstarts/java/scala/config.yml +++ b/quickstarts/java/scala/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Scala with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Scala with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/slick/config.yml b/quickstarts/java/slick/config.yml index b12d83215e..ab41c021ac 100644 --- a/quickstarts/java/slick/config.yml +++ b/quickstarts/java/slick/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/solr/config.yml b/quickstarts/java/solr/config.yml index 558f0fdd71..c0cac47f2d 100644 --- a/quickstarts/java/solr/config.yml +++ b/quickstarts/java/solr/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Solr with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Solr with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spray-can/config.yml b/quickstarts/java/spray-can/config.yml index 546c811bb0..96b583b059 100644 --- a/quickstarts/java/spray-can/config.yml +++ b/quickstarts/java/spray-can/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spray-can with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spray-can with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spring-jms/config.yml b/quickstarts/java/spring-jms/config.yml index 1167c670ee..54d78bcd5b 100644 --- a/quickstarts/java/spring-jms/config.yml +++ b/quickstarts/java/spring-jms/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring-JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring-JMS with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spring/config.yml b/quickstarts/java/spring/config.yml index cfb19c10cc..8109187ac5 100644 --- a/quickstarts/java/spring/config.yml +++ b/quickstarts/java/spring/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Spring with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/spymemcached/config.yml b/quickstarts/java/spymemcached/config.yml index 095cb2c21f..6f4e56666b 100644 --- a/quickstarts/java/spymemcached/config.yml +++ b/quickstarts/java/spymemcached/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments SpyMemcached with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments SpyMemcached with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/struts/config.yml b/quickstarts/java/struts/config.yml index 853a5ee868..0e6df407e5 100644 --- a/quickstarts/java/struts/config.yml +++ b/quickstarts/java/struts/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Struts with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Struts with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/thrift/config.yml b/quickstarts/java/thrift/config.yml index cd276729fa..6b74af49ea 100644 --- a/quickstarts/java/thrift/config.yml +++ b/quickstarts/java/thrift/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Thrift with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Thrift with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/tomcat/config.yml b/quickstarts/java/tomcat/config.yml index dc8aa8adf8..fa84098c8c 100644 --- a/quickstarts/java/tomcat/config.yml +++ b/quickstarts/java/tomcat/config.yml @@ -39,8 +39,6 @@ keywords: - server - most popular - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/tomee/config.yml b/quickstarts/java/tomee/config.yml index e6fcbe2f05..3eb84e1ce0 100644 --- a/quickstarts/java/tomee/config.yml +++ b/quickstarts/java/tomee/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments TomEE with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments TomEE with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -31,8 +31,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/java/vert-x/config.yml b/quickstarts/java/vert-x/config.yml index 0e2b7f3ca3..d3d6acd1e3 100644 --- a/quickstarts/java/vert-x/config.yml +++ b/quickstarts/java/vert-x/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Vert.x with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments Vert.x with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -27,8 +27,6 @@ documentation: Application framework for development of reactive and event-driven software in Java or a variety of other languages. url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent -installPlans: - - setup-java-agent dataSourceIds: - java keywords: diff --git a/quickstarts/java/weblogic/config.yml b/quickstarts/java/weblogic/config.yml index 942ef65b16..4c208f42e8 100644 --- a/quickstarts/java/weblogic/config.yml +++ b/quickstarts/java/weblogic/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/websphere-liberty-profile/config.yml b/quickstarts/java/websphere-liberty-profile/config.yml index cc8a7ce186..4be0a2db62 100644 --- a/quickstarts/java/websphere-liberty-profile/config.yml +++ b/quickstarts/java/websphere-liberty-profile/config.yml @@ -35,8 +35,6 @@ keywords: - java - apm - language agent -installPlans: - - setup-java-agent dataSourceIds: - java documentation: @@ -47,4 +45,4 @@ documentation: dashboards: - websphere-liberty-profile alertPolicies: - - websphere-liberty-profile \ No newline at end of file + - websphere-liberty-profile diff --git a/quickstarts/java/websphere/config.yml b/quickstarts/java/websphere/config.yml index f4dcb744bf..759545a2f0 100644 --- a/quickstarts/java/websphere/config.yml +++ b/quickstarts/java/websphere/config.yml @@ -24,8 +24,6 @@ keywords: - apm - java - language agent -installPlans: - - setup-java-agent dataSourceIds: - java dashboards: diff --git a/quickstarts/java/wildfly/config.yml b/quickstarts/java/wildfly/config.yml index 6e4a779ba1..1e4e350edf 100644 --- a/quickstarts/java/wildfly/config.yml +++ b/quickstarts/java/wildfly/config.yml @@ -8,7 +8,7 @@ description: | ## Get started! - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments WildFly with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. + Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments WildFly with the New Relic Java agent, and allows you to instantly monitor your Java application with out-of-the-box dashboards and alerts. Further leverage New Relic's APM capabilities by setting up [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). ## More info @@ -32,8 +32,6 @@ keywords: - java - server - language agent -installPlans: - - setup-java-targeted-install dataSourceIds: - java dashboards: diff --git a/quickstarts/jenkins/config.yml b/quickstarts/jenkins/config.yml index a1f86ac03a..cee540a227 100644 --- a/quickstarts/jenkins/config.yml +++ b/quickstarts/jenkins/config.yml @@ -17,14 +17,14 @@ description: |- Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/monitoring-jenkins-ot/) to learn more about New Relic monitoring for Jenkins. ### Tie software performance to recent changes and deployments with New Relic change tracking - + With [New Relic change tracking](https://newrelic.com/platform/change-tracking), engineers now have the context to quickly understand the impact of changes on a system's performance and quality---then take action to find and fix problems fast. - See deployments in context with errors, logs, traces, incidents, and more. - Correlate deployments and change events to shifts in golden signals, errors, log attributes, incidents, and other key metrics. - Automatically mark charts with change details and metadata from any source, including the [Jenkins](https://docs.newrelic.com/docs/change-tracking/ci-cd/change-tracking-jenkins/) plugin. Learn how to automatically record deployments with the brand new [GraphQL API](https://docs.newrelic.com/docs/change-tracking/change-tracking-graphql/), [New Relic CLI](https://docs.newrelic.com/docs/change-tracking/change-tracking-cli/), and third-party CI/CD sources in the [docs](https://docs.newrelic.com/docs/change-tracking/change-tracking-introduction/). - + # Displayed in search results and recommendations. Summarizes a quickstarts functionality. summary: | @@ -41,8 +41,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-jenkins-integration dataSourceIds: - otel-jenkins-integration dashboards: diff --git a/quickstarts/jfrog-platform/config.yml b/quickstarts/jfrog-platform/config.yml index cb48405615..2ac84723c0 100644 --- a/quickstarts/jfrog-platform/config.yml +++ b/quickstarts/jfrog-platform/config.yml @@ -3,21 +3,21 @@ slug: jfrog-platform title: JFrog Software Supply Chain Platform description: | ## Why monitor the JFrog Platform - + The JFrog Platform is a leading universal end-to-end DevOps and DevSecOps platform for automating, managing, securing, distributing, orchestrating, monitoring, and optimizing your Cl/ CD pipeline. Monitor the JFrog Platform to get real-time insights about the health, performance, and security of your software supply chain. - + ### JFrog Platform quickstart highlights The integration surfaces critical platform logs, JFrog Xray violations data, and system performance data available through OpenMetrics as pre-built dashboards - Monitor the JFrom platform inside the convenient New Relic observability platform - - Utilizes Fluentd, an open source, lightweight log processor and forwarder - - Curated dashboards surface performance data, artifact usage, and security metrics for operations teams, DevSecOps teams, and business stakeholders. - + - Utilizes Fluentd, an open source, lightweight log processor and forwarder + - Curated dashboards surface performance data, artifact usage, and security metrics for operations teams, DevSecOps teams, and business stakeholders. + ### Quickstart benefits - **Faster and more reliable software delivery.** Monitor all your JFrog applications, artifacts, and dependencies in real time with pre-built dashboards to correlate performance alongside the rest of your telemetry data in a unified view. - **Better compliance and security.** Identify urgent vulnerabilities, identify malicious users, and deliver more secure software with less toil. - - **Improve software supply chain performance.** Proactively manage performance degradation and remediate issues and boost release velocity and quality. + - **Improve software supply chain performance.** Proactively manage performance degradation and remediate issues and boost release velocity and quality. summary: | Monitor your JFrog Artifactory and JFrog Xray environments for faster, more secure software delivery @@ -44,7 +44,5 @@ icon: icon.svg dashboards: - jfrog-artifactory - jfrog-xray -installPlans: - - third-party-jfrog-platform dataSourceIds: - jfrog-platform diff --git a/quickstarts/jira-errors/config.yml b/quickstarts/jira-errors/config.yml index 9a406381f7..defadd4c80 100644 --- a/quickstarts/jira-errors/config.yml +++ b/quickstarts/jira-errors/config.yml @@ -19,8 +19,6 @@ keywords: - error tracking - newrelic partner - NR1_addData -installPlans: - - third-party-jira-errors-inbox dataSourceIds: - jira-errors-inbox documentation: diff --git a/quickstarts/jmx/config.yml b/quickstarts/jmx/config.yml index ee42a1ba8a..ec140edcac 100644 --- a/quickstarts/jmx/config.yml +++ b/quickstarts/jmx/config.yml @@ -31,9 +31,6 @@ documentation: Java technology that supplies tools for managing and monitoring applications, system objects, devices, and service-oriented networks. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/jmx-monitoring-integration/ -installPlans: - - infra-agent-targeted - - jmx-integration-docs dataSourceIds: - new-relic-infrastructure-agent - jmx diff --git a/quickstarts/kafka/config.yml b/quickstarts/kafka/config.yml index 5e0ed334ad..23ba5373a0 100644 --- a/quickstarts/kafka/config.yml +++ b/quickstarts/kafka/config.yml @@ -10,19 +10,19 @@ title: Kafka description: | ## Quickstart for Kafka monitoring - Kafka monitoring is important to track services running on multiple Kafka servers in real-time. Observe key metrics like CPU usage, memory, and consumer lag at a glance in a Kafka dashboard. + Kafka monitoring is important to track services running on multiple Kafka servers in real-time. Observe key metrics like CPU usage, memory, and consumer lag at a glance in a Kafka dashboard. ### Why monitoring kafka is so important Apache Kafka is a fault-tolerant, scalable messaging system used to build real-time data pipelines. Kafka also supports replications natively, and you can build streaming applications that run inside production environments. - Leveraging a Kafka monitoring tool to monitor data replication, retention, and issues like consumer lag is important. New Relic’s Kafka quickstart lets you look at performance metrics and inventory data, create your own custom charts and queries, and create alert policies. + Leveraging a Kafka monitoring tool to monitor data replication, retention, and issues like consumer lag is important. New Relic’s Kafka quickstart lets you look at performance metrics and inventory data, create your own custom charts and queries, and create alert policies. ### New Relic Kafka quickstart features [New Relic’s Kafka monitoring](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration/) tracks space and time retention, leverages replication alerts to uncover potential issues, and uses queries and a Kafka dashboard to explore them. - ### New Relic + Kafka quickstart + ### New Relic + Kafka quickstart New Relic’s performance monitoring provides instant observability out-of-the-box. This quickstart includes: @@ -34,7 +34,7 @@ description: | Provide total visibility into key performance metrics like the number of client requests and bytes served per second with New Relic’s Kafka monitoring and also track inventory data and metadata in real-time. - One of the key features of New Relic’s Kafka monitoring is that you can configure your retention settings by time and by space and set up real-time alerts. + One of the key features of New Relic’s Kafka monitoring is that you can configure your retention settings by time and by space and set up real-time alerts. Track key metrics like gauge, count, and summary as well with New Relic’s instant observability quickstart. Ensure that your infrastructure remains robust and running while averting potential data loss by monitoring Kafka brokers and Kafka producers. summary: | @@ -58,10 +58,6 @@ documentation: Distributed streaming platform built for scalability, fault-tolerance, and building real-time data pipelines and streaming applications. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration/ -installPlans: - - infra-agent-targeted - - kafka-integration-docs - dataSourceIds: - new-relic-infrastructure-agent - kafka diff --git a/quickstarts/kamon/config.yml b/quickstarts/kamon/config.yml index bc0edfe359..3a8deb6b3f 100644 --- a/quickstarts/kamon/config.yml +++ b/quickstarts/kamon/config.yml @@ -15,8 +15,6 @@ level: New Relic authors: - New Relic title: Kamon -installPlans: - - third-party-kamon dataSourceIds: - kamon documentation: diff --git a/quickstarts/kentik/config.yml b/quickstarts/kentik/config.yml index aaaac1e9fa..787dbbb111 100644 --- a/quickstarts/kentik/config.yml +++ b/quickstarts/kentik/config.yml @@ -32,8 +32,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-kentik-firehose dataSourceIds: - kentik documentation: diff --git a/quickstarts/kubernetes-prometheus/config.yml b/quickstarts/kubernetes-prometheus/config.yml index 9152e137e8..fb58994d84 100644 --- a/quickstarts/kubernetes-prometheus/config.yml +++ b/quickstarts/kubernetes-prometheus/config.yml @@ -4,23 +4,23 @@ title: Kubernetes (Prometheus) description: | ## What is Kubernetes? Kubernetes is an open-source system for automating deployment, scaling, and, management of containerized applications. The New Relic Kubernetes (Prometheus) monitoring quickstart utilizes Prometheus to give you visibility into your Kubernetes clusters and workloads in minutes, whether your clusters are hosted on-premises or in the cloud. - Follow the instructions [here](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) to install the New Relic Kubernetes integration. + Follow the instructions [here](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) to install the New Relic Kubernetes integration. - ## What is Prometheus? - Prometheus is an open-source monitoring and alerting toolkit. + ## What is Prometheus? + Prometheus is an open-source monitoring and alerting toolkit. ### Kubernetes (Prometheus) quickstart highlights The New Relic Prometheus quickstart for Kubernetes utilizes the [New Relic Prometheus agent](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to build dashboards that allow you to proactively monitor your metrics, like: - - memory and cpu utilization - - running pods and containers - - kubelet pod start metrics - - compute resources by pod, node, cluster, and namespace and more. + - memory and cpu utilization + - running pods and containers + - kubelet pod start metrics + - compute resources by pod, node, cluster, and namespace and more. ### Requirements - - Follow the instructions [here](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to install the New Relic Prometheus agent. - - **The default installation of the New Relic Prometheus configurator does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions [here](https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md) to enable those metrics. + - Follow the instructions [here](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/) to install the New Relic Prometheus agent. + - **The default installation of the New Relic Prometheus configurator does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions [here](https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md) to enable those metrics. summary: | - Monitoring Kubernetes is crucial to gain instant visibility into Kubernetes clusters and workloads. + Monitoring Kubernetes is crucial to gain instant visibility into Kubernetes clusters and workloads. Prometheus' ability to monitor a wide variety of data necessitates monitoring the toolkit itself. New Relic helps store, manage, and view telemetry data from your Prometheus setup, relieving you of a significant operational burden. Download the New Relic Kubernetes (Prometheus) quickstart to proactively monitor Kubernetes cluster health and capacity. level: Community @@ -33,14 +33,12 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/ - name: Kubernetes Prometheus agent REQUIRED configuration description: | - The default installation of the New Relic Prometheus agent does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions here to enable those metrics. + The default installation of the New Relic Prometheus agent does not enable all of the metrics needed to work with this quickstart's dashboards. Follow the instructions here to enable those metrics. url: https://github.com/newrelic/newrelic-prometheus-configurator/blob/main/examples/kubernetes/README.md - name: Kubernetes integration description: | - The New Relic Kubernetes integration has multiple components that work together to give you end-to-end observability across your clusters. While you have the flexibility to deploy the components that you prefer, to achieve full observability, you need to install the complete package to monitor all metrics. + The New Relic Kubernetes integration has multiple components that work together to give you end-to-end observability across your clusters. While you have the flexibility to deploy the components that you prefer, to achieve full observability, you need to install the complete package to monitor all metrics. url: https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/ -installPlans: - - setup-prometheus-agent-mode dataSourceIds: - prometheus-agent-mode keywords: diff --git a/quickstarts/kubernetes/azure-kubernetes-service/config.yml b/quickstarts/kubernetes/azure-kubernetes-service/config.yml index 09b19b114d..ef44009ed1 100644 --- a/quickstarts/kubernetes/azure-kubernetes-service/config.yml +++ b/quickstarts/kubernetes/azure-kubernetes-service/config.yml @@ -26,8 +26,6 @@ keywords: - aks - NR1_addData - NR1_sys -installPlans: - - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/kubernetes/google-kubernetes-engine/config.yml b/quickstarts/kubernetes/google-kubernetes-engine/config.yml index d214f1fa26..557956da9f 100644 --- a/quickstarts/kubernetes/google-kubernetes-engine/config.yml +++ b/quickstarts/kubernetes/google-kubernetes-engine/config.yml @@ -24,8 +24,6 @@ keywords: - containers - k8s - google -installPlans: - - kubernetes-install dataSourceIds: - kubernetes dashboards: diff --git a/quickstarts/kubernetes/kubernetes/config.yml b/quickstarts/kubernetes/kubernetes/config.yml index 4590c0f7a4..3be2d50d47 100644 --- a/quickstarts/kubernetes/kubernetes/config.yml +++ b/quickstarts/kubernetes/kubernetes/config.yml @@ -50,8 +50,6 @@ keywords: - containers - pixie - k8s -installPlans: - - kubernetes-install dataSourceIds: - kubernetes diff --git a/quickstarts/kubernetes/nginx/config.yml b/quickstarts/kubernetes/nginx/config.yml index 0c55e6340e..1c4c3cf35b 100644 --- a/quickstarts/kubernetes/nginx/config.yml +++ b/quickstarts/kubernetes/nginx/config.yml @@ -33,9 +33,6 @@ keywords: - config - NR1_addData - NR1_sys -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/lacework/config.yml b/quickstarts/lacework/config.yml index 46253d17fd..b7e9636a4a 100644 --- a/quickstarts/lacework/config.yml +++ b/quickstarts/lacework/config.yml @@ -8,9 +8,9 @@ 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. - + 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 @@ -30,8 +30,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-lacework-integration dataSourceIds: - lacework dashboards: diff --git a/quickstarts/lamp/config.yml b/quickstarts/lamp/config.yml index 4c26e8e690..dfa8c05140 100644 --- a/quickstarts/lamp/config.yml +++ b/quickstarts/lamp/config.yml @@ -12,10 +12,6 @@ level: New Relic authors: - New Relic - Stijn Polfliet -installPlans: - - mysql-integration - - apache-integration - - php-agent dataSourceIds: - mysql - apache diff --git a/quickstarts/lampy/config.yml b/quickstarts/lampy/config.yml index ac87f54756..b32aa9cdca 100644 --- a/quickstarts/lampy/config.yml +++ b/quickstarts/lampy/config.yml @@ -10,19 +10,19 @@ summary: | With New Relic LAMPy integration, you can monitor your apps, infrastructure, web servers, databases, and databases, using Linux, Apache, MySQL, and Python agents. # Description of the quickstart description: | - ## Comprehensive LAMPy stack monitoring system: - LAMPy is a free, open source software stack used for building web sites and applications. LAMPy is an acronym for the operating system (Linux), the webserver (Apache), the database server (MySQL), and the programming language (Python). - ## What should you look for in a LAMPy dashboard? - - Linux: CPU usage, total memory usage, disk usage, etc - - Apache: Requests per second, bytes per second, workers status, etc - - MySQL: Operations per second, InnoDB read & writes, etc - - Python: Throughput, transaction overview, WSGI, etc - - In addition, you are free to create your own charts using the stored metrics - ## What’s included in the LAMPy quickstart? - This quickstart includes the following preconfigured observability solutions: - - Application metrics with your server’s primary health metrics, like CPU usage, memory, disk usage and more - - Multiple high-value alerts including latest number of questions per second, error transactions percentage, memory usage and CPU utilization - - Informative dashboards (Busy worker status, operations, InnoDB read and write, etc) + ## Comprehensive LAMPy stack monitoring system: + LAMPy is a free, open source software stack used for building web sites and applications. LAMPy is an acronym for the operating system (Linux), the webserver (Apache), the database server (MySQL), and the programming language (Python). + ## What should you look for in a LAMPy dashboard? + - Linux: CPU usage, total memory usage, disk usage, etc + - Apache: Requests per second, bytes per second, workers status, etc + - MySQL: Operations per second, InnoDB read & writes, etc + - Python: Throughput, transaction overview, WSGI, etc + - In addition, you are free to create your own charts using the stored metrics + ## What’s included in the LAMPy quickstart? + This quickstart includes the following preconfigured observability solutions: + - Application metrics with your server’s primary health metrics, like CPU usage, memory, disk usage and more + - Multiple high-value alerts including latest number of questions per second, error transactions percentage, memory usage and CPU utilization + - Informative dashboards (Busy worker status, operations, InnoDB read and write, etc) # The logo of the quickstart icon: logo.png @@ -35,11 +35,6 @@ authors: - New Relic - Ramana Reddy -installPlans: - - apache-integration - - mysql-integration - - setup-python-agent - keywords: - LAMPy - linux diff --git a/quickstarts/launchdarkly/config.yml b/quickstarts/launchdarkly/config.yml index 7e0247036c..eb9b92f2ac 100644 --- a/quickstarts/launchdarkly/config.yml +++ b/quickstarts/launchdarkly/config.yml @@ -21,7 +21,5 @@ keywords: - testing - NR1_addData - NR1_sys -installPlans: - - third-party-launchdarkly dataSourceIds: - launchdarkly diff --git a/quickstarts/lighthouse/config.yml b/quickstarts/lighthouse/config.yml index 03232e9001..032b68620d 100644 --- a/quickstarts/lighthouse/config.yml +++ b/quickstarts/lighthouse/config.yml @@ -7,8 +7,6 @@ level: New Relic authors: - New Relic title: Lighthouse -installPlans: - - third-party-lighthouse dataSourceIds: - lighthouse documentation: diff --git a/quickstarts/linux/config.yml b/quickstarts/linux/config.yml index 910ab8b123..7cd8d0e66c 100644 --- a/quickstarts/linux/config.yml +++ b/quickstarts/linux/config.yml @@ -25,8 +25,6 @@ keywords: - os - operating system - featured -installPlans: - - guided-install dataSourceIds: - guided-install dashboards: diff --git a/quickstarts/logstash-plugin-for-logs/config.yml b/quickstarts/logstash-plugin-for-logs/config.yml index 5e2ca08bd6..bd152d5dd7 100644 --- a/quickstarts/logstash-plugin-for-logs/config.yml +++ b/quickstarts/logstash-plugin-for-logs/config.yml @@ -11,8 +11,6 @@ level: New Relic authors: - New Relic title: Logstash plugin for Logs -installPlans: - - third-party-logstash-plugin-for-logs dataSourceIds: - logstash documentation: diff --git a/quickstarts/macos/config.yml b/quickstarts/macos/config.yml index 61c2e275f7..beab26e4a6 100644 --- a/quickstarts/macos/config.yml +++ b/quickstarts/macos/config.yml @@ -24,8 +24,6 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure -installPlans: - - guided-install dataSourceIds: - guided-install icon: logo.png diff --git a/quickstarts/mariadb/config.yml b/quickstarts/mariadb/config.yml index e420aa76bc..b0533d34e0 100644 --- a/quickstarts/mariadb/config.yml +++ b/quickstarts/mariadb/config.yml @@ -23,8 +23,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - mysql-integration dataSourceIds: - mysql dashboards: diff --git a/quickstarts/memcached/config.yml b/quickstarts/memcached/config.yml index fc6f786dc5..f666bb23ac 100644 --- a/quickstarts/memcached/config.yml +++ b/quickstarts/memcached/config.yml @@ -17,8 +17,6 @@ documentation: description: | Open-source distributed memory caching system to reduce the number of calls to external databases or APIs. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/memcached-monitoring-integration/ -installPlans: - - memcached-integration dataSourceIds: - memcached keywords: diff --git a/quickstarts/micrometer/config.yml b/quickstarts/micrometer/config.yml index d044cc2171..670492842f 100644 --- a/quickstarts/micrometer/config.yml +++ b/quickstarts/micrometer/config.yml @@ -16,8 +16,6 @@ level: New Relic authors: - New Relic title: Micrometer -installPlans: - - third-party-micrometer dataSourceIds: - micrometer documentation: diff --git a/quickstarts/mlops/aporia/config.yml b/quickstarts/mlops/aporia/config.yml index 40eae7e56e..fc9e8ca19e 100644 --- a/quickstarts/mlops/aporia/config.yml +++ b/quickstarts/mlops/aporia/config.yml @@ -30,8 +30,6 @@ keywords: - model-ops - explainability - newrelic partner -installPlans: - - aporia-mlops dataSourceIds: - aporia documentation: diff --git a/quickstarts/mlops/bring-your-own/config.yml b/quickstarts/mlops/bring-your-own/config.yml index 97a4c0bdf5..a5a0bd42aa 100644 --- a/quickstarts/mlops/bring-your-own/config.yml +++ b/quickstarts/mlops/bring-your-own/config.yml @@ -14,8 +14,6 @@ keywords: - ai - bring-your-own - machine-learning -installPlans: - - third-party-mlops-bring-your-own dataSourceIds: - bring-your-own-data documentation: diff --git a/quickstarts/mlops/comet/config.yml b/quickstarts/mlops/comet/config.yml index b306f38148..6b86eaf299 100644 --- a/quickstarts/mlops/comet/config.yml +++ b/quickstarts/mlops/comet/config.yml @@ -21,8 +21,6 @@ keywords: - monitoring - data monitoring - newrelic partner -installPlans: - - comet-mlops dataSourceIds: - comet documentation: diff --git a/quickstarts/mlops/dagshub/config.yml b/quickstarts/mlops/dagshub/config.yml index ddfae4b50b..2f879863a0 100644 --- a/quickstarts/mlops/dagshub/config.yml +++ b/quickstarts/mlops/dagshub/config.yml @@ -15,8 +15,6 @@ keywords: - dagshub - machine-learning - newrelic partner -installPlans: - - dagshub-mlops dataSourceIds: - dagshub documentation: diff --git a/quickstarts/mlops/mona/config.yml b/quickstarts/mlops/mona/config.yml index a8308d9edd..aff03ad3d5 100644 --- a/quickstarts/mlops/mona/config.yml +++ b/quickstarts/mlops/mona/config.yml @@ -20,8 +20,6 @@ keywords: - integrity - data integrity - newrelic partner -installPlans: - - monalabs-mlops dataSourceIds: - mona documentation: diff --git a/quickstarts/mlops/truera/config.yml b/quickstarts/mlops/truera/config.yml index a5cf3bb057..1eb8462792 100644 --- a/quickstarts/mlops/truera/config.yml +++ b/quickstarts/mlops/truera/config.yml @@ -21,8 +21,6 @@ keywords: - explanability - truera - newrelic partner -installPlans: - - truera-mlops dataSourceIds: - truera documentation: diff --git a/quickstarts/mobile-crash-analytics/config.yml b/quickstarts/mobile-crash-analytics/config.yml index 8c06879500..31807db382 100644 --- a/quickstarts/mobile-crash-analytics/config.yml +++ b/quickstarts/mobile-crash-analytics/config.yml @@ -4,13 +4,13 @@ title: Mobile Crash Analytics description: | ## Crash Analytics Monitoring Quickstart - Get deeper insights into the mobile application crash frequency, affected versions, crash impact on users. + Get deeper insights into the mobile application crash frequency, affected versions, crash impact on users. - Receive details about the last interactions before crash. + Receive details about the last interactions before crash. - Help page on the dashboard will guide you on how to enable data filtering. + Help page on the dashboard will guide you on how to enable data filtering. summary: | - Real time mobile application crash & network analysis to ensure ongoing reliability and performance. + Real time mobile application crash & network analysis to ensure ongoing reliability and performance. level: Community icon: icon.png authors: @@ -41,8 +41,6 @@ documentation: description: How to set up alerts for your mobile app dashboards: - mobile-crash-analytics -installPlans: - - mobile-dashboard-install dataSourceIds: - mobile-getting-started alertPolicies: diff --git a/quickstarts/mobile-network-performance/config.yml b/quickstarts/mobile-network-performance/config.yml index 8fc2100276..934f41a1ac 100644 --- a/quickstarts/mobile-network-performance/config.yml +++ b/quickstarts/mobile-network-performance/config.yml @@ -6,9 +6,9 @@ title: Mobile Network Performance description: | ## Network performance Quickstart - Get deeper insights into the networking details from your mobile application perspective. + Get deeper insights into the networking details from your mobile application perspective. - Receive details about the HTTP errors, Network failure, HTTP Request data, type of network errors. + Receive details about the HTTP errors, Network failure, HTTP Request data, type of network errors. Help page on the dashboard will guide you on how to enable data filtering. @@ -45,7 +45,5 @@ documentation: dashboards: - mobile-network-performance -installPlans: - - mobile-network-performance-install dataSourceIds: - mobile-network-performance-install diff --git a/quickstarts/mobile/config.yml b/quickstarts/mobile/config.yml index 75fbf6af3e..f6ee606f31 100644 --- a/quickstarts/mobile/config.yml +++ b/quickstarts/mobile/config.yml @@ -32,8 +32,6 @@ documentation: icon: icon.png dashboards: - mobile -installPlans: - - mobile-dashboard-install dataSourceIds: - mobile-getting-started alertPolicies: diff --git a/quickstarts/mongodb/config.yml b/quickstarts/mongodb/config.yml index 0d490e2176..601658779b 100644 --- a/quickstarts/mongodb/config.yml +++ b/quickstarts/mongodb/config.yml @@ -4,11 +4,11 @@ title: MongoDB description: | ## MongoDB Monitoring - MongoDB enables the unlimited virtual scaling of applications. Utilities like mongostat and mongotop offer immediate results but fail to provide insights into trends in a highly graphical visual dashboard. MongoDB dashboards provide insights into key metrics like RAM usage, operations per second, page fault, disk size, lock %, and app and database performance at a glance. + MongoDB enables the unlimited virtual scaling of applications. Utilities like mongostat and mongotop offer immediate results but fail to provide insights into trends in a highly graphical visual dashboard. MongoDB dashboards provide insights into key metrics like RAM usage, operations per second, page fault, disk size, lock %, and app and database performance at a glance. - Avoid slow queries with proper indexes that impact performance. Instantly monitor your entire MongoDB database with our instant observability kit or the MongoDB free monitoring tool. + Avoid slow queries with proper indexes that impact performance. Instantly monitor your entire MongoDB database with our instant observability kit or the MongoDB free monitoring tool. - The critical differences between MongoDB free monitoring and monitoring MongoDB with New Relic’s instant observability quickstart are efficiency, usability, scope, and cost. MongoDB free monitoring focuses on standalone instances and replica sets. Data collected on disk utilization, memory, and operation execution times are uploaded periodically. + The critical differences between MongoDB free monitoring and monitoring MongoDB with New Relic’s instant observability quickstart are efficiency, usability, scope, and cost. MongoDB free monitoring focuses on standalone instances and replica sets. Data collected on disk utilization, memory, and operation execution times are uploaded periodically. ### What’s Included? @@ -16,9 +16,9 @@ description: | New Relic + MongoDB quickstart - New Relic’s instant observability quickstart provides multiple monitoring parameters like operations per second, transactions, and queries by default (with Nagios, you must configure each parameter). New Relic’s MongoDB quickstart contains multiple dashboards, including: - - Total Commands, failed commands per second, bytes in & out per second, available connections, and more. + - Total Commands, failed commands per second, bytes in & out per second, available connections, and more. - Monitor MongoDB with New Relic to quickly gain improved distribution and increased visibility into real-time user and app response times, throughput and breakdown by component and layer, and long-term data trends over time. + Monitor MongoDB with New Relic to quickly gain improved distribution and increased visibility into real-time user and app response times, throughput and breakdown by component and layer, and long-term data trends over time. ### Value of MongoDB Quickstarts @@ -41,8 +41,6 @@ documentation: description: | Open source, document-oriented database where you store data in JSON-like files with dynamic schemas. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mongodb-monitoring-integration/ -installPlans: - - mongodb-integration dataSourceIds: - mongodb keywords: diff --git a/quickstarts/mssql/config.yml b/quickstarts/mssql/config.yml index fe436e0a8f..ed9baa9d67 100644 --- a/quickstarts/mssql/config.yml +++ b/quickstarts/mssql/config.yml @@ -20,7 +20,5 @@ documentation: keywords: - infrastructure - database -installPlans: - - microsoft-sql-server-integration dataSourceIds: - microsoft-sql-server diff --git a/quickstarts/mysql/config.yml b/quickstarts/mysql/config.yml index 69b7650c99..7668334d14 100644 --- a/quickstarts/mysql/config.yml +++ b/quickstarts/mysql/config.yml @@ -4,9 +4,9 @@ title: MySQL description: |+ ## MySQL monitoring quickstart - Applications powered by relational database management systems demand the user to understand how the application uses it. Quickly identify and resolve the source server issues with [MySQL performance monitoring tools](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/). + Applications powered by relational database management systems demand the user to understand how the application uses it. Quickly identify and resolve the source server issues with [MySQL performance monitoring tools](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/). - Identify query optimization metrics and more within a single New Relic MySQL dashboard and ensure the highest application performance with this approach. + Identify query optimization metrics and more within a single New Relic MySQL dashboard and ensure the highest application performance with this approach. ### MySQL monitoring @@ -14,7 +14,7 @@ description: |+ ### New Relic + MySQL - your ideal tool for better monitoring - Install this quickstart to access pre-configured observability solutions. Unlike other performance monitoring tools, New Relic is a powerful proactive remote monitoring solution that provides a comprehensive view from a single MySQL dashboard. + Install this quickstart to access pre-configured observability solutions. Unlike other performance monitoring tools, New Relic is a powerful proactive remote monitoring solution that provides a comprehensive view from a single MySQL dashboard. ### What’s included? @@ -42,8 +42,6 @@ documentation: description: | Open source relational database with more than 20 years of community development and support. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/ -installPlans: - - mysql-integration dataSourceIds: - mysql keywords: diff --git a/quickstarts/nagios/config.yml b/quickstarts/nagios/config.yml index 73d6ef579c..41228e9a4d 100644 --- a/quickstarts/nagios/config.yml +++ b/quickstarts/nagios/config.yml @@ -16,8 +16,6 @@ documentation: description: | Nagios is a free and open-source computer-software application that monitors systems, networks and infrastructure. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/nagios-monitoring-integration/ -installPlans: - - nagios-integration dataSourceIds: - nagios keywords: diff --git a/quickstarts/netlify/netlify-builds/config.yml b/quickstarts/netlify/netlify-builds/config.yml index e066d719a4..87381860d9 100644 --- a/quickstarts/netlify/netlify-builds/config.yml +++ b/quickstarts/netlify/netlify-builds/config.yml @@ -36,8 +36,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-netlify dataSourceIds: - netlify-builds documentation: diff --git a/quickstarts/netlify/netlify-logs/config.yml b/quickstarts/netlify/netlify-logs/config.yml index ebb8bf0a73..99cdf5b984 100644 --- a/quickstarts/netlify/netlify-logs/config.yml +++ b/quickstarts/netlify/netlify-logs/config.yml @@ -6,14 +6,14 @@ description: | ### Netlify Logs quickstart highlights - The Netlify Logs quickstart is the fastest way to explore and visualize data from traffic and function logs provided by [Netlify log drains](https://docs.netlify.com/monitor-sites/log-drains/). + The Netlify Logs quickstart is the fastest way to explore and visualize data from traffic and function logs provided by [Netlify log drains](https://docs.netlify.com/monitor-sites/log-drains/). With this quickstart, you can easily understand: - Changes in your sites' traffic over time - Percentage of successful requests, warnings, and errors - Requests by status - - Average duration of requests + - Average duration of requests - Changes in Functions utilization over time - Number of successful Function Invocations, warnings, and errors - Number of Function Invocations over time @@ -43,8 +43,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-netlify-logs dataSourceIds: - netlify-logs documentation: diff --git a/quickstarts/network-monitoring/arista-switches/config.yml b/quickstarts/network-monitoring/arista-switches/config.yml index c549318f77..688b476ea8 100644 --- a/quickstarts/network-monitoring/arista-switches/config.yml +++ b/quickstarts/network-monitoring/arista-switches/config.yml @@ -26,8 +26,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/bgpNeighbor/config.yml b/quickstarts/network-monitoring/bgpNeighbor/config.yml index 6a97891287..df0486f5ae 100644 --- a/quickstarts/network-monitoring/bgpNeighbor/config.yml +++ b/quickstarts/network-monitoring/bgpNeighbor/config.yml @@ -22,8 +22,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml b/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml index 4485180f0b..0a94800dec 100644 --- a/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml +++ b/quickstarts/network-monitoring/cisco-ip-sla-operations/config.yml @@ -26,8 +26,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/ciscoHardware/config.yml b/quickstarts/network-monitoring/ciscoHardware/config.yml index 4d1e1c485f..da20fab4b7 100644 --- a/quickstarts/network-monitoring/ciscoHardware/config.yml +++ b/quickstarts/network-monitoring/ciscoHardware/config.yml @@ -21,8 +21,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/get-started/npm-introduction/ description: | Learn about deploying ktranslate to monitor SNMP based devices. -installPlans: - - network-cisco-hardware dataSourceIds: - kentik icon: logo.svg diff --git a/quickstarts/network-monitoring/network-routers-and-switches/config.yml b/quickstarts/network-monitoring/network-routers-and-switches/config.yml index ec79eb6a2d..7d1b8342c2 100644 --- a/quickstarts/network-monitoring/network-routers-and-switches/config.yml +++ b/quickstarts/network-monitoring/network-routers-and-switches/config.yml @@ -28,8 +28,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring/ description: | Install Network Monitoring for SNMP data collection using a simple Docker container. -installPlans: - - network-snmp dataSourceIds: - network-routers-and-switches icon: logo.svg diff --git a/quickstarts/network-monitoring/network-syslog/config.yml b/quickstarts/network-monitoring/network-syslog/config.yml index f302f519f4..d68584bcf6 100644 --- a/quickstarts/network-monitoring/network-syslog/config.yml +++ b/quickstarts/network-monitoring/network-syslog/config.yml @@ -26,8 +26,6 @@ documentation: url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/network-syslog-monitoring/ description: | Install Network Monitoring for syslog collection using a simple Docker container. -installPlans: - - network-syslog dataSourceIds: - network-syslog icon: logo.svg diff --git a/quickstarts/nextcloud/config.yml b/quickstarts/nextcloud/config.yml index 4d1047ac8c..b7c06d4e42 100644 --- a/quickstarts/nextcloud/config.yml +++ b/quickstarts/nextcloud/config.yml @@ -3,20 +3,20 @@ slug: nextcloud description: | ## Comprehensive monitoring for your Nextcloud server Empower yourself with New Relic's cutting-edge Nextcloud monitoring system and gain complete control over the health of your platform. Stay ahead of the curve by monitoring your Nextcloud in real-time, connecting the dots between transactions across your application environment, and swiftly troubleshoot any issues that arise with ease. - + ## Why monitor Nextcloud? - + ### Solve login problems - Users may experience issues with logging into their Nextcloud accounts, such as incorrect login credentials or connection errors. + Users may experience issues with logging into their Nextcloud accounts, such as incorrect login credentials or connection errors. ### Quickly identify performance issues - Nextcloud can become slow or unresponsive, especially if the server is running low on resources or if the network connection is slow. + Nextcloud can become slow or unresponsive, especially if the server is running low on resources or if the network connection is slow. ### Identify storage limitations - Nextcloud can experience storage limitations if the server's disk space is running low, or if there are issues with the underlying storage infrastructure. + Nextcloud can experience storage limitations if the server's disk space is running low, or if there are issues with the underlying storage infrastructure. ### Catch file syncing issues - Users may experience issues with file syncing, such as conflict errors or delayed updates, which can result in data loss or corruption. + Users may experience issues with file syncing, such as conflict errors or delayed updates, which can result in data loss or corruption. ### What’s included? @@ -24,7 +24,7 @@ description: | - Be alerted on things like excessive heap memory usage and scrape errors. - Use dashboards to monitor crucial performance metrics, such as uptime, free space, total active users, and more. - Enable your Nextcloud admins to keep track of the status and operation of your server installations. - + summary: | Achieve greater control over your productivity with our self-hosted platform. Stay on top of the performance of your server and ensure the optimal functioning of your system by monitoring it through our Infrastructure agent and utilizing the powerful integration with Prometheus open metrics. @@ -33,8 +33,6 @@ icon: logo.png authors: - New Relic title: Nextcloud -installPlans: - - nextcloud dataSourceIds: - nextcloud dashboards: diff --git a/quickstarts/nginx/config.yml b/quickstarts/nginx/config.yml index 5dbdb767a4..0e53625617 100644 --- a/quickstarts/nginx/config.yml +++ b/quickstarts/nginx/config.yml @@ -32,8 +32,6 @@ documentation: description: | Web server which can also be used as a reverse proxy, load balancer, mail proxy, and HTTP cache. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/nginx-monitoring-integration/ -installPlans: - - nginx-integration dataSourceIds: - nginx keywords: diff --git a/quickstarts/node-exporter/config.yml b/quickstarts/node-exporter/config.yml index 18a020e302..9d4306b4bb 100644 --- a/quickstarts/node-exporter/config.yml +++ b/quickstarts/node-exporter/config.yml @@ -39,8 +39,6 @@ keywords: - network - NR1_addData - NR1_sys -installPlans: - - setup-prometheus dataSourceIds: - prometheus documentation: diff --git a/quickstarts/node-js/express/config.yml b/quickstarts/node-js/express/config.yml index 0d028e2fd3..b01bcc7113 100644 --- a/quickstarts/node-js/express/config.yml +++ b/quickstarts/node-js/express/config.yml @@ -31,8 +31,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/hapi/config.yml b/quickstarts/node-js/hapi/config.yml index 83eeb5a5ba..a4bcd87552 100644 --- a/quickstarts/node-js/hapi/config.yml +++ b/quickstarts/node-js/hapi/config.yml @@ -33,8 +33,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/koa/config.yml b/quickstarts/node-js/koa/config.yml index 15dcbce98e..a00de89cd7 100644 --- a/quickstarts/node-js/koa/config.yml +++ b/quickstarts/node-js/koa/config.yml @@ -31,8 +31,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/node-js/config.yml b/quickstarts/node-js/node-js/config.yml index b41f2d60c7..4766f0fb16 100644 --- a/quickstarts/node-js/node-js/config.yml +++ b/quickstarts/node-js/node-js/config.yml @@ -3,17 +3,17 @@ slug: node-js description: | ## The comprehensive Node.js monitoring system - Node.js is an open-source platform built on Chrome's JavaScript runtime used to develop fast and scalable applications quickly with an event-driven, non-blocking input/output architecture. + Node.js is an open-source platform built on Chrome's JavaScript runtime used to develop fast and scalable applications quickly with an event-driven, non-blocking input/output architecture. However, these attributes can be inconvenient because verifying the correctness of an application with asynchronous nested callbacks is complex. So, it’s important to watch executing Node.js systems closely. Monitoring your Node.js applications ensures optimal performance, allows the maximization of system availability, and ensures that a system’s health is well maintained. - ### What should you look for in a Node.js dashboard? + ### What should you look for in a Node.js dashboard? - A [reliable Node.js network monitor](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/) must provide enough information to identify the problem sources. Some crucial information includes process ID, log management, request rate, application availability, resource usage, uptime, downtime, system health, error rates and handling, number of connections, load average, and latency. + A [reliable Node.js network monitor](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/) must provide enough information to identify the problem sources. Some crucial information includes process ID, log management, request rate, application availability, resource usage, uptime, downtime, system health, error rates and handling, number of connections, load average, and latency. ### What’s included in the Node.js quickstart? - Install this quickstart to install preconfigured observability solutions: + Install this quickstart to install preconfigured observability solutions: - Multiple high-value alerts, including Apdex score and CPU utilization - Informative dashboards (Slowest transactions, throughput comparisons, and more) @@ -41,8 +41,6 @@ keywords: - node - language agent - most popular -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/restify/config.yml b/quickstarts/node-js/restify/config.yml index c27abccddd..0a2d5f84be 100644 --- a/quickstarts/node-js/restify/config.yml +++ b/quickstarts/node-js/restify/config.yml @@ -31,8 +31,6 @@ keywords: - apm - node.js - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/node-js/typescript/config.yml b/quickstarts/node-js/typescript/config.yml index 3997e11405..c6460c6ae2 100644 --- a/quickstarts/node-js/typescript/config.yml +++ b/quickstarts/node-js/typescript/config.yml @@ -37,8 +37,6 @@ keywords: - node.js - typescript - language agent -installPlans: - - node-agent dataSourceIds: - node-js dashboards: diff --git a/quickstarts/observability-as-code/ansible/config.yml b/quickstarts/observability-as-code/ansible/config.yml index e8b4e34c0a..ccca778760 100644 --- a/quickstarts/observability-as-code/ansible/config.yml +++ b/quickstarts/observability-as-code/ansible/config.yml @@ -24,8 +24,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-ansible dataSourceIds: - ansible-install documentation: diff --git a/quickstarts/observability-as-code/chef/config.yml b/quickstarts/observability-as-code/chef/config.yml index 2cd5057689..7eae0095ae 100644 --- a/quickstarts/observability-as-code/chef/config.yml +++ b/quickstarts/observability-as-code/chef/config.yml @@ -22,8 +22,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-chef dataSourceIds: - chef-install documentation: diff --git a/quickstarts/observability-as-code/cli/config.yml b/quickstarts/observability-as-code/cli/config.yml index 770311e14a..c18912c4d2 100644 --- a/quickstarts/observability-as-code/cli/config.yml +++ b/quickstarts/observability-as-code/cli/config.yml @@ -15,8 +15,6 @@ documentation: description: | This guide walks you through the essentials of New Relic CLI, from install and configuration to basic usage. url: https://developer.newrelic.com/automate-workflows/get-started-new-relic-cli/ -installPlans: - - third-party-newrelic-cli dataSourceIds: - newrelic-cli keywords: diff --git a/quickstarts/observability-as-code/pulumi/config.yml b/quickstarts/observability-as-code/pulumi/config.yml index 0e3da6b5b1..c62ec5f2f2 100644 --- a/quickstarts/observability-as-code/pulumi/config.yml +++ b/quickstarts/observability-as-code/pulumi/config.yml @@ -23,8 +23,6 @@ keywords: - gitops - NR1_addData - NR1_sys -installPlans: - - third-party-pulumi dataSourceIds: - pulumi documentation: diff --git a/quickstarts/observability-as-code/puppet/config.yml b/quickstarts/observability-as-code/puppet/config.yml index 341f93472a..65609dc6bf 100644 --- a/quickstarts/observability-as-code/puppet/config.yml +++ b/quickstarts/observability-as-code/puppet/config.yml @@ -20,8 +20,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-puppet dataSourceIds: - puppet-install documentation: diff --git a/quickstarts/observability-as-code/terraform/config.yml b/quickstarts/observability-as-code/terraform/config.yml index ddfd35add7..e50601ff05 100644 --- a/quickstarts/observability-as-code/terraform/config.yml +++ b/quickstarts/observability-as-code/terraform/config.yml @@ -21,8 +21,6 @@ keywords: - devops - sre - gitops -installPlans: - - third-party-terraform dataSourceIds: - terraform documentation: diff --git a/quickstarts/okhttp/config.yml b/quickstarts/okhttp/config.yml index 99cc9cc33f..eaced1b3c5 100644 --- a/quickstarts/okhttp/config.yml +++ b/quickstarts/okhttp/config.yml @@ -11,8 +11,6 @@ level: New Relic authors: - New Relic title: OKHTTP -installPlans: - - third-party-okhttp dataSourceIds: - okhttp documentation: diff --git a/quickstarts/oma-aqm/config.yml b/quickstarts/oma-aqm/config.yml index 2e7ac8678f..0f62e7230a 100644 --- a/quickstarts/oma-aqm/config.yml +++ b/quickstarts/oma-aqm/config.yml @@ -22,8 +22,6 @@ documentation: url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/uptime-performance-reliability/aqm-implementation-guide/ description: | The implementation guide will show you how to implement the AQM process, including the webhook required to generate the data that feeds this dashboard. -installPlans: - - third-party-alert-quality-management dataSourceIds: - alert-quality-management icon: logo.png diff --git a/quickstarts/oma-bofu/config.yml b/quickstarts/oma-bofu/config.yml index 711f4bb0f9..194cfa4884 100644 --- a/quickstarts/oma-bofu/config.yml +++ b/quickstarts/oma-bofu/config.yml @@ -2,11 +2,11 @@ id: 8d339aa7-69e3-4efa-abc2-9eba600db91c slug: customer-experience-bottom-funnel-analysis title: Customer Experience Bottom of the funnel analysis description: | - Bottom of the funnel analysis uses cart abandonment reduction techniques and applies them to any user journey where conversion (completing the user journey) matters. + Bottom of the funnel analysis uses cart abandonment reduction techniques and applies them to any user journey where conversion (completing the user journey) matters. For more information view the [implementation guide](https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/bottom-funnel-analysis-customer-journey-guide) summary: | - Use cart abandonment reduction techniques to improve completion rates of any user journey + Use cart abandonment reduction techniques to improve completion rates of any user journey level: New Relic authors: - Kim Hickey @@ -30,8 +30,6 @@ documentation: description: | Explains what bottom of the funnel analysis is and how to apply it url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/bottom-funnel-analysis-customer-journey-guide -installPlans: - - third-party-customer-experience-bottom-funnel-analysis dataSourceIds: - customer-experience-bottom-funnel-analysis icon: logo.svg diff --git a/quickstarts/oma-data-gov/config.yml b/quickstarts/oma-data-gov/config.yml index 6114b2b229..c2b9166ef9 100644 --- a/quickstarts/oma-data-gov/config.yml +++ b/quickstarts/oma-data-gov/config.yml @@ -14,8 +14,6 @@ keywords: - Data Governance - Data Consumption - Manage Data Ingest -installPlans: - - solutions-hub-dashboards dataSourceIds: - solutions-hub-dashboards documentation: diff --git a/quickstarts/oma-qf/config.yml b/quickstarts/oma-qf/config.yml index f1a2a2fde4..c8cc1c772d 100644 --- a/quickstarts/oma-qf/config.yml +++ b/quickstarts/oma-qf/config.yml @@ -2,7 +2,7 @@ id: 7a5739bf-30ee-4be9-9705-14871cafd7f4 slug: customer-experience-quality-foundation title: Customer Experience Quality Foundation description: | - Quality foundation helps you see what your user's perception of web performance is. It does this in two ways: (1) focuses on user experience metrics for availability, page load, and in-page actions (2) segments data by device type, region, and user journey + Quality foundation helps you see what your user's perception of web performance is. It does this in two ways: (1) focuses on user experience metrics for availability, page load, and in-page actions (2) segments data by device type, region, and user journey For more information view the [implementation guide](https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide) summary: | @@ -26,8 +26,6 @@ documentation: description: | Explains what quality foundation is and how to apply it url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide -installPlans: - - third-party-customer-experience-quality-foundation dataSourceIds: - customer-experience-quality-foundation icon: logo.svg diff --git a/quickstarts/opencensus/config.yml b/quickstarts/opencensus/config.yml index 4c2faffc25..6a5753a202 100644 --- a/quickstarts/opencensus/config.yml +++ b/quickstarts/opencensus/config.yml @@ -17,8 +17,6 @@ level: New Relic authors: - New Relic title: OpenCensus -installPlans: - - third-party-opencensus dataSourceIds: - opencensus documentation: diff --git a/quickstarts/opentelemetry/config.yml b/quickstarts/opentelemetry/config.yml index 5580d82181..47978b04fc 100644 --- a/quickstarts/opentelemetry/config.yml +++ b/quickstarts/opentelemetry/config.yml @@ -27,8 +27,6 @@ level: New Relic authors: - New Relic title: OpenTelemetry -installPlans: - - third-party-opentelemetry dataSourceIds: - opentelemetry documentation: diff --git a/quickstarts/oracle/inet-oracle-driver/config.yml b/quickstarts/oracle/inet-oracle-driver/config.yml index 04444beb12..5e138446d2 100644 --- a/quickstarts/oracle/inet-oracle-driver/config.yml +++ b/quickstarts/oracle/inet-oracle-driver/config.yml @@ -7,8 +7,6 @@ level: New Relic authors: - New Relic title: Inet Oracle Driver (oranxo) -installPlans: - - third-party-inet-oracle-driver dataSourceIds: - java documentation: diff --git a/quickstarts/oracle/oracle-database/config.yml b/quickstarts/oracle/oracle-database/config.yml index 42e670e567..71b4dce3fb 100644 --- a/quickstarts/oracle/oracle-database/config.yml +++ b/quickstarts/oracle/oracle-database/config.yml @@ -12,8 +12,6 @@ level: New Relic authors: - New Relic title: Oracle Database -installPlans: - - third-party-oracledb dataSourceIds: - oracle-database documentation: diff --git a/quickstarts/pagerduty/pagerduty/config.yml b/quickstarts/pagerduty/pagerduty/config.yml index e65c329a2a..ea4c107f0e 100644 --- a/quickstarts/pagerduty/pagerduty/config.yml +++ b/quickstarts/pagerduty/pagerduty/config.yml @@ -19,8 +19,6 @@ level: New Relic authors: - New Relic title: Pagerduty -installPlans: - - third-party-pagerduty dataSourceIds: - pagerduty documentation: diff --git a/quickstarts/perfmon/config.yml b/quickstarts/perfmon/config.yml index 1f6cbef113..a84930a318 100644 --- a/quickstarts/perfmon/config.yml +++ b/quickstarts/perfmon/config.yml @@ -17,8 +17,6 @@ documentation: Windows Performance Monitor is a toolkit that enables system performance data and analytics. url: https://docs.newrelic.com/docs/perfmon-open-source-integration -installPlans: - - third-party-perfmon dataSourceIds: - perfmon keywords: diff --git a/quickstarts/php/cakephp/config.yml b/quickstarts/php/cakephp/config.yml index 9f9908b026..d1b8d9d553 100644 --- a/quickstarts/php/cakephp/config.yml +++ b/quickstarts/php/cakephp/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/codeigniter/config.yml b/quickstarts/php/codeigniter/config.yml index ca0848b356..378c3d082f 100644 --- a/quickstarts/php/codeigniter/config.yml +++ b/quickstarts/php/codeigniter/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for CodeIgniter. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for CodeIgniter. summary: Monitor CodeIgniter with New Relic's PHP agent icon: logo.svg level: New Relic @@ -26,8 +26,6 @@ keywords: - apm - php - language agent -installPlans: - - php-targeted-install dataSourceIds: - php dashboards: diff --git a/quickstarts/php/guzzle/config.yml b/quickstarts/php/guzzle/config.yml index 8a2fbbdb76..cc6a3a9190 100644 --- a/quickstarts/php/guzzle/config.yml +++ b/quickstarts/php/guzzle/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/joomla/config.yml b/quickstarts/php/joomla/config.yml index 4450af8f94..df76fb41c5 100644 --- a/quickstarts/php/joomla/config.yml +++ b/quickstarts/php/joomla/config.yml @@ -33,8 +33,6 @@ keywords: - cms - content management system - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/kohana/config.yml b/quickstarts/php/kohana/config.yml index 06c62c269c..4f08d0755e 100644 --- a/quickstarts/php/kohana/config.yml +++ b/quickstarts/php/kohana/config.yml @@ -20,7 +20,7 @@ description: | - Customizable charts for metric timeslice data and other custom metrics sent to New Relic - Kohana dashboards (for transactions overview, errors overview, VM overview, top five slowest transactions, latest error, and more) - When you accelerate troubleshooting with distributed tracing and enhanced visibility into application and data lags in a Kohana dashboard, it's much easier for your team to quickly identify and resolve potential errors and ensure uptime. + When you accelerate troubleshooting with distributed tracing and enhanced visibility into application and data lags in a Kohana dashboard, it's much easier for your team to quickly identify and resolve potential errors and ensure uptime. ### The Complete Kohana PHP Dashboard Tool @@ -46,8 +46,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/laravel/config.yml b/quickstarts/php/laravel/config.yml index a51d8967e0..462ef5a8bb 100644 --- a/quickstarts/php/laravel/config.yml +++ b/quickstarts/php/laravel/config.yml @@ -1,14 +1,14 @@ id: 919aad44-52ba-47fd-9e29-12195979015e slug: laravel description: | - ## Laravel PHP Monitoring + ## Laravel PHP Monitoring Laravel is a free, open-source PHP model-view-controller web framework that empowers developers to carry out common tasks in web and app development projects with ease. ### New Relic Laravel quickstart features The New Relic Laravel monitoring quickstart has the following features: - - Our standard dashboard provides a clear overview of transactions, errors and virtual machines. + - Our standard dashboard provides a clear overview of transactions, errors and virtual machines. - The Laravel PHP dashboard also helps you track other key indicators like daily transaction errors, comparison between weekly transaction errors, most popular transactions, and more. - Pre-defined alert conditions notify you on performance metrics like duration, error rate and throughput. @@ -34,8 +34,6 @@ keywords: - php - language agent - most popular -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/magento/config.yml b/quickstarts/php/magento/config.yml index bda784e01d..2e09bea770 100644 --- a/quickstarts/php/magento/config.yml +++ b/quickstarts/php/magento/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Magento. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Magento. summary: Monitor Magento with New Relic's PHP agent icon: logo.svg level: New Relic @@ -28,8 +28,6 @@ keywords: - cms - content management system - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/mediawiki/config.yml b/quickstarts/php/mediawiki/config.yml index 5e05cecf80..13417d28a6 100644 --- a/quickstarts/php/mediawiki/config.yml +++ b/quickstarts/php/mediawiki/config.yml @@ -33,8 +33,6 @@ keywords: - cms - content management system - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/odbc/config.yml b/quickstarts/php/odbc/config.yml index a143cc88d7..1a3c49bbd4 100644 --- a/quickstarts/php/odbc/config.yml +++ b/quickstarts/php/odbc/config.yml @@ -32,8 +32,6 @@ keywords: - php - database - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/pdo/config.yml b/quickstarts/php/pdo/config.yml index ffd7841a1c..0392f8f936 100644 --- a/quickstarts/php/pdo/config.yml +++ b/quickstarts/php/pdo/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PDO. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PDO. summary: Monitor PDO with New Relic's PHP agent icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ keywords: - php - database - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/php/config.yml b/quickstarts/php/php/config.yml index 1cb2c8d88f..cb45c0f162 100644 --- a/quickstarts/php/php/config.yml +++ b/quickstarts/php/php/config.yml @@ -6,7 +6,7 @@ description: | Use our PHP monitoring agent to see a high-level summary of their app performance in a comprehensive PHP dashboard. Help teams monitor the app's Apdex, build architectural maps, and find and resolve errors quickly. - Our [PHP agent](https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php/) collects and analyzes application data that drive data-driven decisions. Organize data, query data using NRQL, and visualize data (in customizable interactive dashboards) that directly impact customer experiences. + Our [PHP agent](https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php/) collects and analyzes application data that drive data-driven decisions. Organize data, query data using NRQL, and visualize data (in customizable interactive dashboards) that directly impact customer experiences. ### Real-time PHP metric monitoring @@ -41,8 +41,6 @@ keywords: - php - language agent - most popular -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/phpunit/config.yml b/quickstarts/php/phpunit/config.yml index 0ec3cfa03a..08c0e6bbe9 100644 --- a/quickstarts/php/phpunit/config.yml +++ b/quickstarts/php/phpunit/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PHPunit. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for PHPunit. summary: Monitor PHPunit with New Relic's PHP agent icon: logo.svg level: New Relic @@ -27,8 +27,6 @@ keywords: - php - testing - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/predis/config.yml b/quickstarts/php/predis/config.yml index 5e2d6c823f..f1e0c019c5 100644 --- a/quickstarts/php/predis/config.yml +++ b/quickstarts/php/predis/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Predis. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Predis. summary: Monitor Predis with New Relic's PHP agent icon: logo.svg level: New Relic @@ -22,8 +22,6 @@ documentation: - name: Predis installation docs description: Predis is a flexible and feature-complete Redis client for PHP. url: https://docs.newrelic.com/docs/agents/php-agent/frameworks-libraries/predis-library-php -installPlans: - - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/php/silex/config.yml b/quickstarts/php/silex/config.yml index 1a4b50e81f..0de9ef505b 100644 --- a/quickstarts/php/silex/config.yml +++ b/quickstarts/php/silex/config.yml @@ -15,8 +15,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/slim/config.yml b/quickstarts/php/slim/config.yml index 065db211bc..3c6cdaeb41 100644 --- a/quickstarts/php/slim/config.yml +++ b/quickstarts/php/slim/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/sqlite/config.yml b/quickstarts/php/sqlite/config.yml index 6a9e799ba7..d83625deed 100644 --- a/quickstarts/php/sqlite/config.yml +++ b/quickstarts/php/sqlite/config.yml @@ -32,8 +32,6 @@ keywords: - php - database - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/symfony/config.yml b/quickstarts/php/symfony/config.yml index b0d1f6010b..4516dce71f 100644 --- a/quickstarts/php/symfony/config.yml +++ b/quickstarts/php/symfony/config.yml @@ -31,8 +31,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/php/yii/config.yml b/quickstarts/php/yii/config.yml index 58eb34fa84..7f9f511678 100644 --- a/quickstarts/php/yii/config.yml +++ b/quickstarts/php/yii/config.yml @@ -11,7 +11,7 @@ description: |- ## More info - Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Yii. + Check out the [documentation](https://docs.newrelic.com/docs/agents/php-agent/) to learn more about New Relic monitoring for Yii. summary: Monitor Yii with New Relic's PHP agent icon: logo.svg level: New Relic @@ -26,8 +26,6 @@ keywords: - apm - php - language agent -installPlans: - - php-agent dataSourceIds: - php dashboards: diff --git a/quickstarts/pixie/config.yml b/quickstarts/pixie/config.yml index 7bd3da6533..9cc6d5a11b 100644 --- a/quickstarts/pixie/config.yml +++ b/quickstarts/pixie/config.yml @@ -32,8 +32,6 @@ keywords: # Reference to install plans located under /install directory # Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - kubernetes-install dataSourceIds: - pixie diff --git a/quickstarts/port-monitoring/config.yml b/quickstarts/port-monitoring/config.yml index 988c843403..265fa9bacd 100644 --- a/quickstarts/port-monitoring/config.yml +++ b/quickstarts/port-monitoring/config.yml @@ -27,8 +27,6 @@ documentation: - name: Port monitoring installation docs description: Monitor the status for networking ports, such as TCP, UDP, etc. url: https://docs.newrelic.com/docs/port-monitoring-open-source-integration -installPlans: - - third-party-port-monitoring dataSourceIds: - port-monitoring keywords: diff --git a/quickstarts/postgresql/config.yml b/quickstarts/postgresql/config.yml index eb1cb90443..1cde960575 100644 --- a/quickstarts/postgresql/config.yml +++ b/quickstarts/postgresql/config.yml @@ -17,8 +17,6 @@ documentation: description: | Object-relational database management system designed to handle a range of workloads from single machines to data warehouses or services. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/postgresql-monitoring-integration/ -installPlans: - - postgresql-integration dataSourceIds: - postgresql keywords: diff --git a/quickstarts/postman/config.yml b/quickstarts/postman/config.yml index 85bad7ed4a..81efc358fd 100644 --- a/quickstarts/postman/config.yml +++ b/quickstarts/postman/config.yml @@ -33,8 +33,6 @@ keywords: - featured - NR1_addData - NR1_sys -installPlans: - - third-party-postman dataSourceIds: - postman documentation: diff --git a/quickstarts/prometheus-agent/config.yml b/quickstarts/prometheus-agent/config.yml index 41ab0fa044..df6b0eff6e 100644 --- a/quickstarts/prometheus-agent/config.yml +++ b/quickstarts/prometheus-agent/config.yml @@ -4,7 +4,7 @@ title: Prometheus Agent description: | ## About New Relic Prometheus Agent - New Relic created the [Prometheus Agent](https://github.com/newrelic/newrelic-prometheus-configurator) in order to simplify the experience of configuring features like discovery, filtering, metrics decoration, and sharding. + New Relic created the [Prometheus Agent](https://github.com/newrelic/newrelic-prometheus-configurator) in order to simplify the experience of configuring features like discovery, filtering, metrics decoration, and sharding. It generates a configuration file that is used to run a Prometheus Server in Agent mode to later send the metrics to the New Relic Remote Write Endpoint. @@ -17,8 +17,6 @@ level: New Relic authors: - New Relic - Marc Sanmiquel -installPlans: - - setup-prometheus-agent-mode dataSourceIds: - prometheus-agent-mode documentation: diff --git a/quickstarts/prometheus-remote-write/config.yml b/quickstarts/prometheus-remote-write/config.yml index 33b9df208f..0b829807d3 100644 --- a/quickstarts/prometheus-remote-write/config.yml +++ b/quickstarts/prometheus-remote-write/config.yml @@ -1,21 +1,21 @@ id: 7dbd7355-c380-4211-bd32-fed9a65351af slug: prometheus-remote-write description: | - ## Prometheus monitoring + ## Prometheus monitoring Prometheus is an open-source monitoring and alerting toolkit. Setting up Prometheus is straightforward, but scaling up and managing is not. That’s where New Relic steps in. ### New Relic's Prometheus quickstart - New Relic offers two Prometheus integration schemes, Remote Write and OpenMetrics. + New Relic offers two Prometheus integration schemes, Remote Write and OpenMetrics. - [Remote Write](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-remote-write/prometheus-remote-write-integration/) is ideal for well-established Prometheus infrastructures. It provides easy access to your metrics and only takes one line of yaml in your configuration for access. + [Remote Write](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-remote-write/prometheus-remote-write-integration/) is ideal for well-established Prometheus infrastructures. It provides easy access to your metrics and only takes one line of yaml in your configuration for access. [OpenMetrics](https://docs.newrelic.com/docs/integrations/prometheus-integrations/install-configure-openmetrics/configure-prometheus-openmetrics-integrations/) allows for more visibility across multiple container platforms. Once the integration is set up, you can query data on memory usage for pods in deployment, facet any metrics, and view raw metric values all in one place. - New Relic's Prometheus Integration stores various kinds of telemetry data - whether open-source, vendor-specific, or vendor-agnostic. + New Relic's Prometheus Integration stores various kinds of telemetry data - whether open-source, vendor-specific, or vendor-agnostic. - ### Value of the Prometheus quickstart + ### Value of the Prometheus quickstart This New Relic quickstart helps you to configure Prometheus Remote Write. @@ -39,8 +39,6 @@ documentation: url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-remote-write/set-your-prometheus-remote-write-integration/ keywords: - open source monitoring -installPlans: - - setup-prometheus dataSourceIds: - prometheus dashboards: diff --git a/quickstarts/python/aiohttp/config.yml b/quickstarts/python/aiohttp/config.yml index 2f7d4f11e4..ad32695e7d 100644 --- a/quickstarts/python/aiohttp/config.yml +++ b/quickstarts/python/aiohttp/config.yml @@ -42,8 +42,6 @@ keywords: - apm - http - aiohttp -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/amqplib/config.yml b/quickstarts/python/amqplib/config.yml index 9af55b86dd..920710dd4b 100644 --- a/quickstarts/python/amqplib/config.yml +++ b/quickstarts/python/amqplib/config.yml @@ -31,8 +31,6 @@ keywords: - apm - python - NR1_addData -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/bottle/config.yml b/quickstarts/python/bottle/config.yml index 079524edd1..14b0075a5c 100644 --- a/quickstarts/python/bottle/config.yml +++ b/quickstarts/python/bottle/config.yml @@ -30,8 +30,6 @@ keywords: - apm - python - bottle -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/celery/config.yml b/quickstarts/python/celery/config.yml index e34653aec8..7a7257f495 100644 --- a/quickstarts/python/celery/config.yml +++ b/quickstarts/python/celery/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - celery -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/cherrypy/config.yml b/quickstarts/python/cherrypy/config.yml index 8fc15c9848..cd76440172 100644 --- a/quickstarts/python/cherrypy/config.yml +++ b/quickstarts/python/cherrypy/config.yml @@ -7,7 +7,7 @@ description: | ### CherryPy quickstart highlights - The New Relic CherryPy Quickstart has the following features - + The New Relic CherryPy Quickstart has the following features - Dashboards - Monitor metrics like CPU Utilization, memory heap used, garbage collection CPU time, top 5 slowest transactions, throughput reports, and most popular transactions, and more. Alerts - including apdex score, cpu utilization and transaction tracing @@ -33,8 +33,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/django/config.yml b/quickstarts/python/django/config.yml index e23d5f6bae..4837c03b48 100644 --- a/quickstarts/python/django/config.yml +++ b/quickstarts/python/django/config.yml @@ -37,8 +37,6 @@ keywords: - python - django - most popular -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/facepy/config.yml b/quickstarts/python/facepy/config.yml index dbd44eb7d1..111b5e8f74 100644 --- a/quickstarts/python/facepy/config.yml +++ b/quickstarts/python/facepy/config.yml @@ -28,8 +28,6 @@ keywords: - apm - python - facepy -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/falcon/config.yml b/quickstarts/python/falcon/config.yml index 2ef8ebee70..336b7e9844 100644 --- a/quickstarts/python/falcon/config.yml +++ b/quickstarts/python/falcon/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/fastapi/config.yml b/quickstarts/python/fastapi/config.yml index 2e7b224e33..a406436075 100644 --- a/quickstarts/python/fastapi/config.yml +++ b/quickstarts/python/fastapi/config.yml @@ -31,8 +31,6 @@ keywords: - python - language agent - fastapi -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/feedparser/config.yml b/quickstarts/python/feedparser/config.yml index c9f3e899e3..7d6a9652db 100644 --- a/quickstarts/python/feedparser/config.yml +++ b/quickstarts/python/feedparser/config.yml @@ -39,8 +39,6 @@ keywords: - apm - python - feedparser -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/flask/config.yml b/quickstarts/python/flask/config.yml index 9565e9987b..0979817c4e 100644 --- a/quickstarts/python/flask/config.yml +++ b/quickstarts/python/flask/config.yml @@ -48,8 +48,6 @@ keywords: - apm - python - flask -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/gearman/config.yml b/quickstarts/python/gearman/config.yml index bf263e0106..660a3cc02c 100644 --- a/quickstarts/python/gearman/config.yml +++ b/quickstarts/python/gearman/config.yml @@ -25,8 +25,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/gevent/config.yml b/quickstarts/python/gevent/config.yml index 9f33009e16..cc0f6f6ba5 100644 --- a/quickstarts/python/gevent/config.yml +++ b/quickstarts/python/gevent/config.yml @@ -30,8 +30,6 @@ keywords: - apm - python - gevent -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/httplib2/config.yml b/quickstarts/python/httplib2/config.yml index c27faf3ace..224ee4645a 100644 --- a/quickstarts/python/httplib2/config.yml +++ b/quickstarts/python/httplib2/config.yml @@ -30,8 +30,6 @@ keywords: - httplib2 - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/jinja2/config.yml b/quickstarts/python/jinja2/config.yml index cc67681a63..737225a2fe 100644 --- a/quickstarts/python/jinja2/config.yml +++ b/quickstarts/python/jinja2/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/mako/config.yml b/quickstarts/python/mako/config.yml index cd26b00fb3..e0aa0953c0 100644 --- a/quickstarts/python/mako/config.yml +++ b/quickstarts/python/mako/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - mako -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/oursql/config.yml b/quickstarts/python/oursql/config.yml index 599246baa8..8ab8a57984 100644 --- a/quickstarts/python/oursql/config.yml +++ b/quickstarts/python/oursql/config.yml @@ -31,8 +31,6 @@ keywords: - apm - python - database -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pika/config.yml b/quickstarts/python/pika/config.yml index 438d20784b..70135d3621 100644 --- a/quickstarts/python/pika/config.yml +++ b/quickstarts/python/pika/config.yml @@ -25,8 +25,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/piston/config.yml b/quickstarts/python/piston/config.yml index 7c280b5049..9dacc5f419 100644 --- a/quickstarts/python/piston/config.yml +++ b/quickstarts/python/piston/config.yml @@ -25,8 +25,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/proboscis/config.yml b/quickstarts/python/proboscis/config.yml index 4de1d9de19..20048a9969 100644 --- a/quickstarts/python/proboscis/config.yml +++ b/quickstarts/python/proboscis/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/psycopg2/config.yml b/quickstarts/python/psycopg2/config.yml index 9195d19526..0447f816b7 100644 --- a/quickstarts/python/psycopg2/config.yml +++ b/quickstarts/python/psycopg2/config.yml @@ -11,7 +11,7 @@ description: | The Quickstart offers a number of visual dashboards that display the following data: - CPU Utilization - - Memory heap used + - Memory heap used - Garbage collection CPU time - Top 5 slowest transactions - Throughput reports @@ -25,7 +25,7 @@ description: | ### New Relic - The complete Psycopg2 dashboard tool - Any [Python application](https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/introduction-new-relic-python/) which interfaces with a Postgres database is likely to use Psycopg2. This spans a huge array of applications from web backends to machine learning tools to general data stores. Regardless of the specific application, working with Psycopg2 on large-scale projects requires instantiating multiple simultaneous connections with the database. When this many connections are active at once, applications running Psycopg2 become prone to slowdowns or failure. + Any [Python application](https://docs.newrelic.com/docs/apm/agents/python-agent/getting-started/introduction-new-relic-python/) which interfaces with a Postgres database is likely to use Psycopg2. This spans a huge array of applications from web backends to machine learning tools to general data stores. Regardless of the specific application, working with Psycopg2 on large-scale projects requires instantiating multiple simultaneous connections with the database. When this many connections are active at once, applications running Psycopg2 become prone to slowdowns or failure. This observability pack can help you detect those before they become an issue. For example, the New Relic dashboards and alerts relating to CPU utilization provide notifications when a CPU running Psycopg2 nears full capacity. This can be used as a diagnostic tool to identify which sections of an application might need refinements or refactoring. @@ -49,8 +49,6 @@ keywords: - python - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pyelasticsearch/config.yml b/quickstarts/python/pyelasticsearch/config.yml index 9284b23593..8ca243f9ce 100644 --- a/quickstarts/python/pyelasticsearch/config.yml +++ b/quickstarts/python/pyelasticsearch/config.yml @@ -32,8 +32,6 @@ keywords: - python - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pylibmc/config.yml b/quickstarts/python/pylibmc/config.yml index 3306f94716..c38cd23fcf 100644 --- a/quickstarts/python/pylibmc/config.yml +++ b/quickstarts/python/pylibmc/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - pylibmc -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pylons/config.yml b/quickstarts/python/pylons/config.yml index d0baed17ee..74d77e6de7 100644 --- a/quickstarts/python/pylons/config.yml +++ b/quickstarts/python/pylons/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pymongo/config.yml b/quickstarts/python/pymongo/config.yml index b03f971156..47a0d3beba 100644 --- a/quickstarts/python/pymongo/config.yml +++ b/quickstarts/python/pymongo/config.yml @@ -33,8 +33,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pyramid/config.yml b/quickstarts/python/pyramid/config.yml index 821d546e82..0214c782f5 100644 --- a/quickstarts/python/pyramid/config.yml +++ b/quickstarts/python/pyramid/config.yml @@ -31,8 +31,6 @@ keywords: - python - pyramid - WSGI -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/pysqlite/config.yml b/quickstarts/python/pysqlite/config.yml index 153a04b022..7c17073b78 100644 --- a/quickstarts/python/pysqlite/config.yml +++ b/quickstarts/python/pysqlite/config.yml @@ -31,8 +31,6 @@ keywords: - apm - python - database -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/python/config.yml b/quickstarts/python/python/config.yml index 514abbbd69..0b77a29dcc 100644 --- a/quickstarts/python/python/config.yml +++ b/quickstarts/python/python/config.yml @@ -9,7 +9,7 @@ description: | ### Why monitoring Python is so important - Python monitoring agents enable developers to troubleshoot application and endpoint issues, identify specific dependencies, and meet service level agreements. + Python monitoring agents enable developers to troubleshoot application and endpoint issues, identify specific dependencies, and meet service level agreements. Development teams can view detailed stack traces of sampled threads and extend performance monitoring to collect and analyze business data in a dashboard. This approach helps teams make data-driven decisions and enhance user experiences. @@ -17,7 +17,7 @@ description: | New Relic's Python monitoring quickstart boasts instant full-stack observability out-of-the-box: - Alerts (Adpex score, CPU utilization, transaction error) - - Dashboards (most popular transactions, average transaction duration today compared with that for the previous week, Adpex score comparisons, and more) + - Dashboards (most popular transactions, average transaction duration today compared with that for the previous week, Adpex score comparisons, and more) - Monitor scripts and functions - Monitor WSGI web transactions @@ -53,8 +53,6 @@ keywords: - apm - python - language agent -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/sanic/config.yml b/quickstarts/python/sanic/config.yml index ec896a69f4..71c7a455c2 100644 --- a/quickstarts/python/sanic/config.yml +++ b/quickstarts/python/sanic/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/tastypie/config.yml b/quickstarts/python/tastypie/config.yml index f62d1210fb..831f04c6ac 100644 --- a/quickstarts/python/tastypie/config.yml +++ b/quickstarts/python/tastypie/config.yml @@ -30,8 +30,6 @@ documentation: keywords: - apm - python -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/tornado/config.yml b/quickstarts/python/tornado/config.yml index 0cf1926135..92bb5938bb 100644 --- a/quickstarts/python/tornado/config.yml +++ b/quickstarts/python/tornado/config.yml @@ -25,8 +25,6 @@ keywords: - apm - python - tornado -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/twisted/config.yml b/quickstarts/python/twisted/config.yml index 16c6193e44..37d9b5ca24 100644 --- a/quickstarts/python/twisted/config.yml +++ b/quickstarts/python/twisted/config.yml @@ -27,8 +27,6 @@ keywords: - apm - python - twisted -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/web2py/config.yml b/quickstarts/python/web2py/config.yml index 89504a5a71..0c3ea7adf8 100644 --- a/quickstarts/python/web2py/config.yml +++ b/quickstarts/python/web2py/config.yml @@ -28,8 +28,6 @@ keywords: - apm - python - web2py -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/python/webpy/config.yml b/quickstarts/python/webpy/config.yml index 6ef4c0471d..58055c532a 100644 --- a/quickstarts/python/webpy/config.yml +++ b/quickstarts/python/webpy/config.yml @@ -35,8 +35,6 @@ keywords: - apm - python - webpy -installPlans: - - setup-python-agent dataSourceIds: - python dashboards: diff --git a/quickstarts/quantum-metric/config.yml b/quickstarts/quantum-metric/config.yml index 0c8b77dd33..679d03f6db 100644 --- a/quickstarts/quantum-metric/config.yml +++ b/quickstarts/quantum-metric/config.yml @@ -7,8 +7,6 @@ level: Community authors: - Quantum Metric title: Quantum Metric -installPlans: - - third-party-quantum-metric dataSourceIds: - quantum-metric documentation: diff --git a/quickstarts/rabbitmq/config.yml b/quickstarts/rabbitmq/config.yml index 5df4e4aa51..247646cb2a 100644 --- a/quickstarts/rabbitmq/config.yml +++ b/quickstarts/rabbitmq/config.yml @@ -4,7 +4,7 @@ title: RabbitMQ description: | ## RabbitMQ performance - RabbitMQ is an open-source message broker that supports multiple protocols. It acts as a broker, fielding messages sent from a “producer” application and distributing them to the “consumer” applications for which they are designated. + RabbitMQ is an open-source message broker that supports multiple protocols. It acts as a broker, fielding messages sent from a “producer” application and distributing them to the “consumer” applications for which they are designated. The New Relic RabbitMQ agent monitors the performance of RabbitMQ instances, giving insights into their activity. It targets the AMQP RabbitMQ distribution that integrates with Node.js. @@ -22,11 +22,11 @@ description: | ### New Relic + RabbitMQ - Your tool for better monitoring - [Monitor RabbitMQ](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/) to ensure it’s coordinating messages between producer and consumer apps in a timely and efficient manner. Silent failures are common in RabbitMQ, frequently causing messages to hang or never be delivered. + [Monitor RabbitMQ](https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/) to ensure it’s coordinating messages between producer and consumer apps in a timely and efficient manner. Silent failures are common in RabbitMQ, frequently causing messages to hang or never be delivered. This can drastically warp the downstream behavior of an app. By monitoring RabbitMQ application health, system administrators can catch these errors before they occur. - The key metrics to keep an eye on include memory usage, message throughput and utilization by queue, and queue consumers. Monitoring memory usage allows for detection of system overloads. Similarly, throughput and utilization trade off on queue capacity. + The key metrics to keep an eye on include memory usage, message throughput and utilization by queue, and queue consumers. Monitoring memory usage allows for detection of system overloads. Similarly, throughput and utilization trade off on queue capacity. Queues that are underutilized can be identified for message acceptance, and queues with low throughput can be investigated for hanging messages. Finally, insight into queue consumers can help to evenly distribute them across available queues. summary: | @@ -42,8 +42,6 @@ documentation: description: | Lightweight message queue and broker service that gives disparate services a common communication point. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/ -installPlans: - - rabbitmq-integration dataSourceIds: - rabbitmq keywords: diff --git a/quickstarts/redhat/red-hat-enterprise-linux/config.yml b/quickstarts/redhat/red-hat-enterprise-linux/config.yml index c0aef3a684..d00056f4e0 100644 --- a/quickstarts/redhat/red-hat-enterprise-linux/config.yml +++ b/quickstarts/redhat/red-hat-enterprise-linux/config.yml @@ -17,8 +17,6 @@ documentation: Red Hat Enterprise Linux is a Linux distribution developed by Red Hat for the commercial market. url: https://docs.newrelic.com/docs/infrastructure/install-configure-manage-infrastructure/linux-installation/install-infrastructure-linux-using-package-manager -installPlans: - - guided-install dataSourceIds: - guided-install keywords: diff --git a/quickstarts/redhat/red-hat-openshift/config.yml b/quickstarts/redhat/red-hat-openshift/config.yml index d137e7282b..3690d99b36 100644 --- a/quickstarts/redhat/red-hat-openshift/config.yml +++ b/quickstarts/redhat/red-hat-openshift/config.yml @@ -21,7 +21,5 @@ keywords: - k8s - NR1_addData - NR1_sys -installPlans: - - third-party-red-hat-openshift dataSourceIds: - kubernetes diff --git a/quickstarts/redis-prometheus/config.yml b/quickstarts/redis-prometheus/config.yml index 02ac36ffbf..c8122c1dea 100644 --- a/quickstarts/redis-prometheus/config.yml +++ b/quickstarts/redis-prometheus/config.yml @@ -47,9 +47,6 @@ keywords: - database - NR1_addData - NR1_sys -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/redis/config.yml b/quickstarts/redis/config.yml index c905408a21..b721622c87 100644 --- a/quickstarts/redis/config.yml +++ b/quickstarts/redis/config.yml @@ -38,8 +38,6 @@ documentation: description: | Open source, key-value data structure store for use as a database, cache, and message broker with wide protocol and dataset support. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/redis-monitoring-integration/ -installPlans: - - redis-integration dataSourceIds: - redis keywords: diff --git a/quickstarts/redisenterprise/config.yml b/quickstarts/redisenterprise/config.yml index 5e5a95005a..5f06ae6b1a 100644 --- a/quickstarts/redisenterprise/config.yml +++ b/quickstarts/redisenterprise/config.yml @@ -41,7 +41,7 @@ description: |+ - Lag: Time between application on servers - Pending: Details of the number of writes pending as part of the sync - - Bandwidth: Information on the amount of traffic between clusters + - Bandwidth: Information on the amount of traffic between clusters ### Contact us To get help please contact the [Redis Enterprise Field Engineering](mailto:redis.observability@redis.com?subject=NewRelic%20Integration%20Support) @@ -61,8 +61,6 @@ keywords: - active - NR1_addData - NR1_sys -installPlans: - - third-party-redisenterprise dataSourceIds: - redis-enterprise documentation: diff --git a/quickstarts/releaseiq/config.yml b/quickstarts/releaseiq/config.yml index 5cbabd28a9..404b43c5e4 100644 --- a/quickstarts/releaseiq/config.yml +++ b/quickstarts/releaseiq/config.yml @@ -33,8 +33,6 @@ documentation: ReleaseIQ is the Unified Enterprise DevOps Platform to Accelerate Software Delivery. Get started with newrelic setup and configuration. url: https://www.releaseiq.io/use-cases/new-relic/ -installPlans: - - third-party-releaseiq dataSourceIds: - releaseiq icon: logo.png diff --git a/quickstarts/roku/config.yml b/quickstarts/roku/config.yml index 70e5240421..5043e3648d 100644 --- a/quickstarts/roku/config.yml +++ b/quickstarts/roku/config.yml @@ -6,8 +6,8 @@ description: | Roku is one of the world's most popular streaming platforms. New Relic has developed the first and only open-source observabiilty agent for Roku, giving you unparalleled insight into the performance of your Roku application. ### Analytics on HTTP requests and errors - This can be manifestations of ISP or CDN issues or unwanted changes to the application or backend services. Faster identification and understanding of these issues is critical to maintaining a positive user experience. - ### Video Quality of Experience (QoE) + This can be manifestations of ISP or CDN issues or unwanted changes to the application or backend services. Faster identification and understanding of these issues is critical to maintaining a positive user experience. + ### Video Quality of Experience (QoE) Correlate video quality issues back through the rest of the streaming architecture. Acquire complete correlations between video playback sessions to the backend systems. ### Customer journey tracking Follow customers as they navigate the application towards their content and their video playback experience. See where and when drop offs occur and the time it takes to complete critical actions. @@ -31,9 +31,6 @@ keywords: - brightscript - NR1_addData - NR1_sys -installPlans: - - third-party-roku - - third-party-roku-http-analytics dataSourceIds: - roku - roku-http-analytics diff --git a/quickstarts/ruby/activerecord/config.yml b/quickstarts/ruby/activerecord/config.yml index fc02271d9a..68c0e2d8f0 100644 --- a/quickstarts/ruby/activerecord/config.yml +++ b/quickstarts/ruby/activerecord/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/acts-as-solr/config.yml b/quickstarts/ruby/acts-as-solr/config.yml index 880bc2213f..42c0fff5db 100644 --- a/quickstarts/ruby/acts-as-solr/config.yml +++ b/quickstarts/ruby/acts-as-solr/config.yml @@ -28,8 +28,6 @@ documentation: Ruby plugins that adds full text search capabilities and other features from Apache's Solr to any Rails model. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/authlogic/config.yml b/quickstarts/ruby/authlogic/config.yml index 9d548eb79e..de309296aa 100644 --- a/quickstarts/ruby/authlogic/config.yml +++ b/quickstarts/ruby/authlogic/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/bunny/config.yml b/quickstarts/ruby/bunny/config.yml index 516562f52f..f9ed8e08a0 100644 --- a/quickstarts/ruby/bunny/config.yml +++ b/quickstarts/ruby/bunny/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/curb/config.yml b/quickstarts/ruby/curb/config.yml index e1ebb087f6..c45d52c6f7 100644 --- a/quickstarts/ruby/curb/config.yml +++ b/quickstarts/ruby/curb/config.yml @@ -14,7 +14,7 @@ description: | ### New Relic + Curb = Optimum performance monitoring Monitor Curb with New Relic’s Ruby agent. With an interactive dashboard, you can explore, query, and visualize your data. This helps you to identify issues faster and improve Curb’s performance. The quickstart also has four alerts that can detect changes in key metrics. You can integrate the alerts with your favorite tools such as Slack or PagerDuty, and you will get instant notification when there is any issue. - You can [configure](https://docs.newrelic.com/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/) the New Relic Ruby agent with settings in a configuration file, environment variables, or programmatically with server-side configuration. The Ruby agent supports Curb version 0.8.1 or higher. + You can [configure](https://docs.newrelic.com/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/) the New Relic Ruby agent with settings in a configuration file, environment variables, or programmatically with server-side configuration. The Ruby agent supports Curb version 0.8.1 or higher. Install the New Relic Curb observability quickstart today to track Curb’s metrics in real time through a seamless dashboard and different alerts. The quickstart empowers you to leverage our Ruby agent for instant and comprehensive monitoring of Curb. summary: | Monitoring Curb is critical to ensure that you detect incidents and respond to them quickly. Download the New Relic quickstart to instrument Curb with our Ruby agent and track key performance metrics. @@ -33,8 +33,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/dalli/config.yml b/quickstarts/ruby/dalli/config.yml index 04bcb9d36f..22797f8f20 100644 --- a/quickstarts/ruby/dalli/config.yml +++ b/quickstarts/ruby/dalli/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/delayed-job/config.yml b/quickstarts/ruby/delayed-job/config.yml index 56304cdf46..61147ca4c0 100644 --- a/quickstarts/ruby/delayed-job/config.yml +++ b/quickstarts/ruby/delayed-job/config.yml @@ -23,8 +23,6 @@ documentation: - name: Delayed_Job installation docs description: Ruby Gem that enables asynchronously distributing tasks to the background. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/excon/config.yml b/quickstarts/ruby/excon/config.yml index a236617f62..26f0a64f0a 100644 --- a/quickstarts/ruby/excon/config.yml +++ b/quickstarts/ruby/excon/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/grape/config.yml b/quickstarts/ruby/grape/config.yml index 934a713df2..688edfe38e 100644 --- a/quickstarts/ruby/grape/config.yml +++ b/quickstarts/ruby/grape/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/httpclient/config.yml b/quickstarts/ruby/httpclient/config.yml index e32c4e7643..0ea38845ba 100644 --- a/quickstarts/ruby/httpclient/config.yml +++ b/quickstarts/ruby/httpclient/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/httprb/config.yml b/quickstarts/ruby/httprb/config.yml index a02f74ea92..e061989f4b 100644 --- a/quickstarts/ruby/httprb/config.yml +++ b/quickstarts/ruby/httprb/config.yml @@ -28,8 +28,6 @@ keywords: - ruby - NR1_addData - NR1_sys -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/net-http/config.yml b/quickstarts/ruby/net-http/config.yml index e0386e3e64..af23a95af8 100644 --- a/quickstarts/ruby/net-http/config.yml +++ b/quickstarts/ruby/net-http/config.yml @@ -28,8 +28,6 @@ documentation: Net::HTTP for Ruby provides a rich library which can be used to build HTTP user-agents. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/padrino/config.yml b/quickstarts/ruby/padrino/config.yml index e5de4559ad..b2ca17b24d 100644 --- a/quickstarts/ruby/padrino/config.yml +++ b/quickstarts/ruby/padrino/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/passenger/config.yml b/quickstarts/ruby/passenger/config.yml index 5d458ed17a..a9b9567bf2 100644 --- a/quickstarts/ruby/passenger/config.yml +++ b/quickstarts/ruby/passenger/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/puma/config.yml b/quickstarts/ruby/puma/config.yml index d37205c546..61d155c857 100644 --- a/quickstarts/ruby/puma/config.yml +++ b/quickstarts/ruby/puma/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rack/config.yml b/quickstarts/ruby/rack/config.yml index 68e9eea4d2..ef3c6473db 100644 --- a/quickstarts/ruby/rack/config.yml +++ b/quickstarts/ruby/rack/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rails/config.yml b/quickstarts/ruby/rails/config.yml index e4e9c72edb..362d655c6b 100644 --- a/quickstarts/ruby/rails/config.yml +++ b/quickstarts/ruby/rails/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/rainbows/config.yml b/quickstarts/ruby/rainbows/config.yml index f7e317e397..55bcf915dd 100644 --- a/quickstarts/ruby/rainbows/config.yml +++ b/quickstarts/ruby/rainbows/config.yml @@ -28,8 +28,6 @@ documentation: An HTTP Rack app server designed to handle applications that expect long request/response times and/or slow clients. url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/ruby-agent-requirements-supported-frameworks -installPlans: - - setup-ruby-agent dataSourceIds: - ruby keywords: diff --git a/quickstarts/ruby/rake/config.yml b/quickstarts/ruby/rake/config.yml index 46e6051248..85e70ae9a7 100644 --- a/quickstarts/ruby/rake/config.yml +++ b/quickstarts/ruby/rake/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/resque/config.yml b/quickstarts/ruby/resque/config.yml index 334a571703..2c4febec2c 100644 --- a/quickstarts/ruby/resque/config.yml +++ b/quickstarts/ruby/resque/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/ruby/config.yml b/quickstarts/ruby/ruby/config.yml index ae9ea66e6f..ad8f6d6632 100644 --- a/quickstarts/ruby/ruby/config.yml +++ b/quickstarts/ruby/ruby/config.yml @@ -27,8 +27,6 @@ keywords: - apm - ruby - language agent -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sequel/config.yml b/quickstarts/ruby/sequel/config.yml index 46a8cf8443..8a07437bcc 100644 --- a/quickstarts/ruby/sequel/config.yml +++ b/quickstarts/ruby/sequel/config.yml @@ -27,8 +27,6 @@ keywords: - apm - ruby - database -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sidekiq/config.yml b/quickstarts/ruby/sidekiq/config.yml index b8caaf3c2d..86f2206cb6 100644 --- a/quickstarts/ruby/sidekiq/config.yml +++ b/quickstarts/ruby/sidekiq/config.yml @@ -38,8 +38,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sinatra/config.yml b/quickstarts/ruby/sinatra/config.yml index ed5918d2b7..9e97ad537d 100644 --- a/quickstarts/ruby/sinatra/config.yml +++ b/quickstarts/ruby/sinatra/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/sunspot/config.yml b/quickstarts/ruby/sunspot/config.yml index c07b1471b8..fa907611d8 100644 --- a/quickstarts/ruby/sunspot/config.yml +++ b/quickstarts/ruby/sunspot/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/thin/config.yml b/quickstarts/ruby/thin/config.yml index dec25b11c3..3bfad88fa6 100644 --- a/quickstarts/ruby/thin/config.yml +++ b/quickstarts/ruby/thin/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/typhoeus/config.yml b/quickstarts/ruby/typhoeus/config.yml index 83c6cf6d5d..ec70be657a 100644 --- a/quickstarts/ruby/typhoeus/config.yml +++ b/quickstarts/ruby/typhoeus/config.yml @@ -26,8 +26,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/unicorn/config.yml b/quickstarts/ruby/unicorn/config.yml index 270ba43027..4dbf5ad32c 100644 --- a/quickstarts/ruby/unicorn/config.yml +++ b/quickstarts/ruby/unicorn/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/ruby/webrick/config.yml b/quickstarts/ruby/webrick/config.yml index 58051f5977..91519284ae 100644 --- a/quickstarts/ruby/webrick/config.yml +++ b/quickstarts/ruby/webrick/config.yml @@ -31,8 +31,6 @@ documentation: keywords: - apm - ruby -installPlans: - - setup-ruby-agent dataSourceIds: - ruby dashboards: diff --git a/quickstarts/salesforce-eventlog-for-logs/config.yml b/quickstarts/salesforce-eventlog-for-logs/config.yml index c7f5b4bd25..5f82088756 100644 --- a/quickstarts/salesforce-eventlog-for-logs/config.yml +++ b/quickstarts/salesforce-eventlog-for-logs/config.yml @@ -49,8 +49,6 @@ documentation: description: | Salesforce Security Dashboard provides visualization into the security details of your salesforce organization. url: https://github.com/newrelic-experimental/newrelic-logs-salesforce-eventlogfile/blob/main/dashboards/sfdc-overview/sfdc-overview.md -installPlans: - - third-party-salesforce-eventlog-for-logs dataSourceIds: - salesforce-eventlog-for-logs dashboards: diff --git a/quickstarts/security/config.yml b/quickstarts/security/config.yml index 098e64169b..be244e22a1 100644 --- a/quickstarts/security/config.yml +++ b/quickstarts/security/config.yml @@ -4,7 +4,7 @@ title: Security Events API description: |+ ## What is the Security Event API? - New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. + New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. ### Get started! @@ -14,7 +14,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. summary: Ingest scanner data into New Relic by using Security Event API level: New Relic @@ -23,8 +23,6 @@ authors: keywords: - vulnerability management - security -installPlans: - - security-api-install dataSourceIds: - security-api documentation: diff --git a/quickstarts/sendgrid/config.yml b/quickstarts/sendgrid/config.yml index ea3ac4456e..1bce28c502 100644 --- a/quickstarts/sendgrid/config.yml +++ b/quickstarts/sendgrid/config.yml @@ -13,9 +13,6 @@ keywords: - log - NR1_addData - NR1_sys -installPlans: - - third-party-sendgrid-integration - - aws-log-ingestion-s3 dataSourceIds: - sendgrid-integration - amazon-s3 @@ -30,4 +27,3 @@ icon: logo.png website: https://sendgrid.com/ dashboards: - sendgrid-dashboard - diff --git a/quickstarts/signl4/config.yml b/quickstarts/signl4/config.yml index b0ca1ac3e6..35998ca26b 100644 --- a/quickstarts/signl4/config.yml +++ b/quickstarts/signl4/config.yml @@ -11,8 +11,6 @@ level: Community authors: - Signl4 title: SIGNL4 -installPlans: - - third-party-signl4 dataSourceIds: - signl4 documentation: diff --git a/quickstarts/snmp/config.yml b/quickstarts/snmp/config.yml index 476377190e..be33d17f71 100644 --- a/quickstarts/snmp/config.yml +++ b/quickstarts/snmp/config.yml @@ -23,8 +23,6 @@ level: New Relic authors: - New Relic title: Legacy SNMP -installPlans: - - third-party-snmp dataSourceIds: - snmp documentation: diff --git a/quickstarts/snyk/config.yml b/quickstarts/snyk/config.yml index 9bb6108c3c..4d2fb28e4f 100644 --- a/quickstarts/snyk/config.yml +++ b/quickstarts/snyk/config.yml @@ -23,8 +23,6 @@ keywords: - snyk dashboards: - snyk -installPlans: - - third-party-snyk dataSourceIds: - snyk documentation: diff --git a/quickstarts/speedscale/config.yml b/quickstarts/speedscale/config.yml index 0a51e0dfeb..ab22b0c39d 100644 --- a/quickstarts/speedscale/config.yml +++ b/quickstarts/speedscale/config.yml @@ -2,7 +2,7 @@ id: c4512294-8f81-4efa-8f28-6c1db28d288c slug: speedscale title: Speedscale description: | - Speedscale lets you capture traffic from one environment and replay elsewhere. Use the traffic replay to validate new code performance and functionality. Track the SRE golden signals of latency, throughput, CPU, memory and error metrics before you deploy. Preview your container or API behavior in your CI pipeline without having to write any scripts. Any necessary backends are provided by Speedscale’s mocking technology, which also uses past traffic to generate proper responses you expect during traffic replay. + Speedscale lets you capture traffic from one environment and replay elsewhere. Use the traffic replay to validate new code performance and functionality. Track the SRE golden signals of latency, throughput, CPU, memory and error metrics before you deploy. Preview your container or API behavior in your CI pipeline without having to write any scripts. Any necessary backends are provided by Speedscale’s mocking technology, which also uses past traffic to generate proper responses you expect during traffic replay. Speedscale Snapshots are subsets of traffic that you would like to replay to test how your new code reacts, similar to test scenarios. Deploying this quickstart adds a Speedscale dashboard to your New Relic account that includes replay success rates, response time and deep links to reports. @@ -22,8 +22,6 @@ keywords: - newrelic partner - NR1_addData - NR1_sys -installPlans: - - third-party-speedscale-integration dataSourceIds: - speedscale documentation: diff --git a/quickstarts/split/config.yml b/quickstarts/split/config.yml index 0cb6999025..436de63eb1 100644 --- a/quickstarts/split/config.yml +++ b/quickstarts/split/config.yml @@ -11,8 +11,6 @@ level: Community authors: - Split title: Split -installPlans: - - third-party-split dataSourceIds: - split documentation: diff --git a/quickstarts/squid-prometheus/config.yml b/quickstarts/squid-prometheus/config.yml index 2969c67bdb..11da81b79f 100644 --- a/quickstarts/squid-prometheus/config.yml +++ b/quickstarts/squid-prometheus/config.yml @@ -38,9 +38,6 @@ documentation: Caching proxy for the Web supporting different protocols that reduces bandwidth and improves response times. url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/squid -installPlans: - - squid-prometheus-integration-docs - dataSourceIds: - squid-prometheus-integration-docs diff --git a/quickstarts/statsd/config.yml b/quickstarts/statsd/config.yml index 7127945460..d0dd1a438b 100644 --- a/quickstarts/statsd/config.yml +++ b/quickstarts/statsd/config.yml @@ -7,7 +7,7 @@ description: | ### Common StatsD use cases - StatsD makes it easier for you to instrument your applications. As a developer or organization, it empowers you to code quickly troubleshoot application issues in real-time, and have absolute control over your data. + StatsD makes it easier for you to instrument your applications. As a developer or organization, it empowers you to code quickly troubleshoot application issues in real-time, and have absolute control over your data. With StatsD, you can collect metrics from your production applications, even before the apps are deployed into production. In addition, resource utilization metrics can be directly linked to product metrics relevant to your organization. @@ -35,7 +35,5 @@ documentation: keywords: - infrastructure - open source monitoring -installPlans: - - third-party-statsd dataSourceIds: - statsd diff --git a/quickstarts/suse-linux-enterprise-server/config.yml b/quickstarts/suse-linux-enterprise-server/config.yml index c37449240d..a33873dbbd 100644 --- a/quickstarts/suse-linux-enterprise-server/config.yml +++ b/quickstarts/suse-linux-enterprise-server/config.yml @@ -24,7 +24,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/sybase/config.yml b/quickstarts/sybase/config.yml index 3cf1da3c2b..1da12d6362 100644 --- a/quickstarts/sybase/config.yml +++ b/quickstarts/sybase/config.yml @@ -4,11 +4,11 @@ title: Sybase description: |- ## Quickstart for Sybase monitoring - Sybase is a relational database software solution. + Sybase is a relational database software solution. ### New Relic Sybase quickstart features - With monitoring statistics enabled, you can observe key metrics such as the number of connections, execution times, statement cache, process activity, threads, and more. + With monitoring statistics enabled, you can observe key metrics such as the number of connections, execution times, statement cache, process activity, threads, and more. ### Sybase Quickstart instructions @@ -24,8 +24,6 @@ keywords: - sap - ase - adaptive server enterprise -installPlans: - - sybase-integration dataSourceIds: - sybase-integration dashboards: @@ -36,4 +34,3 @@ documentation: description: Monitor SAP Adaptive Server Enterprise (Sybase) icon: logo.svg website: https://www.newrelic.com - diff --git a/quickstarts/synthetics-optimization/config.yml b/quickstarts/synthetics-optimization/config.yml index 7cad530d1a..738af1a203 100644 --- a/quickstarts/synthetics-optimization/config.yml +++ b/quickstarts/synthetics-optimization/config.yml @@ -25,8 +25,6 @@ documentation: This document provides additional queries that can be run to determine Synthetics usage. icon: logo.png website: https://www.newrelic.com -installPlans: - - third-party-synthetics-endpoint-availability dataSourceIds: - new-relic-synthetics dashboards: diff --git a/quickstarts/synthetics/availability/config.yml b/quickstarts/synthetics/availability/config.yml index e3bbc26112..d1e4030e97 100644 --- a/quickstarts/synthetics/availability/config.yml +++ b/quickstarts/synthetics/availability/config.yml @@ -23,8 +23,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-availability dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/endpoint-availability/config.yml b/quickstarts/synthetics/endpoint-availability/config.yml index 297c15c962..82d42c33d9 100644 --- a/quickstarts/synthetics/endpoint-availability/config.yml +++ b/quickstarts/synthetics/endpoint-availability/config.yml @@ -20,8 +20,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-endpoint-availability dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/page-link-crawler/config.yml b/quickstarts/synthetics/page-link-crawler/config.yml index 5bdac41246..a73c370c70 100644 --- a/quickstarts/synthetics/page-link-crawler/config.yml +++ b/quickstarts/synthetics/page-link-crawler/config.yml @@ -30,8 +30,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-page-link-crawler dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/page-load-performance/config.yml b/quickstarts/synthetics/page-load-performance/config.yml index a5795c3541..eb9a0dbd32 100644 --- a/quickstarts/synthetics/page-load-performance/config.yml +++ b/quickstarts/synthetics/page-load-performance/config.yml @@ -23,8 +23,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-page-load-performance dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/private-locations/config.yml b/quickstarts/synthetics/private-locations/config.yml index 87798cbe0c..7bdee44354 100644 --- a/quickstarts/synthetics/private-locations/config.yml +++ b/quickstarts/synthetics/private-locations/config.yml @@ -36,8 +36,6 @@ keywords: - minion - minion dashboard - synthetics -installPlans: - - synthetics-private-locations dataSourceIds: - synthetics-private-locations documentation: @@ -48,4 +46,3 @@ icon: logo.svg website: https://www.newrelic.com dashboards: - synthetics-private-minions - diff --git a/quickstarts/synthetics/ssl-certification-check/config.yml b/quickstarts/synthetics/ssl-certification-check/config.yml index e233d94420..b94c70c4de 100644 --- a/quickstarts/synthetics/ssl-certification-check/config.yml +++ b/quickstarts/synthetics/ssl-certification-check/config.yml @@ -20,8 +20,6 @@ keywords: - url - www - synthetics -installPlans: - - third-party-synthetics-ssl-certification-check dataSourceIds: - new-relic-synthetics documentation: diff --git a/quickstarts/synthetics/user-flow/config.yml b/quickstarts/synthetics/user-flow/config.yml index db1dbc420d..c7445e7ec9 100644 --- a/quickstarts/synthetics/user-flow/config.yml +++ b/quickstarts/synthetics/user-flow/config.yml @@ -26,8 +26,6 @@ documentation: - name: Getting started url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ description: Get started with synthetic monitoring -installPlans: - - third-party-synthetics-user-flow dataSourceIds: - new-relic-synthetics icon: logo.svg diff --git a/quickstarts/synthetics/user-step-execution/config.yml b/quickstarts/synthetics/user-step-execution/config.yml index 6de5f097c6..b5d8050d9f 100644 --- a/quickstarts/synthetics/user-step-execution/config.yml +++ b/quickstarts/synthetics/user-step-execution/config.yml @@ -38,8 +38,6 @@ documentation: - name: Getting started url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ description: Get started with synthetic monitoring -installPlans: - - third-party-synthetics-user-step-execution dataSourceIds: - new-relic-synthetics icon: logo.svg diff --git a/quickstarts/traefik/config.yml b/quickstarts/traefik/config.yml index 054c90ca9e..aa50dcc725 100644 --- a/quickstarts/traefik/config.yml +++ b/quickstarts/traefik/config.yml @@ -25,9 +25,6 @@ documentation: description: | Traefik Integration Documentation url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/integrations-list/traefik-integration -installPlans: - - setup-prometheus - - setup-prometheus-agent-mode dataSourceIds: - prometheus - prometheus-agent-mode diff --git a/quickstarts/trendmicro-cloudone-conformity/config.yml b/quickstarts/trendmicro-cloudone-conformity/config.yml index 67ff6e3b2d..0981c257eb 100644 --- a/quickstarts/trendmicro-cloudone-conformity/config.yml +++ b/quickstarts/trendmicro-cloudone-conformity/config.yml @@ -25,8 +25,6 @@ documentation: - name: Trend Micro blog post description: Learn more about the integration on Trend Micro's blog post url: https://www.trendmicro.com/en_us/devops/21/f/how-to-achieve-more-security-observability.html -installPlans: - - third-party-trendmicro-cloudone-conformity dataSourceIds: - trendmicro-cloudone-conformity keywords: diff --git a/quickstarts/trivy/config.yml b/quickstarts/trivy/config.yml index c89f170584..25b47f4495 100644 --- a/quickstarts/trivy/config.yml +++ b/quickstarts/trivy/config.yml @@ -8,7 +8,7 @@ description: |+ ### What is the Security Event API? - New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. + New Relic's Security Event API is a way to ingest security scanner data into New Relic's Vulnerability Management platform. ### Get started! @@ -24,7 +24,7 @@ description: |+ ### More info - Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. + Check out the [documentation](https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api) to learn more about our Security Event API. summary: Ingest Trivy vulnerability data into New Relic by using Security Event API level: New Relic @@ -34,8 +34,6 @@ keywords: - vulnerability management - security - trivy -installPlans: - - trivy-api-install dataSourceIds: - trivy documentation: diff --git a/quickstarts/tvos/config.yml b/quickstarts/tvos/config.yml index 2d9f5f4548..f5f3dc3bc3 100644 --- a/quickstarts/tvos/config.yml +++ b/quickstarts/tvos/config.yml @@ -21,10 +21,7 @@ documentation: Default operating system for Apple media streaming devices, including the Apple TV. url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/tvos/tvos-installation-configuration -installPlans: - - tvos-mobile dataSourceIds: - tvos-mobile keywords: - mobile - diff --git a/quickstarts/ubuntu/config.yml b/quickstarts/ubuntu/config.yml index c91e86ba1b..c88be5e926 100644 --- a/quickstarts/ubuntu/config.yml +++ b/quickstarts/ubuntu/config.yml @@ -24,7 +24,5 @@ documentation: keywords: - os - operating system -installPlans: - - guided-install dataSourceIds: - guided-install diff --git a/quickstarts/unix/config.yml b/quickstarts/unix/config.yml index 2592b574e5..f33490ebab 100644 --- a/quickstarts/unix/config.yml +++ b/quickstarts/unix/config.yml @@ -17,8 +17,6 @@ documentation: The Unix monitoring integration allows for system-level monitoring of AIX, Linux, macOS, Solaris/SunOS and other Unix-based servers. url: https://docs.newrelic.com/docs/integrations/host-integrations/open-source-host-integrations-list/unix-monitoring-open-source-integration -installPlans: - - third-party-unix dataSourceIds: - unix dashboards: diff --git a/quickstarts/varnish/config.yml b/quickstarts/varnish/config.yml index 427c554f78..a053916487 100644 --- a/quickstarts/varnish/config.yml +++ b/quickstarts/varnish/config.yml @@ -36,8 +36,6 @@ documentation: description: | Reverse caching proxy for HTTP built to accelerate web application performance. url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/varnish-cache-monitoring-integration/ -installPlans: - - varnish-cache-integration dataSourceIds: - varnish keywords: diff --git a/quickstarts/velero-prometheus/config.yml b/quickstarts/velero-prometheus/config.yml index 69bd8abb8c..6b44d43a30 100644 --- a/quickstarts/velero-prometheus/config.yml +++ b/quickstarts/velero-prometheus/config.yml @@ -10,14 +10,14 @@ description: |+ ### New Relic - a perfect tool to monitor Velero using Prometheus. - Velero has become an important part of Kubernetes architectures, providing features to ensure continuity of state during disaster recover, and ease the burden of systems migration. + Velero has become an important part of Kubernetes architectures, providing features to ensure continuity of state during disaster recover, and ease the burden of systems migration. Using the [New Relic Prometheus Remote-Write](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-remote-write/set-your-prometheus-remote-write-integration/) integration you can deliver your critical Velero metrics from your internally supported instance of Prometheus directly to New Relic where the rest of your observability data resides. ### New Relic Velero quickstart features Our Velero Quickstart include out-of-the-box dashboards and alerts, including data such as: - - Overview Schedules (# successes, # failures) + charts with duration and sizes of backups + - Overview Schedules (# successes, # failures) + charts with duration and sizes of backups ### Value of the Velero (Prometheus) quickstart @@ -36,8 +36,6 @@ keywords: - kubernetes - disaster recovery - featured -installPlans: - - setup-prometheus dataSourceIds: - prometheus documentation: diff --git a/quickstarts/vercel/config.yml b/quickstarts/vercel/config.yml index 9561f27f04..3637e7be6b 100644 --- a/quickstarts/vercel/config.yml +++ b/quickstarts/vercel/config.yml @@ -61,8 +61,6 @@ keywords: # Reference to install plans located under /install directory # Allows us to construct reusable "install plans" and just use their ID in the quickstart config -installPlans: - - third-party-vercel dataSourceIds: - vercel documentation: diff --git a/quickstarts/video/video-android/config.yml b/quickstarts/video/video-android/config.yml index 3b4b449f75..2f1c8b6d14 100644 --- a/quickstarts/video/video-android/config.yml +++ b/quickstarts/video/video-android/config.yml @@ -12,8 +12,6 @@ keywords: - video - tracking - Android -installPlans: - - third-party-video-android dataSourceIds: - video-android documentation: @@ -21,4 +19,3 @@ documentation: url: https://github.com/newrelic/video-agent-android description: Agent to monitor video applications for Android. icon: logo.svg - diff --git a/quickstarts/video/video-chromecast/config.yml b/quickstarts/video/video-chromecast/config.yml index 51444a49a1..3b4ac01f08 100644 --- a/quickstarts/video/video-chromecast/config.yml +++ b/quickstarts/video/video-chromecast/config.yml @@ -17,7 +17,5 @@ documentation: url: https://github.com/newrelic/video-caf-js description: Agent to monitor video applications for Chromecast. icon: logo.svg -installPlans: - - third-party-video-chromecast dataSourceIds: - video-chromecast diff --git a/quickstarts/video/video-ios-tvos/config.yml b/quickstarts/video/video-ios-tvos/config.yml index da3bc6271a..4143b5bfdf 100644 --- a/quickstarts/video/video-ios-tvos/config.yml +++ b/quickstarts/video/video-ios-tvos/config.yml @@ -18,7 +18,5 @@ documentation: url: https://github.com/newrelic/video-agent-iOS description: Agent to monitor video applications for iOS and tvOS. icon: logo.png -installPlans: - - third-party-video-ios-tvos dataSourceIds: - video-ios-tvos diff --git a/quickstarts/video/video-web/video-web-akamai/config.yml b/quickstarts/video/video-web/video-web-akamai/config.yml index c7555c2939..0216f37b32 100644 --- a/quickstarts/video/video-web/video-web-akamai/config.yml +++ b/quickstarts/video/video-web/video-web-akamai/config.yml @@ -34,9 +34,6 @@ documentation: - name: Video Akamai Installation Docs url: https://github.com/newrelic/video-akamai-js description: Agent to monitor video applications using Akamai player. -installPlans: - - browser-docs - - video-web-akamai dataSourceIds: - new-relic-browser - video-web-akamai diff --git a/quickstarts/video/video-web/video-web-html5/config.yml b/quickstarts/video/video-web/video-web-html5/config.yml index d06327f647..b692fb9f94 100644 --- a/quickstarts/video/video-web/video-web-html5/config.yml +++ b/quickstarts/video/video-web/video-web-html5/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video HTML5 Installation Docs url: https://github.com/newrelic/video-html5-js description: Agent to monitor video applications using HTML5 player. -installPlans: - - browser-docs - - video-web-html5 dataSourceIds: - new-relic-browser - video-web-html5 diff --git a/quickstarts/video/video-web/video-web-jwplayer/config.yml b/quickstarts/video/video-web/video-web-jwplayer/config.yml index 6527ce6470..a6bfc0503f 100644 --- a/quickstarts/video/video-web/video-web-jwplayer/config.yml +++ b/quickstarts/video/video-web/video-web-jwplayer/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video JWPlayer Installation Docs url: https://github.com/newrelic/video-jwplayer-js description: Agent to monitor video applications using JWPlayer. -installPlans: - - browser-docs - - video-web-jwplayer dataSourceIds: - new-relic-browser - video-web-jwplayer diff --git a/quickstarts/video/video-web/video-web-theplatform/config.yml b/quickstarts/video/video-web/video-web-theplatform/config.yml index f07472ee9e..0813adcde2 100644 --- a/quickstarts/video/video-web/video-web-theplatform/config.yml +++ b/quickstarts/video/video-web/video-web-theplatform/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video The Platform Installation Docs url: https://github.com/newrelic/video-theplatform-js description: Agent to monitor video applications using The Platform player. -installPlans: - - browser-docs - - video-web-theplatform dataSourceIds: - new-relic-browser - video-web-theplatform diff --git a/quickstarts/video/video-web/video-web-videojs/config.yml b/quickstarts/video/video-web/video-web-videojs/config.yml index 539adc69e0..f3828fad57 100644 --- a/quickstarts/video/video-web/video-web-videojs/config.yml +++ b/quickstarts/video/video-web/video-web-videojs/config.yml @@ -16,9 +16,6 @@ documentation: - name: Video VideoJS Installation Docs url: https://github.com/newrelic/video-videojs-js description: Agent to monitor video applications using VideoJS player. -installPlans: - - browser-docs - - video-web-videojs dataSourceIds: - new-relic-browser - video-web-videojs diff --git a/quickstarts/vmware/vmware-tanzu/config.yml b/quickstarts/vmware/vmware-tanzu/config.yml index a87fc4c37c..69b072aa77 100644 --- a/quickstarts/vmware/vmware-tanzu/config.yml +++ b/quickstarts/vmware/vmware-tanzu/config.yml @@ -15,7 +15,5 @@ keywords: - infrastructure - kubernetes - k8s -installPlans: - - third-party-vmware-tanzu dataSourceIds: - vmware-tanzu diff --git a/quickstarts/vmware/vmware-vsphere/config.yml b/quickstarts/vmware/vmware-vsphere/config.yml index 1db5d523c7..06858fc8f4 100644 --- a/quickstarts/vmware/vmware-vsphere/config.yml +++ b/quickstarts/vmware/vmware-vsphere/config.yml @@ -16,8 +16,6 @@ keywords: - vsphere - esxi - vcenter -installPlans: - - vsphere-integration dataSourceIds: - vmware-vsphere alertPolicies: diff --git a/quickstarts/windows/windows-desktop/config.yml b/quickstarts/windows/windows-desktop/config.yml index 0e160baa0c..c3653ed522 100644 --- a/quickstarts/windows/windows-desktop/config.yml +++ b/quickstarts/windows/windows-desktop/config.yml @@ -24,8 +24,6 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure -installPlans: - - guided-install dataSourceIds: - guided-install icon: logo.svg diff --git a/quickstarts/windows/windows-server/config.yml b/quickstarts/windows/windows-server/config.yml index d2adf4ae6a..3acefae5b9 100644 --- a/quickstarts/windows/windows-server/config.yml +++ b/quickstarts/windows/windows-server/config.yml @@ -24,8 +24,6 @@ documentation: - name: Get started with infrastructure monitoring url: https://docs.newrelic.com/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/ description: Learn more about New Relic infrastructure -installPlans: - - guided-install dataSourceIds: - guided-install icon: logo.svg diff --git a/quickstarts/winservices/config.yml b/quickstarts/winservices/config.yml index c1818f500b..ae2d28ffca 100644 --- a/quickstarts/winservices/config.yml +++ b/quickstarts/winservices/config.yml @@ -4,15 +4,15 @@ title: Windows Services description: | ## Windows Services - New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. + New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. You can check the state and start mode of each service, find out which hosts are running a service, set up alerts for services, and more. Our integration is bundled with the Windows infrastructure agent. If you're monitoring Windows hosts on New Relic, you only need to enable the integration to get Windows services data into our platform. ### Why it matters - Microsoft Windows services are the Windows equivalent of daemons in Unix and Linux: - long-running executables that can be started, stopped, paused, and restarted without a graphical interface. + Microsoft Windows services are the Windows equivalent of daemons in Unix and Linux: + long-running executables that can be started, stopped, paused, and restarted without a graphical interface. Knowing which services are enabled, or their state or health, is essential when monitoring Windows infrastructure. @@ -38,10 +38,8 @@ authors: documentation: - name: Windows Services monitoring integration description: | - New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. + New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/windows-services-integration/ -installPlans: - - winservices-integration-docs dataSourceIds: - winservices-integration-docs dashboards: diff --git a/quickstarts/wordpress/config.yml b/quickstarts/wordpress/config.yml index 86bda0b2d4..d3f49f191f 100644 --- a/quickstarts/wordpress/config.yml +++ b/quickstarts/wordpress/config.yml @@ -30,8 +30,6 @@ documentation: Monitoring for the self-hosted version of the popular CMS and blogging tool. url: https://docs.newrelic.com/docs/agents/php-agent/getting-started/php-agent-compatibility-requirements -installPlans: - - php-agent dataSourceIds: - php keywords: diff --git a/quickstarts/xamarin/config.yml b/quickstarts/xamarin/config.yml index 17edd25042..65d63fc44d 100644 --- a/quickstarts/xamarin/config.yml +++ b/quickstarts/xamarin/config.yml @@ -16,8 +16,6 @@ keywords: - xamarin - hybrid mobile - C-sharp mobile -installPlans: - - third-party-xamarin dataSourceIds: - xamarin documentation: diff --git a/quickstarts/xmatters/config.yml b/quickstarts/xmatters/config.yml index 680e459f01..dd12088b6d 100644 --- a/quickstarts/xmatters/config.yml +++ b/quickstarts/xmatters/config.yml @@ -27,7 +27,5 @@ documentation: keywords: - xmatters - alerts -installPlans: - - third-party-xmatters dataSourceIds: - xmatters diff --git a/quickstarts/zebrium/config.yml b/quickstarts/zebrium/config.yml index a7a788a132..b7e4d3d1e7 100644 --- a/quickstarts/zebrium/config.yml +++ b/quickstarts/zebrium/config.yml @@ -9,7 +9,7 @@ description: | ### How to use Zebrium - - Send your logs to Zebrium by installing an open source log collector (Zebrium does not retain your logs, it analyzes them inline). + - Send your logs to Zebrium by installing an open source log collector (Zebrium does not retain your logs, it analyzes them inline). - When you know there is a problem, simply look at the Zebrium dashboard and you will see root cause indicators to explain what happened ### Benefits @@ -42,8 +42,6 @@ keywords: - sre - NR1_addData - NR1_sys -installPlans: - - third-party-zebrium dataSourceIds: - zebrium documentation: diff --git a/quickstarts/zenduty/config.yml b/quickstarts/zenduty/config.yml index 77ecf69929..ffdbc68006 100644 --- a/quickstarts/zenduty/config.yml +++ b/quickstarts/zenduty/config.yml @@ -14,7 +14,7 @@ description: | Check out the [Zenduty documentation](https://docs.zenduty.com/docs/newrelic) to learn how to setup best in class alerts around the New Relic APM. summary: | - Zenduty provides robust incident response, automation and notification abilities when you send your New Relic alerts to Zenduty. + Zenduty provides robust incident response, automation and notification abilities when you send your New Relic alerts to Zenduty. level: Community authors: - Zenduty @@ -34,7 +34,5 @@ documentation: description: Send your New Relic alerts to Zenduty icon: logo.png website: https://www.zenduty.com -installPlans: - - third-party-zenduty dataSourceIds: - zenduty diff --git a/quickstarts/zipkin/config.yml b/quickstarts/zipkin/config.yml index a7be8929cd..5c9e02932c 100644 --- a/quickstarts/zipkin/config.yml +++ b/quickstarts/zipkin/config.yml @@ -23,7 +23,5 @@ documentation: keywords: - tracing - apm -installPlans: - - third-party-zipkin dataSourceIds: - zipkin From 82a37271bdc0c6e55c60a116faebef71211f5127 Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Mon, 26 Aug 2024 15:13:01 -0700 Subject: [PATCH 23/43] chore: Delete `install/` directory --- install/apm/apm-logs/install.yml | 17 ----------- install/apm/c/install.yml | 18 ------------ install/apm/dotnet/multi-os/install.yml | 21 -------------- install/apm/dotnet/windows-only/install.yml | 20 ------------- install/apm/elixir/install.yml | 13 --------- install/apm/go/install.yml | 18 ------------ install/apm/java/nerdlet-only/install.yml | 18 ------------ install/apm/java/targeted-install/install.yml | 18 ------------ install/apm/node/install.yml | 22 --------------- install/apm/php/nerdlet-only/install.yml | 20 ------------- install/apm/php/targeted-install/install.yml | 20 ------------- install/apm/python/install.yml | 18 ------------ install/apm/ruby/install.yml | 18 ------------ .../amazon-cloudfront-web-logs/install.yml | 14 ---------- install/aws/aws-apprunner/install.yml | 14 ---------- .../aws-cloudwatch-metric-streams/install.yml | 14 ---------- .../aws-infrastructure-monitoring/install.yml | 14 ---------- .../install.yml | 14 ---------- install/aws/aws-log-ingestion-s3/install.yml | 15 ---------- install/aws/aws-security-hub/install.yml | 14 ---------- install/aws/aws-security-lake/install.yml | 13 --------- install/aws/aws-verified-access/install.yml | 14 ---------- install/aws/aws-vpc-flow-logs/install.yml | 19 ------------- .../install.yml | 14 ---------- install/battlesnake/install.yml | 17 ----------- install/blazor-server/install.yml | 16 ----------- install/blazor-webassembly/install.yml | 16 ----------- install/browser/browser-docs/install.yml | 14 ---------- install/change-tracking/install.yml | 16 ----------- .../gatsby/gatsby-build-newrelic/install.yml | 13 --------- install/gcp/cloud-spanner/install.yml | 14 ---------- .../gcp-infrastructure-monitoring/install.yml | 14 ---------- install/guided-install/default/install.yml | 13 --------- install/guided-install/kubernetes/install.yml | 18 ------------ .../infra-agent-targeted/install.yml | 22 --------------- install/logs/default/install.yml | 13 --------- install/logs/heroku/install.yml | 13 --------- install/mlops/aporia/install.yml | 25 ----------------- install/mlops/comet/install.yml | 19 ------------- install/mlops/dagshub/install.yml | 18 ------------ install/mlops/mona/install.yml | 23 --------------- install/mlops/truera/install.yml | 16 ----------- install/mobile-crash-analytics/install.yml | 17 ----------- install/mobile-dashboard/install.yml | 28 ------------------- .../mobile-network-performance/install.yml | 17 ----------- install/mobile/android/install.yml | 14 ---------- install/mobile/ios/install.yml | 14 ---------- install/mobile/tvos/install.yml | 14 ---------- install/network/ciscoHardware/install.yml | 13 --------- install/network/npm/install.yml | 13 --------- install/network/snmp/install.yml | 21 -------------- install/network/syslog/install.yml | 21 -------------- install/nextcloud/install.yml | 15 ---------- .../on-host-integration/apache/install.yml | 21 -------------- .../on-host-integration/cassandra/install.yml | 16 ----------- .../on-host-integration/couchbase/install.yml | 21 -------------- .../elasticsearch/install.yml | 16 ----------- .../on-host-integration/haproxy/install.yml | 16 ----------- .../hashicorp-consul/install.yml | 21 -------------- .../on-host-integration/hivemq/install.yml | 16 ----------- .../on-host-integration/ibm-mq/install.yml | 16 ----------- install/on-host-integration/jmx/install.yml | 14 ---------- install/on-host-integration/kafka/install.yml | 14 ---------- .../on-host-integration/memcached/install.yml | 21 -------------- .../on-host-integration/mongodb/install.yml | 21 -------------- install/on-host-integration/mssql/install.yml | 21 -------------- install/on-host-integration/mysql/install.yml | 21 -------------- .../on-host-integration/nagios/install.yml | 16 ----------- install/on-host-integration/nginx/install.yml | 21 -------------- .../on-host-integration/postgres/install.yml | 21 -------------- .../on-host-integration/rabbitmq/install.yml | 21 -------------- install/on-host-integration/redis/install.yml | 21 -------------- install/on-host-integration/squid/install.yml | 16 ----------- .../on-host-integration/sybase/install.yml | 14 ---------- .../on-host-integration/varnish/install.yml | 16 ----------- .../on-host-integration/vsphere/install.yml | 14 ---------- .../winservices/install.yml | 20 ------------- .../prometheus/install.yml | 18 ------------ install/prometheus-agent-mode/install.yml | 13 --------- install/redisenterprise/install.yml | 14 ---------- install/security/install.yml | 14 ---------- install/solutions-hub/dashboards/install.yml | 14 ---------- .../synthetics/private-locations/install.yml | 17 ----------- install/telemetry-data-platform/install.yml | 13 --------- install/third-party/Contentsquare/install.yml | 19 ------------- install/third-party/ads-web-gpt/install.yml | 13 --------- .../third-party/ads-web-prebid/install.yml | 14 ---------- .../amazon-eks-on-aws-fargate/install.yml | 15 ---------- install/third-party/ansible/install.yml | 14 ---------- install/third-party/apigee-api/install.yml | 15 ---------- .../third-party/atlassian-jira/install.yml | 15 ---------- .../audit-events-analysis/install.yml | 14 ---------- .../install.yml | 14 ---------- .../aws-firelens-plugin-for-logs/install.yml | 14 ---------- .../azure-virtual-machines/install.yml | 13 --------- install/third-party/bitbucket/install.yml | 14 ---------- install/third-party/biztalk360/install.yml | 15 ---------- install/third-party/blameless/install.yml | 14 ---------- .../third-party/bring-your-own/install.yml | 14 ---------- .../browser-segment-investigation/install.yml | 13 --------- install/third-party/camel/install.yml | 15 ---------- install/third-party/catchpoint/install.yml | 14 ---------- install/third-party/chef/install.yml | 14 ---------- install/third-party/circleci/install.yml | 14 ---------- install/third-party/cli/install.yml | 14 ---------- install/third-party/cloudflare/install.yml | 13 --------- .../third-party/confluent-cloud/install.yml | 14 ---------- install/third-party/cordova/install.yml | 14 ---------- install/third-party/coredns/install.yml | 14 ---------- install/third-party/cribl-stream/install.yml | 19 ------------- install/third-party/dapr/install.yml | 13 --------- install/third-party/databricks/install.yml | 16 ----------- .../datastream2-akamai/install.yml | 14 ---------- install/third-party/datazoom/install.yml | 14 ---------- install/third-party/dbmarlin/install.yml | 13 --------- .../third-party/deeper-network/install.yml | 14 ---------- install/third-party/delphix/install.yml | 14 ---------- install/third-party/docker/install.yml | 14 ---------- install/third-party/dropwizard/install.yml | 13 --------- .../third-party/ejb-session-beans/install.yml | 13 --------- .../elasticsearch-query/install.yml | 15 ---------- install/third-party/event-api/install.yml | 14 ---------- install/third-party/f5/install.yml | 14 ---------- install/third-party/fastly/install.yml | 16 ----------- .../fluent-bit-plugin-for-logs/install.yml | 15 ---------- .../fluentd-plugin-for-logs/install.yml | 20 ------------- install/third-party/full-story/install.yml | 15 ---------- install/third-party/gcp-pubsub/install.yml | 15 ---------- .../gigamon-appinsights/install.yml | 18 ------------ install/third-party/gigamon/install.yml | 14 ---------- install/third-party/github/install.yml | 13 --------- install/third-party/gitlab/install.yml | 14 ---------- install/third-party/glassbox/install.yml | 14 ---------- .../grafana-dashboard-migration/install.yml | 14 ---------- .../install.yml | 14 ---------- .../hashicorp-hcp-consul/install.yml | 16 ----------- install/third-party/hcp-vault/install.yml | 16 ----------- .../inet-oracle-driver/install.yml | 14 ---------- .../third-party/jdbc-executebatch/install.yml | 14 ---------- install/third-party/jenkins/install.yml | 14 ---------- .../third-party/jfrog-platform/install.yml | 14 ---------- install/third-party/jira-errors/install.yml | 14 ---------- install/third-party/kamon/install.yml | 14 ---------- install/third-party/kentik/install.yml | 14 ---------- install/third-party/lacework/install.yml | 14 ---------- install/third-party/launchdarkly/install.yml | 15 ---------- install/third-party/lighthouse/install.yml | 14 ---------- install/third-party/logs/install.yml | 14 ---------- .../logstash-plugin-for-logs/install.yml | 15 ---------- install/third-party/metric/install.yml | 14 ---------- install/third-party/micrometer/install.yml | 14 ---------- .../third-party/mssql-queryplan/install.yml | 14 ---------- .../third-party/netlify-builds/install.yml | 14 ---------- install/third-party/netlify-logs/install.yml | 14 ---------- install/third-party/nginx-ingress/install.yml | 14 ---------- .../observability-as-code/puppet/install.yml | 14 ---------- install/third-party/okhttp/install.yml | 15 ---------- install/third-party/oma-aqm/install.yml | 14 ---------- install/third-party/oma-bofu/install.yml | 14 ---------- install/third-party/oma-qf/install.yml | 14 ---------- install/third-party/opencensus/install.yml | 15 ---------- install/third-party/opentelemetry/install.yml | 14 ---------- .../third-party/oracle-database/install.yml | 15 ---------- install/third-party/pagerduty/install.yml | 14 ---------- install/third-party/perfmon/install.yml | 15 ---------- .../third-party/port-monitoring/install.yml | 14 ---------- install/third-party/postman/install.yml | 14 ---------- install/third-party/pulumi/install.yml | 14 ---------- .../third-party/quantum-metric/install.yml | 15 ---------- install/third-party/react-native/install.yml | 14 ---------- .../redhat/red-hat-openshift/install.yml | 14 ---------- install/third-party/releaseiq/install.yml | 14 ---------- .../roku-http-analytics/install.yml | 13 --------- install/third-party/roku/install.yml | 13 --------- .../salesforce-eventlog-for-logs/install.yml | 14 ---------- install/third-party/sendgrid/install.yml | 14 ---------- install/third-party/signl4/install.yml | 15 ---------- install/third-party/snmp/install.yml | 14 ---------- install/third-party/snyk/install.yml | 13 --------- install/third-party/speedscale/install.yml | 14 ---------- install/third-party/split/install.yml | 15 ---------- install/third-party/statsd/install.yml | 15 ---------- .../synthetics-availability/install.yml | 13 --------- .../install.yml | 13 --------- .../synthetics-page-link-crawler/install.yml | 13 --------- .../install.yml | 13 --------- .../install.yml | 13 --------- install/third-party/terraform/install.yml | 14 ---------- install/third-party/trace/install.yml | 14 ---------- .../install.yml | 18 ------------ install/third-party/unix/install.yml | 15 ---------- install/third-party/user-flow/install.yml | 14 ---------- .../user-step-execution/install.yml | 14 ---------- install/third-party/vercel/install.yml | 12 -------- install/third-party/video-android/install.yml | 14 ---------- .../third-party/video-chromecast/install.yml | 14 ---------- .../third-party/video-ios-tvos/install.yml | 14 ---------- install/third-party/vmware-tanzu/install.yml | 13 --------- install/third-party/xMatters/install.yml | 14 ---------- install/third-party/xamarin/install.yml | 13 --------- install/third-party/zebrium/install.yml | 14 ---------- install/third-party/zenduty/install.yml | 14 ---------- install/third-party/zipkin/install.yml | 13 --------- install/trivy/install.yml | 14 ---------- install/video/akamai/install.yml | 14 ---------- install/video/html5/install.yml | 14 ---------- install/video/jwplayer/install.yml | 14 ---------- install/video/theplatform/install.yml | 14 ---------- install/video/videojs/install.yml | 14 ---------- 209 files changed, 3205 deletions(-) delete mode 100644 install/apm/apm-logs/install.yml delete mode 100644 install/apm/c/install.yml delete mode 100644 install/apm/dotnet/multi-os/install.yml delete mode 100644 install/apm/dotnet/windows-only/install.yml delete mode 100644 install/apm/elixir/install.yml delete mode 100644 install/apm/go/install.yml delete mode 100644 install/apm/java/nerdlet-only/install.yml delete mode 100644 install/apm/java/targeted-install/install.yml delete mode 100644 install/apm/node/install.yml delete mode 100644 install/apm/php/nerdlet-only/install.yml delete mode 100644 install/apm/php/targeted-install/install.yml delete mode 100644 install/apm/python/install.yml delete mode 100644 install/apm/ruby/install.yml delete mode 100644 install/aws/amazon-cloudfront-web-logs/install.yml delete mode 100644 install/aws/aws-apprunner/install.yml delete mode 100644 install/aws/aws-cloudwatch-metric-streams/install.yml delete mode 100644 install/aws/aws-infrastructure-monitoring/install.yml delete mode 100644 install/aws/aws-lambda-telemetry-extension/install.yml delete mode 100644 install/aws/aws-log-ingestion-s3/install.yml delete mode 100644 install/aws/aws-security-hub/install.yml delete mode 100644 install/aws/aws-security-lake/install.yml delete mode 100644 install/aws/aws-verified-access/install.yml delete mode 100644 install/aws/aws-vpc-flow-logs/install.yml delete mode 100644 install/azure/azure-infrastructure-monitoring/install.yml delete mode 100644 install/battlesnake/install.yml delete mode 100644 install/blazor-server/install.yml delete mode 100644 install/blazor-webassembly/install.yml delete mode 100644 install/browser/browser-docs/install.yml delete mode 100644 install/change-tracking/install.yml delete mode 100644 install/gatsby/gatsby-build-newrelic/install.yml delete mode 100644 install/gcp/cloud-spanner/install.yml delete mode 100644 install/gcp/gcp-infrastructure-monitoring/install.yml delete mode 100644 install/guided-install/default/install.yml delete mode 100644 install/guided-install/kubernetes/install.yml delete mode 100644 install/infrastructure/infra-agent-targeted/install.yml delete mode 100644 install/logs/default/install.yml delete mode 100644 install/logs/heroku/install.yml delete mode 100644 install/mlops/aporia/install.yml delete mode 100644 install/mlops/comet/install.yml delete mode 100644 install/mlops/dagshub/install.yml delete mode 100644 install/mlops/mona/install.yml delete mode 100644 install/mlops/truera/install.yml delete mode 100644 install/mobile-crash-analytics/install.yml delete mode 100644 install/mobile-dashboard/install.yml delete mode 100644 install/mobile-network-performance/install.yml delete mode 100644 install/mobile/android/install.yml delete mode 100644 install/mobile/ios/install.yml delete mode 100644 install/mobile/tvos/install.yml delete mode 100644 install/network/ciscoHardware/install.yml delete mode 100644 install/network/npm/install.yml delete mode 100644 install/network/snmp/install.yml delete mode 100644 install/network/syslog/install.yml delete mode 100644 install/nextcloud/install.yml delete mode 100644 install/on-host-integration/apache/install.yml delete mode 100644 install/on-host-integration/cassandra/install.yml delete mode 100644 install/on-host-integration/couchbase/install.yml delete mode 100644 install/on-host-integration/elasticsearch/install.yml delete mode 100644 install/on-host-integration/haproxy/install.yml delete mode 100644 install/on-host-integration/hashicorp-consul/install.yml delete mode 100644 install/on-host-integration/hivemq/install.yml delete mode 100644 install/on-host-integration/ibm-mq/install.yml delete mode 100644 install/on-host-integration/jmx/install.yml delete mode 100644 install/on-host-integration/kafka/install.yml delete mode 100644 install/on-host-integration/memcached/install.yml delete mode 100644 install/on-host-integration/mongodb/install.yml delete mode 100644 install/on-host-integration/mssql/install.yml delete mode 100644 install/on-host-integration/mysql/install.yml delete mode 100644 install/on-host-integration/nagios/install.yml delete mode 100644 install/on-host-integration/nginx/install.yml delete mode 100644 install/on-host-integration/postgres/install.yml delete mode 100644 install/on-host-integration/rabbitmq/install.yml delete mode 100644 install/on-host-integration/redis/install.yml delete mode 100644 install/on-host-integration/squid/install.yml delete mode 100644 install/on-host-integration/sybase/install.yml delete mode 100644 install/on-host-integration/varnish/install.yml delete mode 100644 install/on-host-integration/vsphere/install.yml delete mode 100644 install/on-host-integration/winservices/install.yml delete mode 100644 install/open-source-monitoring/prometheus/install.yml delete mode 100644 install/prometheus-agent-mode/install.yml delete mode 100644 install/redisenterprise/install.yml delete mode 100644 install/security/install.yml delete mode 100644 install/solutions-hub/dashboards/install.yml delete mode 100644 install/synthetics/private-locations/install.yml delete mode 100644 install/telemetry-data-platform/install.yml delete mode 100644 install/third-party/Contentsquare/install.yml delete mode 100644 install/third-party/ads-web-gpt/install.yml delete mode 100644 install/third-party/ads-web-prebid/install.yml delete mode 100644 install/third-party/amazon-eks-on-aws-fargate/install.yml delete mode 100644 install/third-party/ansible/install.yml delete mode 100644 install/third-party/apigee-api/install.yml delete mode 100644 install/third-party/atlassian-jira/install.yml delete mode 100644 install/third-party/audit-events-analysis/install.yml delete mode 100644 install/third-party/aws-cloudwatch-plugin-for-logs/install.yml delete mode 100644 install/third-party/aws-firelens-plugin-for-logs/install.yml delete mode 100644 install/third-party/azure-virtual-machines/install.yml delete mode 100644 install/third-party/bitbucket/install.yml delete mode 100644 install/third-party/biztalk360/install.yml delete mode 100644 install/third-party/blameless/install.yml delete mode 100644 install/third-party/bring-your-own/install.yml delete mode 100644 install/third-party/browser-segment-investigation/install.yml delete mode 100644 install/third-party/camel/install.yml delete mode 100644 install/third-party/catchpoint/install.yml delete mode 100644 install/third-party/chef/install.yml delete mode 100644 install/third-party/circleci/install.yml delete mode 100644 install/third-party/cli/install.yml delete mode 100644 install/third-party/cloudflare/install.yml delete mode 100644 install/third-party/confluent-cloud/install.yml delete mode 100644 install/third-party/cordova/install.yml delete mode 100644 install/third-party/coredns/install.yml delete mode 100644 install/third-party/cribl-stream/install.yml delete mode 100644 install/third-party/dapr/install.yml delete mode 100644 install/third-party/databricks/install.yml delete mode 100644 install/third-party/datastream2-akamai/install.yml delete mode 100644 install/third-party/datazoom/install.yml delete mode 100644 install/third-party/dbmarlin/install.yml delete mode 100644 install/third-party/deeper-network/install.yml delete mode 100644 install/third-party/delphix/install.yml delete mode 100644 install/third-party/docker/install.yml delete mode 100644 install/third-party/dropwizard/install.yml delete mode 100644 install/third-party/ejb-session-beans/install.yml delete mode 100644 install/third-party/elasticsearch-query/install.yml delete mode 100644 install/third-party/event-api/install.yml delete mode 100644 install/third-party/f5/install.yml delete mode 100644 install/third-party/fastly/install.yml delete mode 100644 install/third-party/fluent-bit-plugin-for-logs/install.yml delete mode 100644 install/third-party/fluentd-plugin-for-logs/install.yml delete mode 100644 install/third-party/full-story/install.yml delete mode 100644 install/third-party/gcp-pubsub/install.yml delete mode 100644 install/third-party/gigamon-appinsights/install.yml delete mode 100644 install/third-party/gigamon/install.yml delete mode 100644 install/third-party/github/install.yml delete mode 100644 install/third-party/gitlab/install.yml delete mode 100644 install/third-party/glassbox/install.yml delete mode 100644 install/third-party/grafana-dashboard-migration/install.yml delete mode 100644 install/third-party/grafana-prometheus-integration/install.yml delete mode 100644 install/third-party/hashicorp-hcp-consul/install.yml delete mode 100644 install/third-party/hcp-vault/install.yml delete mode 100644 install/third-party/inet-oracle-driver/install.yml delete mode 100644 install/third-party/jdbc-executebatch/install.yml delete mode 100644 install/third-party/jenkins/install.yml delete mode 100644 install/third-party/jfrog-platform/install.yml delete mode 100644 install/third-party/jira-errors/install.yml delete mode 100644 install/third-party/kamon/install.yml delete mode 100644 install/third-party/kentik/install.yml delete mode 100644 install/third-party/lacework/install.yml delete mode 100644 install/third-party/launchdarkly/install.yml delete mode 100644 install/third-party/lighthouse/install.yml delete mode 100644 install/third-party/logs/install.yml delete mode 100644 install/third-party/logstash-plugin-for-logs/install.yml delete mode 100644 install/third-party/metric/install.yml delete mode 100644 install/third-party/micrometer/install.yml delete mode 100644 install/third-party/mssql-queryplan/install.yml delete mode 100644 install/third-party/netlify-builds/install.yml delete mode 100644 install/third-party/netlify-logs/install.yml delete mode 100644 install/third-party/nginx-ingress/install.yml delete mode 100644 install/third-party/observability-as-code/puppet/install.yml delete mode 100644 install/third-party/okhttp/install.yml delete mode 100644 install/third-party/oma-aqm/install.yml delete mode 100644 install/third-party/oma-bofu/install.yml delete mode 100644 install/third-party/oma-qf/install.yml delete mode 100644 install/third-party/opencensus/install.yml delete mode 100644 install/third-party/opentelemetry/install.yml delete mode 100644 install/third-party/oracle-database/install.yml delete mode 100644 install/third-party/pagerduty/install.yml delete mode 100644 install/third-party/perfmon/install.yml delete mode 100644 install/third-party/port-monitoring/install.yml delete mode 100644 install/third-party/postman/install.yml delete mode 100644 install/third-party/pulumi/install.yml delete mode 100644 install/third-party/quantum-metric/install.yml delete mode 100644 install/third-party/react-native/install.yml delete mode 100644 install/third-party/redhat/red-hat-openshift/install.yml delete mode 100644 install/third-party/releaseiq/install.yml delete mode 100644 install/third-party/roku-http-analytics/install.yml delete mode 100644 install/third-party/roku/install.yml delete mode 100644 install/third-party/salesforce-eventlog-for-logs/install.yml delete mode 100644 install/third-party/sendgrid/install.yml delete mode 100644 install/third-party/signl4/install.yml delete mode 100644 install/third-party/snmp/install.yml delete mode 100644 install/third-party/snyk/install.yml delete mode 100644 install/third-party/speedscale/install.yml delete mode 100644 install/third-party/split/install.yml delete mode 100644 install/third-party/statsd/install.yml delete mode 100644 install/third-party/synthetics-availability/install.yml delete mode 100644 install/third-party/synthetics-endpoint-availability/install.yml delete mode 100644 install/third-party/synthetics-page-link-crawler/install.yml delete mode 100644 install/third-party/synthetics-page-load-performance/install.yml delete mode 100644 install/third-party/synthetics-ssl-certification-check/install.yml delete mode 100644 install/third-party/terraform/install.yml delete mode 100644 install/third-party/trace/install.yml delete mode 100644 install/third-party/trendmicro-cloudone-conformity/install.yml delete mode 100644 install/third-party/unix/install.yml delete mode 100644 install/third-party/user-flow/install.yml delete mode 100644 install/third-party/user-step-execution/install.yml delete mode 100644 install/third-party/vercel/install.yml delete mode 100644 install/third-party/video-android/install.yml delete mode 100644 install/third-party/video-chromecast/install.yml delete mode 100644 install/third-party/video-ios-tvos/install.yml delete mode 100644 install/third-party/vmware-tanzu/install.yml delete mode 100644 install/third-party/xMatters/install.yml delete mode 100644 install/third-party/xamarin/install.yml delete mode 100644 install/third-party/zebrium/install.yml delete mode 100644 install/third-party/zenduty/install.yml delete mode 100644 install/third-party/zipkin/install.yml delete mode 100644 install/trivy/install.yml delete mode 100644 install/video/akamai/install.yml delete mode 100644 install/video/html5/install.yml delete mode 100644 install/video/jwplayer/install.yml delete mode 100644 install/video/theplatform/install.yml delete mode 100644 install/video/videojs/install.yml diff --git a/install/apm/apm-logs/install.yml b/install/apm/apm-logs/install.yml deleted file mode 100644 index 0951f6b0f6..0000000000 --- a/install/apm/apm-logs/install.yml +++ /dev/null @@ -1,17 +0,0 @@ -id: apm-logs - -name: APM Logs Install - -title: New Relic curated dashboard for all (Full platform, core, and basic users) - -description: The purpose of this dashboard is being on the same page among full platform, core, and basic users. APM Logs provides similar dashboards of Infra, APM, Browser, Mobile, NPM, Alert, and usage for full platform users. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards/ diff --git a/install/apm/c/install.yml b/install/apm/c/install.yml deleted file mode 100644 index 52e6df31d5..0000000000 --- a/install/apm/c/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: setup-c-agent -name: C SDK agent -title: C SDK agent installation -description: Start monitoring the performance of a C application or service by installing the New Relic C SDK agent. - -target: - type: agent - destination: application - -install: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-c-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code/ diff --git a/install/apm/dotnet/multi-os/install.yml b/install/apm/dotnet/multi-os/install.yml deleted file mode 100644 index 2329ff4c2e..0000000000 --- a/install/apm/dotnet/multi-os/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: dotnet-agent -name: .NET agent -title: .NET agent installation -description: Start monitoring the performance of a .NET application or service by installing the New Relic .NET agent. - -target: - type: agent - destination: application - os: - - linux - - windows - -install: - mode: targetedInstall - destination: - recipeName: dotnet-agent-installer - -fallback: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-dotnet-integration diff --git a/install/apm/dotnet/windows-only/install.yml b/install/apm/dotnet/windows-only/install.yml deleted file mode 100644 index c29b22736e..0000000000 --- a/install/apm/dotnet/windows-only/install.yml +++ /dev/null @@ -1,20 +0,0 @@ -id: dotnet-windows-agent -name: .NET agent -title: .NET agent installation -description: Start monitoring the performance of a .NET application or service by installing the New Relic .NET agent. - -target: - type: agent - destination: application - os: - - windows - -install: - mode: targetedInstall - destination: - recipeName: dotnet-agent-installer - -fallback: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-dotnet-integration diff --git a/install/apm/elixir/install.yml b/install/apm/elixir/install.yml deleted file mode 100644 index 5502c190ba..0000000000 --- a/install/apm/elixir/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: setup-elixir-agent -name: Elixir agent -title: Elixir agent installation -description: Start monitoring the performance of an Elixir application or service by installing the New Relic Elixir agent. - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/open-source-telemetry-integrations/elixir/elixir-open-source-agent \ No newline at end of file diff --git a/install/apm/go/install.yml b/install/apm/go/install.yml deleted file mode 100644 index 92a7ecba5c..0000000000 --- a/install/apm/go/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: setup-go-agent -name: Go agent -title: Go agent installation -description: Start monitoring the performance of a Go application or service by installing the New Relic Go agent. - -target: - type: agent - destination: application - -install: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-go-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/agents/go-agent/installation/install-new-relic-go/ diff --git a/install/apm/java/nerdlet-only/install.yml b/install/apm/java/nerdlet-only/install.yml deleted file mode 100644 index 167e25fcfd..0000000000 --- a/install/apm/java/nerdlet-only/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: setup-java-agent -name: Java agent -title: Java agent installation -description: Start monitoring the performance of a Java application or service by installing the New Relic Java agent. - -target: - type: agent - destination: application - -install: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-java-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/agents/java-agent/installation/install-java-agent/ diff --git a/install/apm/java/targeted-install/install.yml b/install/apm/java/targeted-install/install.yml deleted file mode 100644 index e700f4bc17..0000000000 --- a/install/apm/java/targeted-install/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: setup-java-targeted-install -name: Java agent -title: Java agent installation -description: Start monitoring the performance of a Java application or service by installing the New Relic Java agent. - -target: - type: agent - destination: application - -install: - mode: targetedInstall - destination: - recipeName: java-agent-installer - -fallback: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-java-integration diff --git a/install/apm/node/install.yml b/install/apm/node/install.yml deleted file mode 100644 index 5ed55beb11..0000000000 --- a/install/apm/node/install.yml +++ /dev/null @@ -1,22 +0,0 @@ -id: node-agent -name: Node agent -title: Node agent installation -description: Start monitoring the performance of a Node application or service by installing the New Relic Node agent. - -target: - type: agent - destination: application - os: - - linux - -install: - mode: nerdlet - destination: - nerdletId: marketplace.install-data-source - nerdletState: - dataSourceId: node-js - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/#install diff --git a/install/apm/php/nerdlet-only/install.yml b/install/apm/php/nerdlet-only/install.yml deleted file mode 100644 index cb7eb5391a..0000000000 --- a/install/apm/php/nerdlet-only/install.yml +++ /dev/null @@ -1,20 +0,0 @@ -id: php-agent -name: PHP agent -title: PHP agent installation -description: Start monitoring the performance of a PHP application or service by installing the New Relic PHP agent. - -target: - type: agent - destination: application - os: - - linux - -install: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-php-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/apm/agents/php-agent/getting-started/introduction-new-relic-php/#installation \ No newline at end of file diff --git a/install/apm/php/targeted-install/install.yml b/install/apm/php/targeted-install/install.yml deleted file mode 100644 index ce145af4de..0000000000 --- a/install/apm/php/targeted-install/install.yml +++ /dev/null @@ -1,20 +0,0 @@ -id: php-targeted-install -name: PHP agent -title: PHP agent installation -description: Start monitoring the performance of a PHP application or service by installing the New Relic PHP agent. - -target: - type: agent - destination: application - os: - - linux - -install: - mode: targetedInstall - destination: - recipeName: php-agent-installer - -fallback: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-php-integration diff --git a/install/apm/python/install.yml b/install/apm/python/install.yml deleted file mode 100644 index 16f5e136ee..0000000000 --- a/install/apm/python/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: setup-python-agent -name: Python agent -title: Python agent installation -description: Start monitoring the performance of a Python application or service by installing the New Relic Python agent. - -target: - type: agent - destination: application - -install: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-python-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/agents/python-agent/installation/standard-python-agent-install/#install diff --git a/install/apm/ruby/install.yml b/install/apm/ruby/install.yml deleted file mode 100644 index 004e2aa88a..0000000000 --- a/install/apm/ruby/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: setup-ruby-agent -name: Ruby agent -title: Ruby agent installation -description: Start monitoring the performance of a Ruby application or service by installing the New Relic Ruby agent. - -target: - type: agent - destination: application - -install: - mode: nerdlet - destination: - nerdletId: setup-nerdlets.setup-ruby-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/agents/ruby-agent/getting-started/introduction-new-relic-ruby/#install diff --git a/install/aws/amazon-cloudfront-web-logs/install.yml b/install/aws/amazon-cloudfront-web-logs/install.yml deleted file mode 100644 index 57a9709e27..0000000000 --- a/install/aws/amazon-cloudfront-web-logs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: amazon-cloudfront-web-logs -name: Amazon-Cloudfront-Web-Logs -title: Amazon Cloudfront Web Logs -description: | - Monitor Amazon Cloudfront Web Logs with the New Relic log forwarding solution. -target: - type: unknown - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/logs/forward-logs/cloudfront-web-logs/ diff --git a/install/aws/aws-apprunner/install.yml b/install/aws/aws-apprunner/install.yml deleted file mode 100644 index bafc7d592c..0000000000 --- a/install/aws/aws-apprunner/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: aws-apprunner -name: AWS-Apprunner -title: AWS Apprunner -description: | - AWS Apprunner Containerized Services -target: - type: unknown - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-apprunner diff --git a/install/aws/aws-cloudwatch-metric-streams/install.yml b/install/aws/aws-cloudwatch-metric-streams/install.yml deleted file mode 100644 index 3c0978aadc..0000000000 --- a/install/aws/aws-cloudwatch-metric-streams/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: aws-cloudwatch-metric-streams -name: AWS CloudWatch Metric Streams -title: AWS CloudWatch Metric Streams -description: | - AWS CloudWatch Metric Streams integration enables streaming of metrics from any AWS service (including custom namespaces) to New Relic. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/integrations/amazon-integrations/aws-integrations-list/aws-metric-stream/ \ No newline at end of file diff --git a/install/aws/aws-infrastructure-monitoring/install.yml b/install/aws/aws-infrastructure-monitoring/install.yml deleted file mode 100644 index 83314cb3d7..0000000000 --- a/install/aws/aws-infrastructure-monitoring/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: aws-infrastructure-monitoring -name: AWS-Infrastructure-Monitoring -title: AWS Infrastructure monitoring -description: | - AWS Infrastructure monitoring allows monitoring of various AWS services. -target: - type: unknown - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/infrastructure/amazon-integrations/get-started/connect-aws-new-relic-infrastructure-monitoring/ \ No newline at end of file diff --git a/install/aws/aws-lambda-telemetry-extension/install.yml b/install/aws/aws-lambda-telemetry-extension/install.yml deleted file mode 100644 index 628b5efe23..0000000000 --- a/install/aws/aws-lambda-telemetry-extension/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: aws-lambda-telemetry-extension -name: aws lambda telemetry extension -title: AWS Lambda Telemetry Extension -description: | - Send telemetry data straight from your lambda functions into New Relic. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-lambda-telemetry \ No newline at end of file diff --git a/install/aws/aws-log-ingestion-s3/install.yml b/install/aws/aws-log-ingestion-s3/install.yml deleted file mode 100644 index bb6a5d9ad7..0000000000 --- a/install/aws/aws-log-ingestion-s3/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: aws-log-ingestion-s3 -name: AWS Lambda for sending logs from S3 -title: AWS Lambda for sending logs from S3 -description: | - You can send your Amazon S3 buckets to New Relic using our AWS Lambda function, NewRelic-log-ingestion-s3. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/logs/forward-logs/aws-lambda-sending-logs-s3/ - \ No newline at end of file diff --git a/install/aws/aws-security-hub/install.yml b/install/aws/aws-security-hub/install.yml deleted file mode 100644 index eaf24b2792..0000000000 --- a/install/aws/aws-security-hub/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: aws-security-hub-install -name: AWS Security Hub -title: Import AWS Security Hub Events -description: | - Set up automatic ingestion of your AWS Security Hub events using Event Bridge. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/vulnerability-management/integrations/aws diff --git a/install/aws/aws-security-lake/install.yml b/install/aws/aws-security-lake/install.yml deleted file mode 100644 index 0993650acf..0000000000 --- a/install/aws/aws-security-lake/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: aws-security-lake -name: Amazon-Security-Lake -title: Amazon Security Lake -description: | - Amazon Security Lake monitoring helps you reduce the friction of sending Security Lake logs to New Relic. With Security Lake logs, you can easily monitor your various security features accross multiple AWS accounts. -target: - type: integration - destination: cloud -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-security-lake-monitoring-integration/ diff --git a/install/aws/aws-verified-access/install.yml b/install/aws/aws-verified-access/install.yml deleted file mode 100644 index 89c5ee0479..0000000000 --- a/install/aws/aws-verified-access/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: aws-verified-access -name: AWS-Verified-Access -title: Amazon Verified Access Flow Logs via Kinesis Data Firehose -description: | - Amazon Verified Access Log monitoring via Kinesis Data Firehose helps you reduce the friction of sending logs to New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-verified-access-monitoring-integration/ diff --git a/install/aws/aws-vpc-flow-logs/install.yml b/install/aws/aws-vpc-flow-logs/install.yml deleted file mode 100644 index 2bc5520867..0000000000 --- a/install/aws/aws-vpc-flow-logs/install.yml +++ /dev/null @@ -1,19 +0,0 @@ -id: aws-vpc-flow-logs -name: AWS-VPC-Flow-Logs -title: Amazon VPC Flow Logs via Kinesis Data Firehose -description: | - Amazon VPC Flow Log monitoring via Kinesis Data Firehose helps you reduce the friction of sending logs to New Relic. With VPC flow logs from across your AWS estates, you can quickly understand key insights for performance analytics and troubleshooting network connectivity. -target: - type: integration - destination: cloud - -install: - mode: nerdlet - destination: - nerdletId: network-performance-monitoring.setup-vpc-flow - -fallback: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/cloud-flow-logs/aws-vpc-flow-log-monitoring/ diff --git a/install/azure/azure-infrastructure-monitoring/install.yml b/install/azure/azure-infrastructure-monitoring/install.yml deleted file mode 100644 index 167a81306e..0000000000 --- a/install/azure/azure-infrastructure-monitoring/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: azure-infrastructure-monitoring -name: Azure Infrastructure monitoring -title: Azure Infrastructure monitoring -description: | - Azure Infrastructure monitoring allows monitoring of various Azure services. -target: - type: unknown - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/get-started/activate-azure-integrations/ \ No newline at end of file diff --git a/install/battlesnake/install.yml b/install/battlesnake/install.yml deleted file mode 100644 index a564ae9051..0000000000 --- a/install/battlesnake/install.yml +++ /dev/null @@ -1,17 +0,0 @@ -id: battlesnake - -name: Battlesnake - -title: Battlesnake custom events and attributes - -description: Observe your Battlesnake with New Relic custom attributes! - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/data-apis/custom-data/custom-events/apm-report-custom-events-attributes/ diff --git a/install/blazor-server/install.yml b/install/blazor-server/install.yml deleted file mode 100644 index 2c7a5873c1..0000000000 --- a/install/blazor-server/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: blazor-server - -name: Blazor Server - -title: Blazor Server -description: Instrument and monitor your Blazor Server application with our .NET APM agent. Analyze your performance data right out of the box. - -target: - type: integration - destination: host - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#technologies diff --git a/install/blazor-webassembly/install.yml b/install/blazor-webassembly/install.yml deleted file mode 100644 index 810c94b88b..0000000000 --- a/install/blazor-webassembly/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: blazor-webassembly - -name: Blazor WebAssembly - -title: Blazor WebAssembly -description: Instrument and monitor your Blazor-built app with our Browser Monitoring agent. Analyze your performance data right out of the box. - -target: - type: integration - destination: host - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/browser-monitoring-integrations/blazor-webassembly/ \ No newline at end of file diff --git a/install/browser/browser-docs/install.yml b/install/browser/browser-docs/install.yml deleted file mode 100644 index 896ea579ef..0000000000 --- a/install/browser/browser-docs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: browser-docs -name: Browser -title: Browser monitoring -description: | - With New Relic One's browser monitoring solution, you get full visibility into the complete webpage life cycle of your application or website. Browser measures page load timing, also known as Real User Monitoring (RUM). - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/browser/browser-monitoring/installation/install-browser-monitoring-agent/ diff --git a/install/change-tracking/install.yml b/install/change-tracking/install.yml deleted file mode 100644 index dfc0dbaa35..0000000000 --- a/install/change-tracking/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: change-tracking - -name: Change Tracking Install - -title: New Relic Change Tracking Markers - -description: New Relic Change Tracking allows you to record important changes to any entity in your system. Users will be able to mark changes on time-series charts and analyze the impact of those changes on golden signals, errors, logs, anomalies and incidents, and more. - -target: - type: unknown - destination: unknown - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/change-tracking/change-tracking-introduction/ diff --git a/install/gatsby/gatsby-build-newrelic/install.yml b/install/gatsby/gatsby-build-newrelic/install.yml deleted file mode 100644 index 16083280e9..0000000000 --- a/install/gatsby/gatsby-build-newrelic/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: gatsby-build-newrelic -name: Gatsby -title: Gatsby Build observability -description: | - Observe your Gatsby Builds -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://newrelic.com/blog/how-to-relic/optimize-gatsby-jamstack diff --git a/install/gcp/cloud-spanner/install.yml b/install/gcp/cloud-spanner/install.yml deleted file mode 100644 index ca36f9a734..0000000000 --- a/install/gcp/cloud-spanner/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: cloud-spanner -name: cloud-spanner -title: Google Cloud Spanner -description: | - Relational database metrics for your Google Cloud Spanner instance via prometheus exporter. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/get-started/send-prometheus-metric-data-new-relic/ - diff --git a/install/gcp/gcp-infrastructure-monitoring/install.yml b/install/gcp/gcp-infrastructure-monitoring/install.yml deleted file mode 100644 index 23d66c9ef8..0000000000 --- a/install/gcp/gcp-infrastructure-monitoring/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: gcp-infrastructure-monitoring -name: GCP Infrastructure monitoring -title: GCP Infrastructure monitoring -description: | - GCP Infrastructure monitoring allows monitoring of various Google Cloud Platform services. -target: - type: unknown - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/infrastructure/google-cloud-platform-integrations/get-started/connect-google-cloud-platform-services-new-relic/ \ No newline at end of file diff --git a/install/guided-install/default/install.yml b/install/guided-install/default/install.yml deleted file mode 100644 index 7db0216447..0000000000 --- a/install/guided-install/default/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: guided-install -name: Guided install -title: Use guided install to automatically detect what New Relic can monitor in your environment -description: With one command, you'll get infrastructure and log data flowing in so you can start observing your system. We'll also discover and recommend integrations for greater visibility into your stack. - -target: - type: unknown - destination: unknown - -install: - mode: nerdlet - destination: - nerdletId: nr1-install-newrelic.nr1-install-newrelic diff --git a/install/guided-install/kubernetes/install.yml b/install/guided-install/kubernetes/install.yml deleted file mode 100644 index e0eb460702..0000000000 --- a/install/guided-install/kubernetes/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: kubernetes-install -name: Kubernetes integration -title: Kubernetes integration -description: Use our automated installer for servers, VMs, and unprivileged environments. The automated installer can provide you either a Helm command with the required values filled, or a plain manifest if you do not wish to use Helm. It also features great customizability and full control over which features and dependencies are enabled. - -target: - type: integration - destination: kubernetes - -install: - mode: nerdlet - destination: - nerdletId: nr1-install-newrelic.nr1-install-newrelic - nerdletState: - path: guided - env: kubernetes - activeComponent: VTSOKubernetes - activeEnvironment: kubernetes diff --git a/install/infrastructure/infra-agent-targeted/install.yml b/install/infrastructure/infra-agent-targeted/install.yml deleted file mode 100644 index ccf616ae25..0000000000 --- a/install/infrastructure/infra-agent-targeted/install.yml +++ /dev/null @@ -1,22 +0,0 @@ -id: infra-agent-targeted -name: Infrastructure agent -title: Infrastructure agent install -description: | - New Relic's infrastructure monitoring agent is a lightweight executable file that collects data about your hosts. It also forwards data from infrastructure integrations to New Relic, as well as log data for log analytics. - -target: - type: agent - destination: host - os: - - linux - - windows - -install: - mode: targetedInstall - destination: - recipeName: infrastructure-agent-installer - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/install-infrastructure-agent/linux-installation/install-infrastructure-monitoring-agent-linux/#manual-install diff --git a/install/logs/default/install.yml b/install/logs/default/install.yml deleted file mode 100644 index 5f6c1dfec3..0000000000 --- a/install/logs/default/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: logs-default -name: New Relic Logs -title: Manage log collection for New Relic -description: | - Manage log collection for New Relic -target: - type: unknown - destination: unknown - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/forward-logs/enable-log-management-new-relic/ diff --git a/install/logs/heroku/install.yml b/install/logs/heroku/install.yml deleted file mode 100644 index 7f7f899c48..0000000000 --- a/install/logs/heroku/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: logs-heroku -name: Heroku Logs -title: Ingest Heroku Logs -description: Stream your Heroku logs to New Relic using Heroku's built-in Logplex router - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/enable-log-management-new-relic/enable-log-monitoring-new-relic/heroku-log-forwarding/ diff --git a/install/mlops/aporia/install.yml b/install/mlops/aporia/install.yml deleted file mode 100644 index 506930d723..0000000000 --- a/install/mlops/aporia/install.yml +++ /dev/null @@ -1,25 +0,0 @@ -id: aporia-mlops -name: Aporia - -title: Aporia Model Observability & Monitoring Platform - -description: | - Aporia’s integration with New Relic provides you with full access to a customized ML monitoring dashboard in New Relic. The dashboard contains six different charts: Most Active Models, Most Active Model Versions, Model Inferences, Average Numeric Inferences, Numeric Inferences Heatmaps, and Categorical Inferences for a comprehensive inferences investigation for all your models in production. - - This integration also supports monitoring for almost all model use cases, including: fraud detection, NLP, Recommendations, Sales Forecast, Churn Prediction, Lead Prioritization, and Tabular Data. - - By leveraging New Relic Alerts and Applied Intelligence, you will be able to monitor and manage alerts for all your operational needs. Find, troubleshoot, and resolve problems faster and automatically detect anomalies and combine related alerts and incidents to enable root cause analysis for any operational issues that may arise, even beyond the model itself. - -target: - type: integration - destination: cloud - -install: - mode: nerdlet - destination: - nerdletId: mlops.setup-aporia - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/alerts-applied-intelligence/applied-intelligence/mlops-integrations/aporia-mlops-integration/ diff --git a/install/mlops/comet/install.yml b/install/mlops/comet/install.yml deleted file mode 100644 index 8e97a17474..0000000000 --- a/install/mlops/comet/install.yml +++ /dev/null @@ -1,19 +0,0 @@ -id: comet-mlops -name: comet -title: Comet -description: | - Comet is a machine learning (ML) development platform built to meet the intense demands of enterprise teams deploying ML at scale. Comet’s integration with New Relic allows you to manage and optimize your ML models in production from your New Relic One dashboard. With Comet and New Relic, you can accelerate ML development and realize business value faster. - -target: - type: integration - destination: cloud - -install: - mode: nerdlet - destination: - nerdletId: mlops.setup-comet - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/alerts-applied-intelligence/applied-intelligence/mlops-integrations/comet-mlops-integration/ diff --git a/install/mlops/dagshub/install.yml b/install/mlops/dagshub/install.yml deleted file mode 100644 index 0ae9764ddc..0000000000 --- a/install/mlops/dagshub/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: dagshub-mlops -name: DagsHub -title: DagsHub Machine Learning Training Monitoring -description: | - Integrating DagsHub and New Relic enables you to analyze and monitor machine learning training metrics in real-time. You can visualize your metrics in a New Relic dashboard, create custom metrics and set alerts to notify you of events and incidents happening during your training runs. -target: - type: integration - destination: cloud - -install: - mode: nerdlet - destination: - nerdletId: mlops.setup-dagshub - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/mlops-integrations/dagshub-mlops-integration/#integrate diff --git a/install/mlops/mona/install.yml b/install/mlops/mona/install.yml deleted file mode 100644 index 533c127d1c..0000000000 --- a/install/mlops/mona/install.yml +++ /dev/null @@ -1,23 +0,0 @@ -id: monalabs-mlops -name: Mona Labs - -title: Mona Labs Intelligent Monitoring for AI. - -description: | - Mona provides the best visibility into AI systems in order to reduce associated risks with production AI, optimize operational processes, and enable teams to plan better AI road maps. The Mona - New Relic integration provides users with the ability to automatically view Mona generated insights directly on their New Relic dashboard, explore production AI / ML data with NRQL, and connect specific Mona insight events to New Relic Incident Intelligence. - - Instantly get alerted on latency issues and automatically detect anomalies to ensure the best performance within production systems. - -target: - type: integration - destination: cloud - -install: - mode: nerdlet - destination: - nerdletId: mlops.setup-mona - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/alerts-applied-intelligence/applied-intelligence/mlops-integrations/mona-mlops-integration/ diff --git a/install/mlops/truera/install.yml b/install/mlops/truera/install.yml deleted file mode 100644 index a645385a53..0000000000 --- a/install/mlops/truera/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: truera-mlops -name: Truera Diagnostics & Monitoring - -title: Truera Diagnostics & Monitoring solution for Trustworthy AI. - -description: | - TruEra provides best in class AI Quality diagnostics and monitoring solution. TruEra and New Relic users can go beyond standard accuracy, input and output drift monitoring by identifying consequential data drift, and other AI Quality diagnostics such as fairness, conceptual soundness and segment behavior. When combined with NewRelic’s comprehensive observability capabilities, MLOps teams can correlate signals throughout the ML lifecycle. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/alerts-applied-intelligence/applied-intelligence/mlops-integrations/truera-integration/ diff --git a/install/mobile-crash-analytics/install.yml b/install/mobile-crash-analytics/install.yml deleted file mode 100644 index 6e799f45c8..0000000000 --- a/install/mobile-crash-analytics/install.yml +++ /dev/null @@ -1,17 +0,0 @@ -id: mobile-crash-analytics-install -name: Mobile Crash Analytics Install Plan -title: Mobile Crash Analytics Install Plan -description: | - Installs the Mobile Crash Analytics Dashboard. - -target: - type: unknown - destination: unknown - os: - - linux - - windows - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile/get-started/introduction-mobile-monitoring/ \ No newline at end of file diff --git a/install/mobile-dashboard/install.yml b/install/mobile-dashboard/install.yml deleted file mode 100644 index e5e86ecb6d..0000000000 --- a/install/mobile-dashboard/install.yml +++ /dev/null @@ -1,28 +0,0 @@ -# in install/example/install.yml - -# Defined by the author, must be unique -id: mobile-dashboard-install - -# A human readable name -name: Mobile Dashboard Install Plan - -# Used as a heading during the install process -title: Mobile Dashboard Install Plan - -description: | - Installs the Mobile Dashboard. - -target: - # type can be agent | integration | on_host_integration | unknown - type: unknown - # destination can be application | cloud | host | kubernetes | unknown - destination: unknown - # os can be darwin | linux | windows - os: - - linux - - windows - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile/get-started/introduction-mobile-monitoring/ \ No newline at end of file diff --git a/install/mobile-network-performance/install.yml b/install/mobile-network-performance/install.yml deleted file mode 100644 index e9b6dc91d3..0000000000 --- a/install/mobile-network-performance/install.yml +++ /dev/null @@ -1,17 +0,0 @@ -id: mobile-network-performance-install -name: Mobile Network Performance Install Plan -title: Mobile Network Performance Install Plan -description: | - Installs the Mobile Network Performance Dashboard. - -target: - type: unknown - destination: unknown - os: - - linux - - windows - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile/get-started/introduction-mobile-monitoring/ \ No newline at end of file diff --git a/install/mobile/android/install.yml b/install/mobile/android/install.yml deleted file mode 100644 index 977636e77a..0000000000 --- a/install/mobile/android/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: android-mobile -name: android -title: Android Monitoring -description: | - Mobile monitoring for Android monitors your app, giving you a comprehensive view of your app's performance - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/get-started/introduction-new-relic-mobile-android/ \ No newline at end of file diff --git a/install/mobile/ios/install.yml b/install/mobile/ios/install.yml deleted file mode 100644 index 6399578da0..0000000000 --- a/install/mobile/ios/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: ios-mobile -name: iOS -title: iOS Monitoring -description: | - New Relic's mobile monitoring for iOS gives you a comprehensive view of your app's performance. It works for iOS apps written using Objective-C, Swift, or both languages - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/introduction-new-relic-mobile-ios/ \ No newline at end of file diff --git a/install/mobile/tvos/install.yml b/install/mobile/tvos/install.yml deleted file mode 100644 index 4d6adba31a..0000000000 --- a/install/mobile/tvos/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: tvos-mobile -name: tvOS -title: tvOS Monitoring -description: | - New Relic's mobile monitoring for tvOS gives you a comprehensive view of your app's performance. - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/tvos/tvos-installation-configuration/ \ No newline at end of file diff --git a/install/network/ciscoHardware/install.yml b/install/network/ciscoHardware/install.yml deleted file mode 100644 index 3c3e32d148..0000000000 --- a/install/network/ciscoHardware/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: network-cisco-hardware -name: Cisco Hardware Sensor Dashboard -title: Cisco Hardware Sensor Dashboard -description: | - Easily install a dashboard to see the status of Cisco hardware sensors. -target: - type: unknown - destination: unknown - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/network-performance-monitoring/get-started/npm-introduction/ diff --git a/install/network/npm/install.yml b/install/network/npm/install.yml deleted file mode 100644 index d5ad729236..0000000000 --- a/install/network/npm/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: network-performance-monitoring -name: NPM -title: Network Performance Monitoring -description: | - Set up your network devices so they send network data to New Relic One. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/network-performance-monitoring/get-started/npm-introduction/ \ No newline at end of file diff --git a/install/network/snmp/install.yml b/install/network/snmp/install.yml deleted file mode 100644 index 21f1743570..0000000000 --- a/install/network/snmp/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: network-snmp -name: SNMP -title: Network SNMP collection -description: | - Install NPM for SNMP data collection using a simple Docker container. - -target: - type: agent - destination: host - os: - - linux - -install: - mode: nerdlet - destination: - nerdletId: network-performance-monitoring.setup-snmp - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/snmp-performance-monitoring \ No newline at end of file diff --git a/install/network/syslog/install.yml b/install/network/syslog/install.yml deleted file mode 100644 index cf0f28151d..0000000000 --- a/install/network/syslog/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: network-syslog -name: Syslog -title: Network Syslog collection -description: | - Install NPM for syslog collection using a simple Docker container. - -target: - type: agent - destination: host - os: - - linux - -install: - mode: nerdlet - destination: - nerdletId: network-performance-monitoring.setup-syslog - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/network-performance-monitoring/setup-performance-monitoring/network-syslog-monitoring/ diff --git a/install/nextcloud/install.yml b/install/nextcloud/install.yml deleted file mode 100644 index 37133b618a..0000000000 --- a/install/nextcloud/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: nextcloud -name: Nextcloud -title: Nextcloud -description: | - Use our infrastructure agent and the Prometheus open metric integration to monitor the performance of the processes on your Nextcloud server. -target: - type: integration - destination: host - os: - - linux - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/nextcloud-integration/ diff --git a/install/on-host-integration/apache/install.yml b/install/on-host-integration/apache/install.yml deleted file mode 100644 index a846786091..0000000000 --- a/install/on-host-integration/apache/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: apache-integration -name: Apache -title: Apache monitoring integration -description: | - Our Apache integration sends performance metrics and inventory data from your Apache web server to the New Relic platform. You can view pre-built dashboards of your Apache metric data, create alert policies, and create your own custom queries and charts. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: apache-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/apache-monitoring-integration/ diff --git a/install/on-host-integration/cassandra/install.yml b/install/on-host-integration/cassandra/install.yml deleted file mode 100644 index 281f3e09c0..0000000000 --- a/install/on-host-integration/cassandra/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: cassandra-integration -name: Cassandra -title: Cassandra monitoring integration -description: | - Our Cassandra integration sends performance metrics and inventory data from your Cassandra database to the New Relic platform. You can view pre-built dashboards of your Cassandra metric data, create alert policies, and create your own custom queries and charts. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/cassandra-monitoring-integration/#install diff --git a/install/on-host-integration/couchbase/install.yml b/install/on-host-integration/couchbase/install.yml deleted file mode 100644 index 88db9b6c91..0000000000 --- a/install/on-host-integration/couchbase/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: couchbase-integration -name: Couchbase -title: Couchbase monitoring integration -description: | - Our Couchbase integration collects and sends inventory and metric data from your Couchbase cluster to the New Relic platform, where you can quickly see the health of your Couchbase environment. We collect data at the cluster, node, query engine, and bucket level so you can trace a problem to its source. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: couchbase-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/couchbase-monitoring-integration/ diff --git a/install/on-host-integration/elasticsearch/install.yml b/install/on-host-integration/elasticsearch/install.yml deleted file mode 100644 index 5f9aa97771..0000000000 --- a/install/on-host-integration/elasticsearch/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: elasticsearch-integration -name: Elasticsearch -title: Elasticsearch monitoring integration -description: | - Our Elasticsearch integration collects and sends inventory and metrics from your Elasticsearch cluster to our platform, where you can see the health of your Elasticsearch environment. We collect metrics at the cluster, node, and index level so you can more easily find the source of any problems. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/elasticsearch-monitoring-integration/#install diff --git a/install/on-host-integration/haproxy/install.yml b/install/on-host-integration/haproxy/install.yml deleted file mode 100644 index 9794309eba..0000000000 --- a/install/on-host-integration/haproxy/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: haproxy-integration -name: HAProxy -title: HAProxy monitoring integration -description: | - Our HAProxy integration collects and sends inventory and metrics from your HAProxy instance to the New Relic platform, where you can aggregate and visualize key performance metrics for the HAProxy server, frontends, and backends. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/haproxy-monitoring-integration/#install diff --git a/install/on-host-integration/hashicorp-consul/install.yml b/install/on-host-integration/hashicorp-consul/install.yml deleted file mode 100644 index d53398d3c7..0000000000 --- a/install/on-host-integration/hashicorp-consul/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: hashicorp-consul-integration -name: HashiCorp Consul -title: HashiCorp Consul monitoring integration -description: | - The HashiCorp Consul on-host integration collects and sends inventory and metrics from your Consul environment to New Relic, where you can see the health of your Consul datacenter environment. We collect data on both the datacenter and agent/node levels. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: hashicorp-consul-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/hashicorp-consul-monitoring-integration/#install diff --git a/install/on-host-integration/hivemq/install.yml b/install/on-host-integration/hivemq/install.yml deleted file mode 100644 index b765b6ae61..0000000000 --- a/install/on-host-integration/hivemq/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: hivemq-integration-docs -name: HiveMQ -title: HiveMQ monitoring integration -description: | - Our HiveMQ integration collects and metrics from your HiveMQ to our platform, where you can aggregate and visualize key metrics. We collect all the data from the HiveMQ metrics subsystem. - -level: New Relic - -target: - type: agent - destination: host - -install: - mode: link - destination: - url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/hivemq diff --git a/install/on-host-integration/ibm-mq/install.yml b/install/on-host-integration/ibm-mq/install.yml deleted file mode 100644 index 6c01962f7e..0000000000 --- a/install/on-host-integration/ibm-mq/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: ibmmq-integration-docs -name: IBM MQ -title: IBM MQ integration -description: | - The New Relic IBM MQ monitor allows you to monitor the performance of MQ Objects like channels and queues. - -level: Community - -target: - type: agent - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/ibmmq-monitoring-integration/#install diff --git a/install/on-host-integration/jmx/install.yml b/install/on-host-integration/jmx/install.yml deleted file mode 100644 index 876b781c44..0000000000 --- a/install/on-host-integration/jmx/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: jmx-integration-docs -name: JMX -title: JMX monitoring integration -description: | - The New Relic JMX integration allows users to monitor any application that exposes metrics with JMX. The integration includes a default collection file that automatically collects key metrics from the JVM. You can also customize your metric collection with YAML files to collect any subset of metrics. - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/jmx-monitoring-integration/ diff --git a/install/on-host-integration/kafka/install.yml b/install/on-host-integration/kafka/install.yml deleted file mode 100644 index bfdec86b03..0000000000 --- a/install/on-host-integration/kafka/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: kafka-integration-docs -name: Kafka -title: Kafka Monitoring integration -description: | - The New Relic Kafka on-host integration reports metrics and configuration data from your Kafka service. We instrument all the key elements of your cluster, including brokers (both ZooKeeper and Bootstrap), producers, consumers, and topics. - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration/ diff --git a/install/on-host-integration/memcached/install.yml b/install/on-host-integration/memcached/install.yml deleted file mode 100644 index 74fbde8e9d..0000000000 --- a/install/on-host-integration/memcached/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: memcached-integration -name: Memcached -title: Memcached monitoring integration -description: | - Our Memcached integration collects and sends inventory and metrics from your Memcached instance to our platform, where you can aggregate and visualize key performance metrics. We collect data at both instance and slab levels. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: memcached-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/memcached-monitoring-integration/ diff --git a/install/on-host-integration/mongodb/install.yml b/install/on-host-integration/mongodb/install.yml deleted file mode 100644 index 3981220d65..0000000000 --- a/install/on-host-integration/mongodb/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: mongodb-integration -name: MongoDB -title: MongoDB monitoring integration -description: | - Our MongoDB integration collects and sends inventory and metrics from your MongoDB cluster to our platform, where you can aggregate and visualize key performance metrics. We collect data on mongos, mongods, and config servers, as well as on databases and collections to help pinpoint performance bottlenecks. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: mongodb-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/mongodb-monitoring-integration/#install diff --git a/install/on-host-integration/mssql/install.yml b/install/on-host-integration/mssql/install.yml deleted file mode 100644 index 31cdaf2494..0000000000 --- a/install/on-host-integration/mssql/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: microsoft-sql-server-integration -name: Microsoft SQL Server -title: Microsoft SQL Server monitoring integration -description: | - Our Microsoft SQL Server integration collects and sends inventory and metrics from your MS SQL Server environment to our platform, where you can see the health of your MS SQL Server environment. We collect both database and instance-level metrics so that you can pinpoint the source of any problems. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: mssql-server-integration-installer - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/microsoft-sql-server-monitoring-integration/ diff --git a/install/on-host-integration/mysql/install.yml b/install/on-host-integration/mysql/install.yml deleted file mode 100644 index 49cf4b2001..0000000000 --- a/install/on-host-integration/mysql/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: mysql-integration -name: MySQL -title: MySQL open source integration -description: | - Our MySQL integration collects and sends inventory and metrics from your MySQL database to our platform, where you can see the health of your database server and analyze metric data so that you can easily find the source of any problems. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: mysql-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/mysql-monitoring-integration/ diff --git a/install/on-host-integration/nagios/install.yml b/install/on-host-integration/nagios/install.yml deleted file mode 100644 index d9edb18d49..0000000000 --- a/install/on-host-integration/nagios/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: nagios-integration -name: Nagios -title: Nagios monitoring integration -description: | - Our Nagios integration lets you use your service checks directly, without the need to run a Nagios instance. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/nagios-monitoring-integration/#install diff --git a/install/on-host-integration/nginx/install.yml b/install/on-host-integration/nginx/install.yml deleted file mode 100644 index 27ba54ac31..0000000000 --- a/install/on-host-integration/nginx/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: nginx-integration -name: Nginx -title: Nginx monitoring integration -description: | - Our NGINX integration collects and sends inventory and metrics from your NGINX server to our platform, where you can see data on connections and client requests so that you can find the source of any problems. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: nginx-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/nginx-monitoring-integration/ diff --git a/install/on-host-integration/postgres/install.yml b/install/on-host-integration/postgres/install.yml deleted file mode 100644 index 82423b57a1..0000000000 --- a/install/on-host-integration/postgres/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: postgresql-integration -name: PostgreSQL -title: PostgreSQL monitoring integration -description: | - The New Relic PostgreSQL on-host integration receives and sends inventory metrics from your PostgreSQL instance to the New Relic platform, where you can aggregate and visualize key performance metrics. Data from instances, databases, and clusters helps you find the source of problems. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: postgres-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/postgresql-monitoring-integration/#install diff --git a/install/on-host-integration/rabbitmq/install.yml b/install/on-host-integration/rabbitmq/install.yml deleted file mode 100644 index 048cb1b2b0..0000000000 --- a/install/on-host-integration/rabbitmq/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: rabbitmq-integration -name: RabbitMQ -title: RabbitMQ monitoring integration -description: | - The New Relic RabbitMQ on-host integration reports metrics and configuration data from your RabbitMQ service, including important metrics relating to the cluster, vhosts, queues, exchanges, and consumers. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: rabbitmq-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/rabbitmq-monitoring-integration/#install diff --git a/install/on-host-integration/redis/install.yml b/install/on-host-integration/redis/install.yml deleted file mode 100644 index c966599d09..0000000000 --- a/install/on-host-integration/redis/install.yml +++ /dev/null @@ -1,21 +0,0 @@ -id: redis-integration -name: Redis -title: Redis monitoring integration -description: | - Our Redis integration reports critical performance data from your Redis server to New Relic products. You can view this metric data and inventory data in pre-built dashboards, create alert policies, and create custom queries and charts. You can also specify keys that are important to your application and get information about their length. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: targetedInstall - destination: - recipeName: redis-open-source-integration - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/redis-monitoring-integration/ diff --git a/install/on-host-integration/squid/install.yml b/install/on-host-integration/squid/install.yml deleted file mode 100644 index 21f5df8d2b..0000000000 --- a/install/on-host-integration/squid/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: squid-prometheus-integration-docs -name: Squid -title: Squid prometheus monitoring integration -description: | - Our Squid prometheus integration collects metrics from your Squid cache manager to our platform, where you can aggregate and visualize key metrics. All the data is collected using the [Prometheus squid-exporter](https://github.com/boynux/squid-exporter). - -level: New Relic - -target: - type: agent - destination: host - -install: - mode: link - destination: - url: https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/squid diff --git a/install/on-host-integration/sybase/install.yml b/install/on-host-integration/sybase/install.yml deleted file mode 100644 index 8d25e60c93..0000000000 --- a/install/on-host-integration/sybase/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: sybase-integration -name: Sybase -title: Sybase monitoring integration -description: | - Monitor SAP Adaptive Server Enterprise (Sybase) integration - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/nri-db \ No newline at end of file diff --git a/install/on-host-integration/varnish/install.yml b/install/on-host-integration/varnish/install.yml deleted file mode 100644 index 41512d4695..0000000000 --- a/install/on-host-integration/varnish/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: varnish-cache-integration -name: Varnish Cache -title: Varnish Cache monitoring integration -description: | - The Varnish Cache on-host integration collects and sends inventory and metrics from your Varnish Cache environment to New Relic so you can monitor its health. We collect metrics at the instance, lock, memory pool, storage, and backend levels. - - As part of this integration we will install the New Relic Infrastructure agent. - -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/varnish-cache-monitoring-integration/#install diff --git a/install/on-host-integration/vsphere/install.yml b/install/on-host-integration/vsphere/install.yml deleted file mode 100644 index a3031985c7..0000000000 --- a/install/on-host-integration/vsphere/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: vsphere-integration -name: VMware vSphere -title: VMware vSphere integration -description: | - The VMware vSphere on-host integration collects and sends inventory and metrics from your VMware vSphere environment to New Relic so you can monitor its health. We collect metrics at the datacenter, cluster, host, datastore, and virtual machine levels. - As part of this integration we will install the New Relic Infrastructure agent. -target: - type: on_host_integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/vmware-vsphere-monitoring-integration/#install diff --git a/install/on-host-integration/winservices/install.yml b/install/on-host-integration/winservices/install.yml deleted file mode 100644 index add25340b2..0000000000 --- a/install/on-host-integration/winservices/install.yml +++ /dev/null @@ -1,20 +0,0 @@ -id: winservices-integration-docs -name: winservices -title: Windows Services -description: | - New Relic's Windows services integration collects data about the services running on your Microsoft Windows hosts and sends it to our platform. - You can check the state and start mode of each service, find out which hosts are running a service, set up alerts for services, and more. - - Our integration is bundled with the Windows infrastructure agent. If you're monitoring Windows hosts on New Relic, you only need to enable the integration to get Windows services data into our platform. - - -level: New Relic - -target: - type: agent - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/windows-services-integration/ diff --git a/install/open-source-monitoring/prometheus/install.yml b/install/open-source-monitoring/prometheus/install.yml deleted file mode 100644 index cc103c94c0..0000000000 --- a/install/open-source-monitoring/prometheus/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: setup-prometheus -name: Prometheus remote write -title: Prometheus remote write integration -description: Using the Prometheus Remote Write integration, you can point your Prometheus servers at New Relic to store and visualize your data. - -target: - type: agent - destination: application - -install: - mode: nerdlet - destination: - nerdletId: prometheus-remote-write-integration.home - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/get-started/send-prometheus-metric-data-new-relic/ diff --git a/install/prometheus-agent-mode/install.yml b/install/prometheus-agent-mode/install.yml deleted file mode 100644 index 8e08e0ae85..0000000000 --- a/install/prometheus-agent-mode/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: setup-prometheus-agent-mode -name: Prometheus Agent Mode -title: Prometheus Agent Mode -description: Use the Prometheus Agent to scrape Prometheus endpoints in your Kubernetes cluster and send metrics to New Relic using Prometheus remote write. - -target: - type: integration - destination: kubernetes - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/install-prometheus-agent/ diff --git a/install/redisenterprise/install.yml b/install/redisenterprise/install.yml deleted file mode 100644 index 82edc8d53f..0000000000 --- a/install/redisenterprise/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-redisenterprise -name: RedisEnterprise -title: Redis Enterprise -description: | - Provides deep insight into the Redis Enterprise Software offering detailed cluster, database and Active/Active metrics - -target: - type: integration - destination: host - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/redis/redis-enterprise-integration/ diff --git a/install/security/install.yml b/install/security/install.yml deleted file mode 100644 index cdae86b4df..0000000000 --- a/install/security/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: security-api-install -name: New Relic Security API -title: Import Security Scanner Events with New Relic Security API -description: | - Import scanner data on your schedule using New Relic's Security API - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/vulnerability-management/integrations/security-api diff --git a/install/solutions-hub/dashboards/install.yml b/install/solutions-hub/dashboards/install.yml deleted file mode 100644 index 3b7464db4c..0000000000 --- a/install/solutions-hub/dashboards/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: solutions-hub-dashboards -name: New Relic Solutions Hub -title: New Relic Solutions Hub -description: New Relic's solution framework offers a repeatable and proven approach to help you do just that. Using proven best practices and expert guidance, your organization can move faster, stay on course, and transform successfully. - - -target: - type: unknown - destination: unknown - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/new-relic-solutions/overview diff --git a/install/synthetics/private-locations/install.yml b/install/synthetics/private-locations/install.yml deleted file mode 100644 index bdc74f5a94..0000000000 --- a/install/synthetics/private-locations/install.yml +++ /dev/null @@ -1,17 +0,0 @@ -id: synthetics-private-locations - -name: Synthetics Private Locations - -title: Synthetics private locations dashboard example - -description: Get started monitoring your private locations with a best practices dashboard. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/private-locations/monitor-private-locations/ diff --git a/install/telemetry-data-platform/install.yml b/install/telemetry-data-platform/install.yml deleted file mode 100644 index 30836e9c58..0000000000 --- a/install/telemetry-data-platform/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: telemetry-data-platform -name: New Relic Telemetry Data Platform -title: New Relic Telemetry Data Platform -description: | - Manage telemetry data coming into New Relic. -target: - type: unknown - destination: unknown - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/telemetry-data-platform/manage-data/manage-data-coming-new-relic/ diff --git a/install/third-party/Contentsquare/install.yml b/install/third-party/Contentsquare/install.yml deleted file mode 100644 index 2e79fbbe97..0000000000 --- a/install/third-party/Contentsquare/install.yml +++ /dev/null @@ -1,19 +0,0 @@ -id: third-party-contentsquare -name: Contentsquare -title: Contentsquare -description: | - Contentsquare is a powerful, yet easy-to-use, digital experience analytics - platform that collects and quantifies user behavior across all your digital - properties showing you what users like, what they don’t like, where they - struggle, and why they leave. - Contentsquare surfaces opportunities to improve your customer experience - automatically and easily so you can increase your conversion rates, improve - customer loyalty, reduce costs and drive revenue. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://uxanalyser.zendesk.com/hc/en-gb/articles/4408893503122-New-Relic \ No newline at end of file diff --git a/install/third-party/ads-web-gpt/install.yml b/install/third-party/ads-web-gpt/install.yml deleted file mode 100644 index 28d9a9a880..0000000000 --- a/install/third-party/ads-web-gpt/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-ads-web-gpt -name: Agent for Google Publisher Tags -title: Agent for Google Publisher Tags -description: | - Agent to monitor web applications using GPT. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic/tracker-google-publisher-tags-js diff --git a/install/third-party/ads-web-prebid/install.yml b/install/third-party/ads-web-prebid/install.yml deleted file mode 100644 index a4ac0813ae..0000000000 --- a/install/third-party/ads-web-prebid/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-ads-web-prebid -name: Agent for Prebid -title: Agent for Prebid -description: | - Agent to monitor web applications using Prebid. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic/tracker-prebid-js diff --git a/install/third-party/amazon-eks-on-aws-fargate/install.yml b/install/third-party/amazon-eks-on-aws-fargate/install.yml deleted file mode 100644 index 7d65cfac2c..0000000000 --- a/install/third-party/amazon-eks-on-aws-fargate/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-amazon-eks-on-aws-fargate -name: Amazon EKS on AWS Fargate -title: Amazon EKS on AWS Fargate -description: - Telemetry from Kube State Metrics, Kubelet, and cAdvisor for full - observability of Kubernetes clusters running on EKS in Fargate. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/installation/install-fargate-integration/ \ No newline at end of file diff --git a/install/third-party/ansible/install.yml b/install/third-party/ansible/install.yml deleted file mode 100644 index 1d4749ee72..0000000000 --- a/install/third-party/ansible/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-ansible -name: Ansible -title: Ansible -description: - New Relic Ansible playbook to deploy the New Relic Infrastructure agent and On Host Integrations throughout your environment. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/config-management-tools/configure-new-relic-infrastructure-using-ansible \ No newline at end of file diff --git a/install/third-party/apigee-api/install.yml b/install/third-party/apigee-api/install.yml deleted file mode 100644 index 2383b0b930..0000000000 --- a/install/third-party/apigee-api/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-apigee-api -name: Apigee API Distributed Tracing -title: Apigee API Distributed Tracing -description: | - Monitor Apigee API Flows with New Relic's Trace API. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/apigee-distributed-tracing - diff --git a/install/third-party/atlassian-jira/install.yml b/install/third-party/atlassian-jira/install.yml deleted file mode 100644 index 2c2d7ce2d4..0000000000 --- a/install/third-party/atlassian-jira/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-atlassian-jira -name: Atlassian JIRA -title: Atlassian JIRA -description: | - Jira is a proprietary issue tracking product developed by Atlassian that allows bug tracking and agile project management. You can Integrate New Relic with Atlassian Jira(Cloud) and automatically create and update Jira issues. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.newrelic.com/docs/alerts-applied-intelligence/notifications/notification-integrations/#jira - diff --git a/install/third-party/audit-events-analysis/install.yml b/install/third-party/audit-events-analysis/install.yml deleted file mode 100644 index 741a93add9..0000000000 --- a/install/third-party/audit-events-analysis/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-audit-events-analysis -name: New Relic Audit -title: New Relic Audit -description: - Dashboard to analyse the New Relic Audit events - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/data-apis/understand-data/event-data/query-account-audit-logs-nrauditevent/ diff --git a/install/third-party/aws-cloudwatch-plugin-for-logs/install.yml b/install/third-party/aws-cloudwatch-plugin-for-logs/install.yml deleted file mode 100644 index 4d3392972f..0000000000 --- a/install/third-party/aws-cloudwatch-plugin-for-logs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-aws-cloudwatch-plugin-for-logs -name: AWS Cloudwatch plugin for Logs -title: AWS Cloudwatch plugin for Logs -description: - Collect and manage log data coming in from Amazon's Cloudwatch observability framework. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/enable-log-management-new-relic/enable-log-monitoring-new-relic/aws-lambda-sending-cloudwatch-logs/ \ No newline at end of file diff --git a/install/third-party/aws-firelens-plugin-for-logs/install.yml b/install/third-party/aws-firelens-plugin-for-logs/install.yml deleted file mode 100644 index 5bfebb927e..0000000000 --- a/install/third-party/aws-firelens-plugin-for-logs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-aws-firelens-plugin-for-logs -name: AWS FireLens plugin for Logs -title: AWS FireLens plugin for Logs -description: - Collect log data and export to AWS or other services for analysis. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/enable-logs/enable-logs/aws-firelens-plugin-logs \ No newline at end of file diff --git a/install/third-party/azure-virtual-machines/install.yml b/install/third-party/azure-virtual-machines/install.yml deleted file mode 100644 index 4c9d504263..0000000000 --- a/install/third-party/azure-virtual-machines/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-azure-virtual-machines -name: Azure Virtual Machines -title: Azure Virtual Machines -description: | - Monitor Azure Virtual Machines by connecting Azure to New Relic. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://one.newrelic.com/infra/azure?account=1&state=7ce24172-040d-d896-09ea-00f926561d6e \ No newline at end of file diff --git a/install/third-party/bitbucket/install.yml b/install/third-party/bitbucket/install.yml deleted file mode 100644 index 168be4ea6e..0000000000 --- a/install/third-party/bitbucket/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-bitbucket -name: Bitbucket -title: Bitbucket -description: | - With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://bitbucket.org/product/features/pipelines/integrations?p=jcountsnr/newrelic_observability_event - diff --git a/install/third-party/biztalk360/install.yml b/install/third-party/biztalk360/install.yml deleted file mode 100644 index 5a39ab7c7e..0000000000 --- a/install/third-party/biztalk360/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-biztalk360 -name: BizTalk360 -title: BizTalk360 -description: | - With BizTalk360 quickstart, you get some of the important performance metrics of BizTalk environments in your New Relic dashboard. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://docs.biztalk360.com/docs/new-relic-integration - diff --git a/install/third-party/blameless/install.yml b/install/third-party/blameless/install.yml deleted file mode 100644 index e7aaf9d065..0000000000 --- a/install/third-party/blameless/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-blameless -name: Blameless -title: Blameless -description: - Site reliability engineering (SRE) platform with AI-driven incident resolution, SLOs/Error budgets, and reliability insights. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docsend.com/view/29zr6uk9ktuz9ctv \ No newline at end of file diff --git a/install/third-party/bring-your-own/install.yml b/install/third-party/bring-your-own/install.yml deleted file mode 100644 index 25a36fdea9..0000000000 --- a/install/third-party/bring-your-own/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-mlops-bring-your-own -name: Build your own ML Integration -title: Build your own ML Integration -description: | - Bring your own data from any kind of ML stack with this flexible integration framework to keep your data-science projects on track. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/ml-performance-monitoring - diff --git a/install/third-party/browser-segment-investigation/install.yml b/install/third-party/browser-segment-investigation/install.yml deleted file mode 100644 index b364ec29d4..0000000000 --- a/install/third-party/browser-segment-investigation/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-browser-segment-investigation -name: Browser Segment Investigation Quickstart -title: Browser Segment Investigation Quickstart -description: | - Review the extent of crushed urls so you know which urls you need to add segments for in the browser segment allow list. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide#validate-browser-url-grouping \ No newline at end of file diff --git a/install/third-party/camel/install.yml b/install/third-party/camel/install.yml deleted file mode 100644 index 1fa058efb6..0000000000 --- a/install/third-party/camel/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-camel -name: Apache Camel Java Agent Extension -title: Apache Camel Java Agent Extension -description: | - Java agent extension to monitor instrumentation for the Apache Camel framework. - Once installed, the instrumentation will enable visibility parts of your Camel flows up in transaction traces. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/newrelic-java-camel diff --git a/install/third-party/catchpoint/install.yml b/install/third-party/catchpoint/install.yml deleted file mode 100644 index 81b4fd64c6..0000000000 --- a/install/third-party/catchpoint/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-catchpoint-quickstart -name: Catchpoint -title: Catchpoint -description: - This quickstart uses Catchpoint Test Data Webhook to send data to the New Relic Platform, this is accomplished by using New Relic’s Metrics API. You can visualize Catchpoint's digital experience data with New Relic’s Application Performance Monitoring (APM) data together. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/catchpoint/Integrations.NewRelic \ No newline at end of file diff --git a/install/third-party/chef/install.yml b/install/third-party/chef/install.yml deleted file mode 100644 index e7070fd862..0000000000 --- a/install/third-party/chef/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-chef -name: Chef -title: Chef -description: - New Relic Chef recipe to deploy the New Relic Infrastructure agent and On Host Integrations throughout your environment. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/config-management-tools/configure-new-relic-infrastructure-using-chef diff --git a/install/third-party/circleci/install.yml b/install/third-party/circleci/install.yml deleted file mode 100644 index fd28852f7d..0000000000 --- a/install/third-party/circleci/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-circleci -name: CircleCi -title: CircleCI -description: - Provides views to track the performance and health of your continuous integration and deployment pipelines. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/forward-logs/circleci-logs/ diff --git a/install/third-party/cli/install.yml b/install/third-party/cli/install.yml deleted file mode 100644 index 0db5062cfb..0000000000 --- a/install/third-party/cli/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-newrelic-cli -name: New Relic CLI -title: New Relic CLI -description: | - Access the New Relic platform from the comfort of your terminal. You can use the New Relic CLI to manage entity tags, define workloads, record deployment markers, and much more. In short, you can use the CLI to automate common tasks in your DevOps workflow. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://developer.newrelic.com/automate-workflows/get-started-new-relic-cli/ \ No newline at end of file diff --git a/install/third-party/cloudflare/install.yml b/install/third-party/cloudflare/install.yml deleted file mode 100644 index 3a3d8d289c..0000000000 --- a/install/third-party/cloudflare/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-cloudflare -name: Cloudflare -title: Cloudflare network logs -description: | - The Cloudflare quickstart will enable you to monitor and analyze web traffic metrics. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/forward-logs/cloudflare-logpush-forwarding diff --git a/install/third-party/confluent-cloud/install.yml b/install/third-party/confluent-cloud/install.yml deleted file mode 100644 index 893582ae70..0000000000 --- a/install/third-party/confluent-cloud/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-confluent-cloud -name: ConfluentCloud -title: Confluent Cloud Managed Kafka -description: | - Observability for Confluent Cloud's fully managed service for Apache Kafka on New Relic delivered using the OpenTelemetry Collector -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: >- - https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/collector/confluentcloud \ No newline at end of file diff --git a/install/third-party/cordova/install.yml b/install/third-party/cordova/install.yml deleted file mode 100644 index d51f742418..0000000000 --- a/install/third-party/cordova/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-cordova -name: Cordova -title: Cordova -description: - Use New Relic Mobile monitoring to monitor your Cordova apps. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-cordova-phonegap/get-started/introduction-new-relic-cordova diff --git a/install/third-party/coredns/install.yml b/install/third-party/coredns/install.yml deleted file mode 100644 index a2f78fe289..0000000000 --- a/install/third-party/coredns/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-coredns -name: CoreDNS -title: CoreDNS Prometheus Monitoring -description: | - Visualize CoreDNS performance and alert on potential errors. CoreDNS is a critical Kubernetes cluster component and can be difficult to troubleshoot in an error scenario. Download New Relic CoreDNS quickstart to increase cluster visibility. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://coredns.io/plugins/metrics/ diff --git a/install/third-party/cribl-stream/install.yml b/install/third-party/cribl-stream/install.yml deleted file mode 100644 index de5493661b..0000000000 --- a/install/third-party/cribl-stream/install.yml +++ /dev/null @@ -1,19 +0,0 @@ -id: third-party-cribl-stream -name: Cribl Stream -title: Cribl Stream -description: | - Cribl Stream helps you process machine data – logs, instrumentation data, application data, metrics, etc. – in real time, and deliver them to your analysis platform of choice. - - It allows you to: - Add context to your data, by enriching it with information from external data sources. - Help secure your data, by redacting, obfuscating, or encrypting sensitive fields. - Optimize your data, per your performance and cost requirements. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.cribl.io/docs/destinations-newrelic diff --git a/install/third-party/dapr/install.yml b/install/third-party/dapr/install.yml deleted file mode 100644 index 3f9601cdb3..0000000000 --- a/install/third-party/dapr/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-dapr -name: Dapr -title: Dapr -description: | - Dapr is a portable, event-driven runtime that makes it easy for any developer to build resilient, stateless and stateful applications that run on the cloud and edge and embraces the diversity of languages and developer frameworks. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.dapr.io/operations/monitoring/tracing/newrelic/ diff --git a/install/third-party/databricks/install.yml b/install/third-party/databricks/install.yml deleted file mode 100644 index 584a4fe362..0000000000 --- a/install/third-party/databricks/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: third-party-databricks -name: Databricks -title: Databricks integration -description: | - Databricks is an orchestration platform for Apache Spark. Instantly monitor Databricks Spark applications with our New Relic Spark integration quickstart. Our integration provides a script run in a notebook to generate an installation script, which you can attach to a cluster and populate Spark metrics to New relic Insights events. Easily track the health of your Databricks clusters, fine-tune your Spark jobs for peak performance, and troubleshoot problems with this quickstart. - -target: - type: integration - destination: cloud - -level: Community - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/nri-spark#databricks-init-script-creator-notebook \ No newline at end of file diff --git a/install/third-party/datastream2-akamai/install.yml b/install/third-party/datastream2-akamai/install.yml deleted file mode 100644 index 5336de932a..0000000000 --- a/install/third-party/datastream2-akamai/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-datastream2-akamai -name: DataStream 2 -title: Akamai DataStream 2 -description: - DataStream 2 captures performance and security logs from your delivery properties and streams them in real-time to provide complete monitoring. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://techdocs.akamai.com/datastream2/docs/stream-new-relic diff --git a/install/third-party/datazoom/install.yml b/install/third-party/datazoom/install.yml deleted file mode 100644 index afdc6ef980..0000000000 --- a/install/third-party/datazoom/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-datazoom -name: Datazoom -title: Datazoom -description: | - The Datazoom quickstart will help you gain insights into your viewers streaming video experience. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://help.datazoom.io/hc/en-us/articles/360022667532-New-Relic-One diff --git a/install/third-party/dbmarlin/install.yml b/install/third-party/dbmarlin/install.yml deleted file mode 100644 index 9e0af8c7f3..0000000000 --- a/install/third-party/dbmarlin/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-dbmarlin -name: dbmarlin -title: DBmarlin -description: | - View database performance from within New Relic with this integration with DBmarlin. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.dbmarlin.com/docs/integrations/newrelic diff --git a/install/third-party/deeper-network/install.yml b/install/third-party/deeper-network/install.yml deleted file mode 100644 index 47d2001306..0000000000 --- a/install/third-party/deeper-network/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-deeper-network -name: Deeper Network -title: Deeper Network monitoring guide -description: | - This guide details how to use and install the `deeper-cli` to integrate and monitor your Deeper Connect devices with New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/Kav91/deeper-connect-monitoring diff --git a/install/third-party/delphix/install.yml b/install/third-party/delphix/install.yml deleted file mode 100644 index 82820969b8..0000000000 --- a/install/third-party/delphix/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-delphix -name: Delphix -title: Delphix Integration -description: | - The Delphix integration allows users to import data from the Delphix Platform to monitor usage and trigger the creation of RCA environments. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/delphix/dct-newrelic-integration diff --git a/install/third-party/docker/install.yml b/install/third-party/docker/install.yml deleted file mode 100644 index 0b3584ff20..0000000000 --- a/install/third-party/docker/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-docker -name: Docker -title: Docker -description: - Monitoring Docker is critical to get instant performance metrics for containerized applications across your entire environment. Install New Relic Docker monitoring quickstart to proactively instrument Docker with New Relic integration. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/data-instrumentation/docker-instrumentation-infrastructure \ No newline at end of file diff --git a/install/third-party/dropwizard/install.yml b/install/third-party/dropwizard/install.yml deleted file mode 100644 index 6e74e1ae17..0000000000 --- a/install/third-party/dropwizard/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-dropwizard -name: Dropwizard -title: Dropwizard -description: - Send your Dropwizard telemetry to New Relic. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/new-relics-dropwizard-integration \ No newline at end of file diff --git a/install/third-party/ejb-session-beans/install.yml b/install/third-party/ejb-session-beans/install.yml deleted file mode 100644 index 68a1430ef9..0000000000 --- a/install/third-party/ejb-session-beans/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-ejb-session-beans -name: EJB Session Beans -title: EJB Session Beans -description: Monitor EJB session beans with New Relic's Java agent - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/apm/agents/java-agent/getting-started/compatibility-requirements-java-agent/ \ No newline at end of file diff --git a/install/third-party/elasticsearch-query/install.yml b/install/third-party/elasticsearch-query/install.yml deleted file mode 100644 index 139b62cab6..0000000000 --- a/install/third-party/elasticsearch-query/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-elasticsearch-query -name: Elasticsearch query Java Agent Extension -title: Elasticsearch query Java Agent Extension -description: | - Java agent extension to monitor elasticsearch queries as dataStore queries with New Relic. - Once deployed elasticsearch queries begin to show up in the New Relic UI under Databases for the application using elasticsearch queries. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/newrelic-java-elasticsearch diff --git a/install/third-party/event-api/install.yml b/install/third-party/event-api/install.yml deleted file mode 100644 index 3e2f38646c..0000000000 --- a/install/third-party/event-api/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-event-api -name: Event API -title: Event API -description: - The New Relic Event API is one way to report custom events to New Relic. The Event API lets you send custom event data to your New Relic account with a POST command. These events are then queryable and chartable using NRQL. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/telemetry-data-platform/ingest-apis/introduction-event-api/ \ No newline at end of file diff --git a/install/third-party/f5/install.yml b/install/third-party/f5/install.yml deleted file mode 100644 index df1ac9a279..0000000000 --- a/install/third-party/f5/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-f5 -name: f5 -title: F5 -description: | - F5 is a family of software and hardware products designed around application availability, access control, and security. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/f5-monitoring-integration/ \ No newline at end of file diff --git a/install/third-party/fastly/install.yml b/install/third-party/fastly/install.yml deleted file mode 100644 index 4702ac573c..0000000000 --- a/install/third-party/fastly/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: third-party-fastly -name: Fastly -title: Fastly CDN logs -description: | - With Fastly’s powerful edge cloud platform, developers get the tools they need to build the most groundbreaking apps — all optimized for speed, security, and scale — so businesses can effectively transform to compete in today’s markets. Together, we’re building the future of the web. - - To help you tune the performance of your Fastly services, we support real-time log streaming of data that passes through Fastly. We support a number of protocols that allow you to stream logs to New Relic Logs. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.fastly.com/en/guides/log-streaming-newrelic-logs diff --git a/install/third-party/fluent-bit-plugin-for-logs/install.yml b/install/third-party/fluent-bit-plugin-for-logs/install.yml deleted file mode 100644 index 78ba33e4bb..0000000000 --- a/install/third-party/fluent-bit-plugin-for-logs/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-fluent-bit-plugin-for-logs -name: Fluent Bit plugin for Logs -title: Fluent Bit plugin for Logs -description: | - Open source and multi-platform Log Processor and Forwarder which allows you to - collect data/logs from different sources. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/forward-logs/fluent-bit-plugin-log-forwarding/ diff --git a/install/third-party/fluentd-plugin-for-logs/install.yml b/install/third-party/fluentd-plugin-for-logs/install.yml deleted file mode 100644 index 00636c652d..0000000000 --- a/install/third-party/fluentd-plugin-for-logs/install.yml +++ /dev/null @@ -1,20 +0,0 @@ -id: third-party-fluentd-plugin-for-logs -name: Fluentd plugin for Logs -title: Fluentd plugin for Logs -description: | - Open source data collector, which lets you unify the data collection and - consumption for a better use and understanding of data. - -target: - type: integration - destination: cloud - -install: - mode: nerdlet - destination: - nerdletId: instrument-everything-logs.setup-fluentd - -fallback: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/forward-logs/fluentd-plugin-log-forwarding/ diff --git a/install/third-party/full-story/install.yml b/install/third-party/full-story/install.yml deleted file mode 100644 index b01ee97b2d..0000000000 --- a/install/third-party/full-story/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-full-story -name: Full Story -title: Full Story -description: | - FullStory’s URL session replay. See users’ views of errors and performance - issues alongside essential details flowing through New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://partners.fullstory.com/integrations/solution/925/new-relic# diff --git a/install/third-party/gcp-pubsub/install.yml b/install/third-party/gcp-pubsub/install.yml deleted file mode 100644 index 0e50b125f3..0000000000 --- a/install/third-party/gcp-pubsub/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-gcp-pubsub -name: Google Cloud Pub/Sub Java Agent Extension -title: Google Cloud Pub/Sub Java Agent Extension -description: | - Java agent extension to monitor Google Cloud Pub/Sub with New Relic. Once installed, the instrumentation will monitor both the publish and the subscribe of messages sent via the PubSub framework. - In addition, the instrumentation will take care of distributed tracing so that the publish will provide the distributed tracing headers on the message and the subscribe will read the headers and process them appropriately. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/newrelic-java-gcp-pubsub \ No newline at end of file diff --git a/install/third-party/gigamon-appinsights/install.yml b/install/third-party/gigamon-appinsights/install.yml deleted file mode 100644 index e9a157ebeb..0000000000 --- a/install/third-party/gigamon-appinsights/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: third-party-gigamon-appinsights - -name: Gigamon Application Insights - -title: Gigamon Application Insights - -description: | - Application intelligence is the power to identify, filter, and enrich application data coming from your hybrid cloud. - It directs precise application and metadata flows to security and observability tools for insight into New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.gigamon.com/partners/technology-partners.html#new-relic diff --git a/install/third-party/gigamon/install.yml b/install/third-party/gigamon/install.yml deleted file mode 100644 index 358b786322..0000000000 --- a/install/third-party/gigamon/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-gigamon -name: Gigamon Cloud Observability -title: Gigamon Cloud Observability -description: | - Gigamon helps the world’s leading organizations run fast, stay secure and innovate. We provide the industry’s first elastic visibility and analytics fabric, which closes the cloud visibility gap by enabling cloud tools to see the network and network tools to see the cloud. With visibility across their entire hybrid cloud network, organizations can improve customer experience, eliminate security blind spots, and reduce cost and complexity. Gigamon has been awarded over 90 technology patents and enjoys world-class customer satisfaction with more than 4,000 organizations, including over 80 percent of the Fortune 100 and hundreds of government and educational organizations worldwide. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.gigamon.com/lp/free-trial/request-live-cloud-demo.html \ No newline at end of file diff --git a/install/third-party/github/install.yml b/install/third-party/github/install.yml deleted file mode 100644 index 260f622aa4..0000000000 --- a/install/third-party/github/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: github-dependabot-install -name: GitHub Dependabot -title: Automatically Import GitHub Dependabot Events -description: | - Set up automatic ingestion of your GitHub Dependabot events by using webhook for ongoing ingestion and historical import for past data. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/vulnerability-management/integrations/dependabot diff --git a/install/third-party/gitlab/install.yml b/install/third-party/gitlab/install.yml deleted file mode 100644 index e876120d5f..0000000000 --- a/install/third-party/gitlab/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-gitlab-integration -name: gitlab -title: Gitlab OpenTelemetry integration -description: | - GitLab is a popular single application for the entire DevOps lifecycle, fulfilling all the fundamentals for CI/CD in one environment. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/gitlab \ No newline at end of file diff --git a/install/third-party/glassbox/install.yml b/install/third-party/glassbox/install.yml deleted file mode 100644 index 4a570f12bb..0000000000 --- a/install/third-party/glassbox/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-glassbox -name: glassbox -title: Glassbox Digital -description: | - Glassbox empowers organizations to create frictionless digital journeys for their customers. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://support.glassbox.com/hc/en-gb/articles/4405777280401-How-to-Connect-New-Relic diff --git a/install/third-party/grafana-dashboard-migration/install.yml b/install/third-party/grafana-dashboard-migration/install.yml deleted file mode 100644 index 5a74ba60c1..0000000000 --- a/install/third-party/grafana-dashboard-migration/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-grafana-dashboard-migration -name: Grafana Dashboard Migration -title: Grafana Dashboard Migration -description: | - Convert Grafana Prometheus dashboards to New Relic dashboards. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/nr-grafana-migration \ No newline at end of file diff --git a/install/third-party/grafana-prometheus-integration/install.yml b/install/third-party/grafana-prometheus-integration/install.yml deleted file mode 100644 index 3641853242..0000000000 --- a/install/third-party/grafana-prometheus-integration/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-grafana-prometheus-integration -name: Grafana Prometheus Integration -title: Grafana Prometheus Integration -description: - In Grafana, you can configure New Relic as a Prometheus data source. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/grafana-integrations/get-started/grafana-support-prometheus-promql/ diff --git a/install/third-party/hashicorp-hcp-consul/install.yml b/install/third-party/hashicorp-hcp-consul/install.yml deleted file mode 100644 index 44562cbc21..0000000000 --- a/install/third-party/hashicorp-hcp-consul/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: third-party-hashicorp-hcp-consul -name: HCP Consul -title: HCP Consul Integration -description: | - This guide details how to deploy the HCP Consul integration, to monitor your Hashicorp HCP Consul environment with New Relic. - -target: - type: integration - destination: cloud - -level: Verified - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/hashicorp-quickstart-annex/tree/main/hcp-consul/ diff --git a/install/third-party/hcp-vault/install.yml b/install/third-party/hcp-vault/install.yml deleted file mode 100644 index ab8e83b27e..0000000000 --- a/install/third-party/hcp-vault/install.yml +++ /dev/null @@ -1,16 +0,0 @@ -id: third-party-hcp-vault -name: HCP Vault -title: HCP Vault Integration -description: | - This guide details how to deploy the HCP Vault integration, to monitor your Hashicorp HCP Vault environment with New Relic. - -target: - type: integration - destination: cloud - -level: Verified - -install: - mode: link - destination: - url: https://developer.hashicorp.com/vault/tutorials/cloud-monitoring/vault-metrics-guide diff --git a/install/third-party/inet-oracle-driver/install.yml b/install/third-party/inet-oracle-driver/install.yml deleted file mode 100644 index 4b0452fd64..0000000000 --- a/install/third-party/inet-oracle-driver/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-inet-oracle-driver -name: Inet Oracle Driver (oranxo) -title: Inet Oracle Driver (oranxo) -description: - Java driver built by Inet for managing Oracle database servers. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent diff --git a/install/third-party/jdbc-executebatch/install.yml b/install/third-party/jdbc-executebatch/install.yml deleted file mode 100644 index 1df050d03f..0000000000 --- a/install/third-party/jdbc-executebatch/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-jdbc-executebatch -name: JDBC-ExecuteBatch Java Agent Extension -title: JDBC-ExecuteBatch Java Agent Extension -description: | - Java agent extension to monitor the executeBatch method of the Statement, PreparedStatement and CallableStatement interfaces as a database call. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/newrelic-java-JDBC-ExecuteBatch \ No newline at end of file diff --git a/install/third-party/jenkins/install.yml b/install/third-party/jenkins/install.yml deleted file mode 100644 index 154fbec6bf..0000000000 --- a/install/third-party/jenkins/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-jenkins-integration -name: Jenkins -title: Jenkins OpenTelemetry integration -description: | - Jenkins is an open source automation server which enables developers around the world to reliably build, test, and deploy their software. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/monitoring-jenkins-ot/ \ No newline at end of file diff --git a/install/third-party/jfrog-platform/install.yml b/install/third-party/jfrog-platform/install.yml deleted file mode 100644 index 44bda59007..0000000000 --- a/install/third-party/jfrog-platform/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-jfrog-platform -name: JFrog Platform -title: JFrog Platform -description: - Observe JFrog Platform and gain insights using New Relic Observability platform - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://jfrog.com/help/r/jfrog-platform-administration-documentation/new-relic \ No newline at end of file diff --git a/install/third-party/jira-errors/install.yml b/install/third-party/jira-errors/install.yml deleted file mode 100644 index 7f2ebb921f..0000000000 --- a/install/third-party/jira-errors/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-jira-errors-inbox -name: Atlassian Jira for Errors Inbox -title: Atlassian Jira for Errors Inbox -description: - Integrated errors inbox with Atlassian Jira (cloud) to easily create tickets for your errors. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/errors-inbox/errors-inbox/#jira \ No newline at end of file diff --git a/install/third-party/kamon/install.yml b/install/third-party/kamon/install.yml deleted file mode 100644 index 44619c95bc..0000000000 --- a/install/third-party/kamon/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-kamon -name: Kamon -title: Kamon -description: - Send telemetry data from your Kamon-instrumented applications to your New Relic account. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/kamon-reporter diff --git a/install/third-party/kentik/install.yml b/install/third-party/kentik/install.yml deleted file mode 100644 index 89d1e1edf1..0000000000 --- a/install/third-party/kentik/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-kentik-firehose -name: Kentik Firehose -title: Kentik Firehose -description: | - Kentik is built around the Kentik Data Engine (KDE), which gathers flow records (e.g. NetFlow or sFlow) sent by your data sources (network devices, hosts, clouds) and enriches them with additional data (SNMP, GeoIP, BGP, threat feeds, etc.) before storing them (redundantly) in a time-series database. Kentik Firehose provides the ability to simultaneously send the same enriched flow records that are ingested by KDE to a location of your choice, which enables you to integrate the data into other (non-Kentik) analytics systems, either directly or through a data lake. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://kb.kentik.com/v0/Fc19.htm#Fc19-Firehose_Overview \ No newline at end of file diff --git a/install/third-party/lacework/install.yml b/install/third-party/lacework/install.yml deleted file mode 100644 index ee94e5561e..0000000000 --- a/install/third-party/lacework/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-lacework-integration -name: Lacework -title: Lacework integration -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. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.lacework.net/onboarding/new-relic \ No newline at end of file diff --git a/install/third-party/launchdarkly/install.yml b/install/third-party/launchdarkly/install.yml deleted file mode 100644 index 1c12099dee..0000000000 --- a/install/third-party/launchdarkly/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-launchdarkly -name: LaunchDarkly -title: LaunchDarkly -description: | - LaunchDarkly provides simple, scalable feature flag & toggle management - (feature management) for the modern enterprise. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.launchdarkly.com/integrations/new-relic \ No newline at end of file diff --git a/install/third-party/lighthouse/install.yml b/install/third-party/lighthouse/install.yml deleted file mode 100644 index 4875393df4..0000000000 --- a/install/third-party/lighthouse/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-lighthouse -name: Lighthouse -title: Lighthouse -description: - Lighthouse is a simple web-based issue-tracking application. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/using-new-relic/user-interface-functions/share-your-data/ticketing-integrations-lighthouse-pivotal-tracker \ No newline at end of file diff --git a/install/third-party/logs/install.yml b/install/third-party/logs/install.yml deleted file mode 100644 index 88d766dafc..0000000000 --- a/install/third-party/logs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-logs-api -name: Logs API -title: Logs API -description: - If our logging solutions don't meet your needs, you can use our Log API to send log data directly to New Relic's Log management via an HTTP endpoint. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/log-management/log-api/introduction-log-api/ diff --git a/install/third-party/logstash-plugin-for-logs/install.yml b/install/third-party/logstash-plugin-for-logs/install.yml deleted file mode 100644 index afaa55e65d..0000000000 --- a/install/third-party/logstash-plugin-for-logs/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-logstash-plugin-for-logs -name: Logstash plugin for Logs -title: Logstash plugin for Logs -description: - Open source server-side data processing pipeline for condensing disparate data - sources. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/enable-logs/enable-logs/logstash-plugin-logs diff --git a/install/third-party/metric/install.yml b/install/third-party/metric/install.yml deleted file mode 100644 index 26053af32a..0000000000 --- a/install/third-party/metric/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-metric-api -name: Metric API -title: Metric API -description: | - New Relic's Metric API can be used to send metric data to New Relic from a variety of sources. This API is how metrics from some of our integrations and exporters get into New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/telemetry-data-platform/ingest-apis/metric-api/introduction-metric-api/ diff --git a/install/third-party/micrometer/install.yml b/install/third-party/micrometer/install.yml deleted file mode 100644 index ea59e4b4d0..0000000000 --- a/install/third-party/micrometer/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-micrometer -name: Micrometer -title: Micrometer -description: - Library for viewing and managing instrumentation clients for popular services and applications. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/new-relics-micrometer-integration \ No newline at end of file diff --git a/install/third-party/mssql-queryplan/install.yml b/install/third-party/mssql-queryplan/install.yml deleted file mode 100644 index 39cd5deadd..0000000000 --- a/install/third-party/mssql-queryplan/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-mssql-query-plans -name: Microsoft SQL Server Query Plans -title: Microsoft SQL Server Query Plans -description: | - Display MSSQL query plans on your dashboards. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/nri-mssql-experimental \ No newline at end of file diff --git a/install/third-party/netlify-builds/install.yml b/install/third-party/netlify-builds/install.yml deleted file mode 100644 index dc5171bd4d..0000000000 --- a/install/third-party/netlify-builds/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-netlify -name: Netlify -title: Netlify Builds -description: | - Netlify is an all-in-one platform for automating modern web projects. Replace your hosting infrastructure, continuous integration, and deployment pipeline with a single workflow. Integrate dynamic functionality like serverless functions, user authentication, and form handling as your projects grow. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.npmjs.com/package/@newrelic/netlify-plugin#installation diff --git a/install/third-party/netlify-logs/install.yml b/install/third-party/netlify-logs/install.yml deleted file mode 100644 index 3641b25a9e..0000000000 --- a/install/third-party/netlify-logs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-netlify-logs -name: netlify-logs -title: Netlify Logs -description: | - Netlify is an all-in-one platform for automating modern web projects. Replace your hosting infrastructure, continuous integration, and deployment pipeline with a single workflow. Use this quickstart to quickly parse traffic and function logs from Netlify into meaningful metrics in New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.netlify.com/monitor-sites/log-drains/ diff --git a/install/third-party/nginx-ingress/install.yml b/install/third-party/nginx-ingress/install.yml deleted file mode 100644 index 2281d25f4d..0000000000 --- a/install/third-party/nginx-ingress/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-nginx-ingress -name: NGINX Ingress Controller -title: NGINX Ingress Controller Prometheus Monitoring -description: | - Visualize NGINX ingress controller performance and alert on potential configuration errors. Download New Relic NGINX ingress controller quickstart to increase visibility into your ingress performance. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://kubernetes.github.io/ingress-nginx/user-guide/monitoring/#prometheus-and-grafana-installation-using-pod-annotations diff --git a/install/third-party/observability-as-code/puppet/install.yml b/install/third-party/observability-as-code/puppet/install.yml deleted file mode 100644 index d0c9cecf0e..0000000000 --- a/install/third-party/observability-as-code/puppet/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-puppet -name: puppet -title: Puppet -description: | - New Relic Puppet module to deploy the New Relic Infrastructure agent and On Host Integrations throughout your environment. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet/ - \ No newline at end of file diff --git a/install/third-party/okhttp/install.yml b/install/third-party/okhttp/install.yml deleted file mode 100644 index 54b5736101..0000000000 --- a/install/third-party/okhttp/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-okhttp -name: OKHTTP -title: OKHTTP -description: - OkHttp is a third-party library developed by Square for sending and receive - HTTP-based network requests. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/configure-proguard-or-dexguard-android-apps diff --git a/install/third-party/oma-aqm/install.yml b/install/third-party/oma-aqm/install.yml deleted file mode 100644 index 15383ef7f1..0000000000 --- a/install/third-party/oma-aqm/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-alert-quality-management -name: Alert Quality Management -title: Alert Quality Management -description: | - Reduce the volume of nuisance incidents with the Alert Quality Management dashboard and process. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/uptime-performance-reliability/aqm-implementation-guide/ \ No newline at end of file diff --git a/install/third-party/oma-bofu/install.yml b/install/third-party/oma-bofu/install.yml deleted file mode 100644 index 71249b857c..0000000000 --- a/install/third-party/oma-bofu/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-customer-experience-bottom-funnel-analysis -name: Customer Experience Bottom of the funnel analysis -title: Customer Experience Bottom of the funnel analysis -description: | - Use cart abandonment reduction techniques to improve completion rates of any user journey - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/bottom-funnel-analysis-customer-journey-guide \ No newline at end of file diff --git a/install/third-party/oma-qf/install.yml b/install/third-party/oma-qf/install.yml deleted file mode 100644 index 8add9d22f7..0000000000 --- a/install/third-party/oma-qf/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-customer-experience-quality-foundation -name: Customer Experience Quality Foundation -title: Customer Experience Quality Foundation -description: | - Focus on the user's experience of performance so you can optimize your site for satisfaction, retention, and conversion - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/new-relic-solutions/observability-maturity/customer-experience/quality-foundation-implementation-guide \ No newline at end of file diff --git a/install/third-party/opencensus/install.yml b/install/third-party/opencensus/install.yml deleted file mode 100644 index 6f8b5542e8..0000000000 --- a/install/third-party/opencensus/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-opencensus -name: OpenCensus -title: OpenCensus -description: - OpenCensus is a set of libraries that allow you to collect application metrics - and distributed traces. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/data-ingest-apis/get-data-new-relic/new-relic-sdks/telemetry-sdks-send-custom-telemetry-data-new-relic diff --git a/install/third-party/opentelemetry/install.yml b/install/third-party/opentelemetry/install.yml deleted file mode 100644 index 18e0420468..0000000000 --- a/install/third-party/opentelemetry/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-opentelemetry -name: OpenTelemetry -title: OpenTelemetry -description: | - OpenTelemetry provides a secure, vendor-neutral specification for service instrumentation so that you can export data to New Relic. OpenTelemetry offers a single set of APIs and libraries that standardize how you collect and transfer telemetry data for your services. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/new-relics-opentelemetry-integration diff --git a/install/third-party/oracle-database/install.yml b/install/third-party/oracle-database/install.yml deleted file mode 100644 index c6c3193aa8..0000000000 --- a/install/third-party/oracle-database/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-oracledb -name: Oracle Database -title: Oracle Database -description: - Traditional database management system for running online transaction - processing, data warehousing, and mixed database workloads. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/oracledatabase-monitoring-integration diff --git a/install/third-party/pagerduty/install.yml b/install/third-party/pagerduty/install.yml deleted file mode 100644 index c1d4229f5f..0000000000 --- a/install/third-party/pagerduty/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-pagerduty -name: Pagerduty -title: Pagerduty -description: | - PagerDuty provides a SaaS incident response platform for IT departments. Send your New Relic alerts to PagerDuty. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/alerts/new-relic-alerts/managing-notification-channels/notification-channels-control-where-send-alerts diff --git a/install/third-party/perfmon/install.yml b/install/third-party/perfmon/install.yml deleted file mode 100644 index a9b79ed9c4..0000000000 --- a/install/third-party/perfmon/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-perfmon -name: PerfMon -title: PerfMon -description: | - Windows Performance Monitor is a toolkit that enables system performance data - and analytics. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/perfmon-open-source-integration \ No newline at end of file diff --git a/install/third-party/port-monitoring/install.yml b/install/third-party/port-monitoring/install.yml deleted file mode 100644 index adf9a6097f..0000000000 --- a/install/third-party/port-monitoring/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-port-monitoring -name: Port monitoring -title: Port monitoring -description: | - Efficient port monitoring is essential to understand context for status changes and respond quickly. Download the New Relic port monitoring quickstart to track your network port’s critical metrics and improve performance. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/port-monitoring-open-source-integration \ No newline at end of file diff --git a/install/third-party/postman/install.yml b/install/third-party/postman/install.yml deleted file mode 100644 index 5153ae4a39..0000000000 --- a/install/third-party/postman/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-postman -name: Postman -title: Postman -description: - Observe the performance of your APIs using Postman and New Relic - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://learning.postman.com/docs/integrations/available-integrations/new-relic/ diff --git a/install/third-party/pulumi/install.yml b/install/third-party/pulumi/install.yml deleted file mode 100644 index ca05ceb41a..0000000000 --- a/install/third-party/pulumi/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-pulumi -name: Pulumi -title: Pulumi -description: | - Pulumi is a popular infrastructure-as-code software tool. - You use it to provision all kinds of infrastructure and services, including New Relic entities, dashboard, alerts and synthetics. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.pulumi.com/registry/packages/newrelic/ \ No newline at end of file diff --git a/install/third-party/quantum-metric/install.yml b/install/third-party/quantum-metric/install.yml deleted file mode 100644 index 4accbf8a1d..0000000000 --- a/install/third-party/quantum-metric/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-quantum-metric -name: Quantum Metric -title: Quantum Metric -description: - Quantum Metric is a platform for continuous product design. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.quantummetric.com/partners/integration-new-relic/ - \ No newline at end of file diff --git a/install/third-party/react-native/install.yml b/install/third-party/react-native/install.yml deleted file mode 100644 index ece7722ce0..0000000000 --- a/install/third-party/react-native/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-react-native -name: React Native -title: React Native -description: | - The React Native Quickstart is the ultimate performance monitoring solution for mobile applications. The included dashboards and alerts allow developers to optimize their application’s usability and understand how changes impact its performance. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile/get-started/introduction-mobile-monitoring/ - \ No newline at end of file diff --git a/install/third-party/redhat/red-hat-openshift/install.yml b/install/third-party/redhat/red-hat-openshift/install.yml deleted file mode 100644 index 63ab4a70c6..0000000000 --- a/install/third-party/redhat/red-hat-openshift/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-red-hat-openshift -name: Red Hat OpenShift -title: Red Hat OpenShift -description: | - Red Hat OpenShift is a hybrid cloud, enterprise Kubernetes application - platform. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/installation/kubernetes-integration-install-configure/ diff --git a/install/third-party/releaseiq/install.yml b/install/third-party/releaseiq/install.yml deleted file mode 100644 index 887815fec3..0000000000 --- a/install/third-party/releaseiq/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-releaseiq -name: ReleaseIQ -title: ReleaseIQ -description: | - With ReleaseIQ quickstart, you get application performance information from ReleaseIQ platform in your New Relic dashboard. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.releaseiq.io/use-cases/new-relic/ - diff --git a/install/third-party/roku-http-analytics/install.yml b/install/third-party/roku-http-analytics/install.yml deleted file mode 100644 index 782af22cd7..0000000000 --- a/install/third-party/roku-http-analytics/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-roku-http-analytics -name: Roku HTTP Analytics (optional) -title: Roku HTTP Analytics (optional) -description: | - An HTTP and HTTP Errors analytics experience for Roku to identify and fix networking issues -target: - type: unknown - destination: unknown - -install: - mode: link - destination: - url: https://one.newrelic.com/marketplace?state=cc2a568b-0d2b-8498-aec4-c4230bf4d2a0 diff --git a/install/third-party/roku/install.yml b/install/third-party/roku/install.yml deleted file mode 100644 index 554343daac..0000000000 --- a/install/third-party/roku/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-roku -name: roku -title: Roku -description: | - The New Relic Roku Agent tracks the behaviour of a Roku App. It contains two parts, one to monitor general system level events and one to monitor video related events, for apps that use a video player. -target: - type: integration - destination: agent - -install: - mode: link - destination: - url: https://github.com/newrelic/video-agent-roku#installation diff --git a/install/third-party/salesforce-eventlog-for-logs/install.yml b/install/third-party/salesforce-eventlog-for-logs/install.yml deleted file mode 100644 index b9b9b7be3b..0000000000 --- a/install/third-party/salesforce-eventlog-for-logs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-salesforce-eventlog-for-logs -name: Salesforce Event Logs Monitoring -title: Salesforce Event Logs integration for New Relic Logs -description: | - Monitor Salesforce platform performace, security, and user activity using events generated in Salesforce - -target: - type: integration - destination: host - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/newrelic-logs-salesforce-eventlogfile diff --git a/install/third-party/sendgrid/install.yml b/install/third-party/sendgrid/install.yml deleted file mode 100644 index 51e362ebfd..0000000000 --- a/install/third-party/sendgrid/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-sendgrid-integration -name: Sendgrid -title: SendGrid Events Webhook -description: | - SendGrid provides a cloud-based service that assists businesses with email delivery. In order to integrate SendGrid Events with New Relic, you will need to send SendGrid events by using the SendGrid Event Webhook. If you are already sending events to AWS S3 using the SendGrid Event Webhook, these events can be transferred to New Relic by using NewRelic-log-ingestion-s3. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.sendgrid.com/for-developers/tracking-events/getting-started-event-webhook diff --git a/install/third-party/signl4/install.yml b/install/third-party/signl4/install.yml deleted file mode 100644 index 2a6b7b3f36..0000000000 --- a/install/third-party/signl4/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-signl4 -name: SIGNL4 -title: SIGNL4 -description: | - Mobile alerting SaaS that bridges the last mile from IT systems, machines, and - sensors to engineers, IT staff and workers in the field. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.signl4.com/blog/portfolio_item/new_relic_mobile_alerting/ diff --git a/install/third-party/snmp/install.yml b/install/third-party/snmp/install.yml deleted file mode 100644 index 042b1b0b13..0000000000 --- a/install/third-party/snmp/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-snmp -name: Legacy SNMP -title: Legacy SNMP -description: - Monitoring SNMP is important to capture critical network performance metrics. Download the New Relic SNMP quickstart today to proactively monitor the health of your network and understand behaviors within the network. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/snmp-monitoring-integration diff --git a/install/third-party/snyk/install.yml b/install/third-party/snyk/install.yml deleted file mode 100644 index 45497b54e3..0000000000 --- a/install/third-party/snyk/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-snyk -name: Snyk -title: Snyk -description: | - Snyk is a developer security platform. Integrating directly into development tools, workflows, and automation pipelines, Snyk makes it easy for teams to find, prioritize, and fix security vulnerabilities in code (SAST), dependencies (SCA), containers, and infrastructure as code (IaC). Supported by industry-leading application and security intelligence, Snyk puts security expertise in any developer's toolkit. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.snyk.io/snyk-api-info/snyk-webhooks/using-snyk-webhooks-to-integrate-new-relic-with-snyk-through-an-azure-function-app diff --git a/install/third-party/speedscale/install.yml b/install/third-party/speedscale/install.yml deleted file mode 100644 index 32e8ff8791..0000000000 --- a/install/third-party/speedscale/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-speedscale-integration -name: Speedscale -title: Speedscale integration -description: | - Speedscale is a traffic replay platform. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.speedscale.com/ \ No newline at end of file diff --git a/install/third-party/split/install.yml b/install/third-party/split/install.yml deleted file mode 100644 index 8d5cdc1508..0000000000 --- a/install/third-party/split/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-split -name: Split -title: Split -description: | - A feature delivery platform that powers feature flag management, software - experimentation, and continuous delivery. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://www.split.io/blog/querying-split-impressions-in-new-relic-for-more-insight-into-your-metrics/ \ No newline at end of file diff --git a/install/third-party/statsd/install.yml b/install/third-party/statsd/install.yml deleted file mode 100644 index cb9bd9c352..0000000000 --- a/install/third-party/statsd/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-statsd -name: statsd -title: StatsD -description: | - Lightweight, open-source Node.js application that listens for metrics from - different applications and aggregates them. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/statsd-monitoring-integration-version-2/ diff --git a/install/third-party/synthetics-availability/install.yml b/install/third-party/synthetics-availability/install.yml deleted file mode 100644 index 4c5d081af9..0000000000 --- a/install/third-party/synthetics-availability/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-synthetics-availability -name: Synthetics Availability (Ping) -title: Synthetics Availability (Ping) -description: Availabilty or Ping monitors are the simplest type of monitor. They simply check to see if an application is online. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ \ No newline at end of file diff --git a/install/third-party/synthetics-endpoint-availability/install.yml b/install/third-party/synthetics-endpoint-availability/install.yml deleted file mode 100644 index cb3514e588..0000000000 --- a/install/third-party/synthetics-endpoint-availability/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-synthetics-endpoint-availability -name: Synthetics Endpoint Availability -title: Synthetics Endpoint Availability -description: Synthetic API tests are used to monitor your API endpoints. This can ensure that your app server works in addition to your website. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ \ No newline at end of file diff --git a/install/third-party/synthetics-page-link-crawler/install.yml b/install/third-party/synthetics-page-link-crawler/install.yml deleted file mode 100644 index a6d9e6286e..0000000000 --- a/install/third-party/synthetics-page-link-crawler/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-synthetics-page-link-crawler -name: Synthetics Page Link Crawler -title: Synthetics Page Link Crawler -description: Monitoring website links is crucial to ensure that you detect broken links and resolve outages swiftly. Download the New Relic Synthetic Link Crawler quickstart to start monitoring your websites for broken links. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ \ No newline at end of file diff --git a/install/third-party/synthetics-page-load-performance/install.yml b/install/third-party/synthetics-page-load-performance/install.yml deleted file mode 100644 index de95c1c69e..0000000000 --- a/install/third-party/synthetics-page-load-performance/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-synthetics-page-load-performance -name: Synthetics Page Load performance -title: Synthetics Page Load performance -description: Full page load of a given URL which provides deep data insights like resource breakdowns and timelines. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ \ No newline at end of file diff --git a/install/third-party/synthetics-ssl-certification-check/install.yml b/install/third-party/synthetics-ssl-certification-check/install.yml deleted file mode 100644 index d9b7fea773..0000000000 --- a/install/third-party/synthetics-ssl-certification-check/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-synthetics-ssl-certification-check -name: Synthetics SSL Certification check -title: Synthetics SSL Certification check -description: Check the expiration and validity period on an SSL certificate of a given domain. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ \ No newline at end of file diff --git a/install/third-party/terraform/install.yml b/install/third-party/terraform/install.yml deleted file mode 100644 index 758f355f77..0000000000 --- a/install/third-party/terraform/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-terraform -name: Terraform -title: Terraform -description: Terraform is a popular, infrastructure-as-code software tool built by HashiCorp. - You use it to provision all kinds of infrastructure and services, including New Relic entities, dashboard, alerts and synthetics. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://developer.newrelic.com/terraform/get-started-terraform/ \ No newline at end of file diff --git a/install/third-party/trace/install.yml b/install/third-party/trace/install.yml deleted file mode 100644 index 236bdbc217..0000000000 --- a/install/third-party/trace/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-trace-and-span-api -name: Trace and Span API -title: Trace and Span API -description: | - Our Trace API is used to send distributed tracing data to New Relic: either in our own generic format or the Zipkin data format. This API is also how trace data from some of our integrations and exporters is reported to New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/distributed-tracing/trace-api/introduction-trace-api/ \ No newline at end of file diff --git a/install/third-party/trendmicro-cloudone-conformity/install.yml b/install/third-party/trendmicro-cloudone-conformity/install.yml deleted file mode 100644 index ecec866d62..0000000000 --- a/install/third-party/trendmicro-cloudone-conformity/install.yml +++ /dev/null @@ -1,18 +0,0 @@ -id: third-party-trendmicro-cloudone-conformity -name: Trend Micro Cloud One - Conformity -title: New Relic’s integration with Trend Micro Cloud One - Conformity -description: | - New Relic’s integration with Trend Micro Cloud One - Conformity ingests cloud security posture management (CSPM) data from Conformity into New Relic in real-time. - The integration deploys a Amazon Web Services (AWS) CloudFormation stack in your AWS account. Bring your Conformity generated CSPM data into New Relic one to contextualize and correlate it with workload telemetry data, delivering AI powered visualizations and quick insights. - Conformity generated CSPM data into New Relic One where it's contextualized and correlated with workload telemetry data delivering AI powered visualizations and quick insights. - -target: - type: integration - destination: cloud - -level: Community - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/newrelic-connector-trendmicro-cloud-one-conformity#readme diff --git a/install/third-party/unix/install.yml b/install/third-party/unix/install.yml deleted file mode 100644 index 81bc0d027e..0000000000 --- a/install/third-party/unix/install.yml +++ /dev/null @@ -1,15 +0,0 @@ -id: third-party-unix -name: Unix -title: Unix -description: | - The Unix monitoring integration allows for system-level monitoring of AIX, - Linux, macOS, Solaris/SunOS and other Unix-based servers. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/integrations/host-integrations/open-source-host-integrations-list/unix-monitoring-open-source-integration \ No newline at end of file diff --git a/install/third-party/user-flow/install.yml b/install/third-party/user-flow/install.yml deleted file mode 100644 index 2d6236aa94..0000000000 --- a/install/third-party/user-flow/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-synthetics-user-flow -name: Synthetics User Flow check -title: Synthetics User Flow check -description: | - Develop your own customised Synthetics check with a fully scriptable browser test. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ \ No newline at end of file diff --git a/install/third-party/user-step-execution/install.yml b/install/third-party/user-step-execution/install.yml deleted file mode 100644 index a8b0402f0b..0000000000 --- a/install/third-party/user-step-execution/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-synthetics-user-step-execution -name: Synthetics User Step Execution -title: Synthetics User Step Execution -description: | - Zero code Synthetics monitor building - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/ \ No newline at end of file diff --git a/install/third-party/vercel/install.yml b/install/third-party/vercel/install.yml deleted file mode 100644 index e08501e3c6..0000000000 --- a/install/third-party/vercel/install.yml +++ /dev/null @@ -1,12 +0,0 @@ -id: third-party-vercel -name: Vercel -title: Vercel logs -description: | - The Vercel quickstart will help monitor your end-to-end platform for developers. -target: - type: integration - destination: cloud -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/logs/forward-logs/vercel-integration/ \ No newline at end of file diff --git a/install/third-party/video-android/install.yml b/install/third-party/video-android/install.yml deleted file mode 100644 index b23902b15b..0000000000 --- a/install/third-party/video-android/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-video-android -name: Video agent for Android -title: Video agent for Android -description: - Agent to monitor video applications for Android. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic/video-agent-android diff --git a/install/third-party/video-chromecast/install.yml b/install/third-party/video-chromecast/install.yml deleted file mode 100644 index 61ac828e75..0000000000 --- a/install/third-party/video-chromecast/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-video-chromecast -name: Video agent for Chromecast -title: Video agent for Chromecast -description: | - Agent to monitor video applications for Chromecast devices. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic/video-caf-js \ No newline at end of file diff --git a/install/third-party/video-ios-tvos/install.yml b/install/third-party/video-ios-tvos/install.yml deleted file mode 100644 index d8e08e6a0b..0000000000 --- a/install/third-party/video-ios-tvos/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-video-ios-tvos -name: Video agent for iOS and tvOS -title: Video agent for iOS and tvOS -description: | - Agent to monitor video applications for iOS and tvOS. -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic/video-agent-iOS - diff --git a/install/third-party/vmware-tanzu/install.yml b/install/third-party/vmware-tanzu/install.yml deleted file mode 100644 index 55cebb4235..0000000000 --- a/install/third-party/vmware-tanzu/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-vmware-tanzu -name: VMWare Tanzu -title: VMWare Tanzu -description: Kubernetes management built and maintained by VMWare. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/more-integrations/cloudfoundry-integrations/vmware-tanzu-firehose-nozzle-integration/ \ No newline at end of file diff --git a/install/third-party/xMatters/install.yml b/install/third-party/xMatters/install.yml deleted file mode 100644 index 86f6d98273..0000000000 --- a/install/third-party/xMatters/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-xmatters -name: xMatters -title: xMatters -description: | - Set up automated alerts for detecting and responding to events and critical issues in xMatters and send your data to New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/alert-notifications/notification-channels-control-where-send-alerts/ diff --git a/install/third-party/xamarin/install.yml b/install/third-party/xamarin/install.yml deleted file mode 100644 index 8ca20bf76d..0000000000 --- a/install/third-party/xamarin/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-xamarin -name: Xamarin bindings to New Relic's Mobile SDK -title: Xamarin bindings to New Relic's Mobile SDK -description: This project provides Xamarin bindings for New Relic's iOS and Android SDK's - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://github.com/newrelic-experimental/newrelic-xamarin-binding \ No newline at end of file diff --git a/install/third-party/zebrium/install.yml b/install/third-party/zebrium/install.yml deleted file mode 100644 index dd68877c77..0000000000 --- a/install/third-party/zebrium/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-zebrium -name: Zebrium -title: Zebrium Root Cause as a Service -description: | - Zebrium Root Cause as a Service reduces downtime by helping users find the root cause of problems more quickly. It works by using statistical machine learning on logs and achieves a proven accuracy rate of 95%. This is done without any manual training or rules. When there's a problem, you can now automatically see the root cause directly on any New Relic dashboard. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.zebrium.com/docs/monitoring/newrelic_autodetect diff --git a/install/third-party/zenduty/install.yml b/install/third-party/zenduty/install.yml deleted file mode 100644 index 6507d2d05b..0000000000 --- a/install/third-party/zenduty/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: third-party-zenduty -name: Zenduty -title: Zenduty -description: | - Zenduty provides robust incident response, automation and notification abilities when you send your New Relic alerts to Zenduty. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.zenduty.com/docs/newrelic diff --git a/install/third-party/zipkin/install.yml b/install/third-party/zipkin/install.yml deleted file mode 100644 index ac65382c98..0000000000 --- a/install/third-party/zipkin/install.yml +++ /dev/null @@ -1,13 +0,0 @@ -id: third-party-zipkin -name: Zipkin -title: Zipkin -description: Send Zipkin-format traces to New Relic. - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/distributed-tracing/trace-api/report-zipkin-format-traces-trace-api/ \ No newline at end of file diff --git a/install/trivy/install.yml b/install/trivy/install.yml deleted file mode 100644 index 63390e5ee3..0000000000 --- a/install/trivy/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: trivy-api-install -name: Trivy API Integration -title: Import Trivy vulnerabilities with New Relic Security API -description: | - Import Trivy results on your schedule using New Relic's Security API - -target: - type: integration - destination: cloud - -install: - mode: link - destination: - url: https://docs.newrelic.com/docs/vulnerability-management/integrations/trivy/ \ No newline at end of file diff --git a/install/video/akamai/install.yml b/install/video/akamai/install.yml deleted file mode 100644 index 24bca74841..0000000000 --- a/install/video/akamai/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: video-web-akamai -name: Akamai Media Player Tracker -title: Akamai Media Player Tracker -description: | - New Relic's open-source Akamai Media Player Tracker. - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://github.com/newrelic/video-akamai-js#requirements diff --git a/install/video/html5/install.yml b/install/video/html5/install.yml deleted file mode 100644 index b7a8e998d1..0000000000 --- a/install/video/html5/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: video-web-html5 -name: Html5 Player Tracker -title: Html5 Player Tracker -description: | - New Relic's open-source Html5 Player Tracker. - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://github.com/newrelic/video-html5-js diff --git a/install/video/jwplayer/install.yml b/install/video/jwplayer/install.yml deleted file mode 100644 index ffb7c341e5..0000000000 --- a/install/video/jwplayer/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: video-web-jwplayer -name: JW Player Tracker -title: JW Player Tracker -description: | - New Relic's open-source JW Player Tracker. - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://github.com/newrelic/video-jwplayer-js diff --git a/install/video/theplatform/install.yml b/install/video/theplatform/install.yml deleted file mode 100644 index dde60c85f7..0000000000 --- a/install/video/theplatform/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: video-web-theplatform -name: thePlatform Player Tracker -title: thePlatform Player Tracker -description: | - New Relic's open-source thePlatform Player Tracker. - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://github.com/newrelic/video-theplatform-js diff --git a/install/video/videojs/install.yml b/install/video/videojs/install.yml deleted file mode 100644 index b55bd7f906..0000000000 --- a/install/video/videojs/install.yml +++ /dev/null @@ -1,14 +0,0 @@ -id: video-web-videojs -name: Video.js Tracker -title: Video.js Tracker -description: | - New Relic's open-source Video.js Tracker. - -target: - type: agent - destination: application - -install: - mode: link - destination: - url: https://github.com/newrelic/video-videojs-js From 56da019132e258df302f5eedf0bbd47325e36c3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 20:31:29 +0000 Subject: [PATCH 24/43] chore(deps): bump micromatch from 4.0.5 to 4.0.8 in /utils Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8. - [Release notes](https://github.com/micromatch/micromatch/releases) - [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8) --- updated-dependencies: - dependency-name: micromatch dependency-type: indirect ... Signed-off-by: dependabot[bot] --- utils/yarn.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/utils/yarn.lock b/utils/yarn.lock index c168d81d30..5e74a8f09e 100644 --- a/utils/yarn.lock +++ b/utils/yarn.lock @@ -1242,12 +1242,12 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" browser-process-hrtime@^1.0.0: version "1.0.0" @@ -1771,10 +1771,10 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -2664,11 +2664,11 @@ methods@~1.1.2: integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" mime-db@1.52.0: From d1fbdb052d2d646603c8f984daefe2a10228ae84 Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Tue, 27 Aug 2024 13:34:17 -0700 Subject: [PATCH 25/43] chore: Remove reference to non-existent C datasource --- quickstarts/c/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/quickstarts/c/config.yml b/quickstarts/c/config.yml index 677b58d2c1..50110040cb 100644 --- a/quickstarts/c/config.yml +++ b/quickstarts/c/config.yml @@ -29,8 +29,6 @@ documentation: keywords: - apm - language agent -dataSourceIds: - - c dashboards: - c alertPolicies: From 441ce3fbb34c28f6b30a33353f716a2d001d472e Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Tue, 27 Aug 2024 14:00:03 -0700 Subject: [PATCH 26/43] chore: Clean up some more installPlans --- quickstarts/aws/amazon-api-gateway/config.yml | 2 -- quickstarts/golden-signals-web/config.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/quickstarts/aws/amazon-api-gateway/config.yml b/quickstarts/aws/amazon-api-gateway/config.yml index b3b764c716..416d950789 100644 --- a/quickstarts/aws/amazon-api-gateway/config.yml +++ b/quickstarts/aws/amazon-api-gateway/config.yml @@ -38,7 +38,5 @@ keywords: - NR1_addData dashboards: - amazon-api-gateway -installPlans: - - aws-cloudwatch-metric-streams dataSourceIds: - amazon-cloudwatch-metric-streams diff --git a/quickstarts/golden-signals-web/config.yml b/quickstarts/golden-signals-web/config.yml index 62fa1bfb15..db6180c8ff 100644 --- a/quickstarts/golden-signals-web/config.yml +++ b/quickstarts/golden-signals-web/config.yml @@ -25,8 +25,6 @@ authors: - New Relic - Alec Swanson -installPlans: - - infra-agent-targeted dataSourceIds: - new-relic-infrastructure-agent From 097e9804de8aa5258a529787943df50878e698ee Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Tue, 27 Aug 2024 14:31:25 -0700 Subject: [PATCH 27/43] chore: First pass at alert JSON schema --- utils/schema/alert.json | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 utils/schema/alert.json diff --git a/utils/schema/alert.json b/utils/schema/alert.json new file mode 100644 index 0000000000..57c633a006 --- /dev/null +++ b/utils/schema/alert.json @@ -0,0 +1,27 @@ +{ + "$id": "schema/alert.json", + "type": "object", + "properties": { + "name": { "type": "string" }, + "description": { "type": "string" }, + "type": { "enum": ["BASELINE", "STATIC"] }, + "nrql": { "type": "string" }, + "terms": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "duration": { "type": "number", "minimum": 5, "maximum": 120 }, + "priority": { "enum": ["CRITICAL", "WARNING"] }, + "operator": { "enum": ["ABOVE", "BELOW", "EQUAL"] }, + "threshold": { "type": "number", "minimum": 0 } + }, + "required": ["duration"], + "additionalProperties": true + } + } + }, + "required": ["name", "description", "type"], + "additionalProperties": true +} From 7522b8fdd4aae3ffe19331f5f4fb685ea772eb79 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Tue, 27 Aug 2024 14:31:49 -0700 Subject: [PATCH 28/43] chore: First pass at dashboard JSON schema --- utils/schema/dashboard.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 utils/schema/dashboard.json diff --git a/utils/schema/dashboard.json b/utils/schema/dashboard.json new file mode 100644 index 0000000000..ae4897a021 --- /dev/null +++ b/utils/schema/dashboard.json @@ -0,0 +1,12 @@ +{ + "$id": "schema/dashboard.json", + "type": "object", + "properties": { + "name": { "type": "string" }, + "pages": { "type": "array", "minItems": 1 }, + "description": { "type": "string" }, + "variables": { "type": "array" } + }, + "required": ["name", "pages"], + "additionalProperties": false +} From 8581f3786d196f0ebfce21748bcbeaa3d80b781f Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Tue, 27 Aug 2024 14:32:05 -0700 Subject: [PATCH 29/43] chore: First pass at datasource JSON schema --- utils/schema/datasource.json | 37 +++++++++++++++++++++++++++++ utils/schema/install-directive.json | 37 +++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 utils/schema/datasource.json create mode 100644 utils/schema/install-directive.json diff --git a/utils/schema/datasource.json b/utils/schema/datasource.json new file mode 100644 index 0000000000..170145731c --- /dev/null +++ b/utils/schema/datasource.json @@ -0,0 +1,37 @@ +{ + "$id": "schema/datasource.json", + "type": "object", + "properties": { + "id": { "type": "string" }, + "displayName": { "type": "string" }, + "description": { "type": "string" }, + "install": { + "type": "object", + "properties": { + "primary": { + "enum": [ + { "$ref": "install-directive.json#/definitions/link" }, + { "$ref": "install-directive.json#/definitions/nerdlet" } + ] + }, + "fallback": { + "enum": [ + { "$ref": "install-directive.json#/definitions/link" }, + { "$ref": "install-directive.json#/definitions/nerdlet" } + ] + } + }, + "required": ["primary"], + "additionalProperties": false + }, + "keywords": { + "type": "array", "items": { "type": "string" } + }, + "categoryTerms": { + "type": "array", "items": { "type": "string" } + }, + "icon": { "type": "string", "format": "uri" } + }, + "required": ["id", "displayName", "install"], + "additionalProperties": false +} diff --git a/utils/schema/install-directive.json b/utils/schema/install-directive.json new file mode 100644 index 0000000000..78d0c71154 --- /dev/null +++ b/utils/schema/install-directive.json @@ -0,0 +1,37 @@ +{ + "$id": "schema/install-directive.json", + "definitions": { + "link": { + "type": "object", + "properties": { + "link": { + "type": "object", + "properties": { + "url": { "type": "string":, "format": "url"} + }, + "required": ["url"], + "additionalProperties": false + } + }, + "required": ["link"], + "additionalProperties": false + }, + "nerdlet": { + "type": "object", + "properties": { + "nerdlet": { + "type": "object", + "properties": { + "nerdletId": { "type": "string" }, + "nerdletState": { "type": "object" }, + "requiresAccount": { "type": "boolean" } + }, + "required": ["nerdletId", "nerdletState", "requiresAccount"], + "additionalProperties": false + } + }, + "required": "nerdlet", + "additionalProperties": false + } + } +} From 76bbab62451a19d757feb527b3b41067a2407183 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Tue, 27 Aug 2024 14:32:16 -0700 Subject: [PATCH 30/43] chore: First pass at quickstart JSON schema --- utils/schema/quickstart.json | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 utils/schema/quickstart.json diff --git a/utils/schema/quickstart.json b/utils/schema/quickstart.json new file mode 100644 index 0000000000..089653705f --- /dev/null +++ b/utils/schema/quickstart.json @@ -0,0 +1,52 @@ +{ + "$id": "schema/quickstart.json", + "type": "object", + "properties": { + "id": { "type": "string", "format": "uuid" }, + "description": { "type": "string" }, + "summary": { "type": "string" }, + "title": { "type": "string" }, + "authors": { + "type": "array", "items": { "type": "string" } + }, + "documentation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "description": { "type": "string" }, + "url": { "type": "string", "format": "uri" } + }, + "required": ["name", "description", "url"], + "additionalProperties": false + } + }, + "level": { "enum": ["New Relic", "Community", "Verified"] }, + "icon": { "type": "string", "format": "uri" }, + "keywords": { + "type": "array", "items": { "type": "string" } + }, + "slug": { "type": "string" }, + "alertPolicies": { + "type": "array", "items": { "type": "string" } + }, + "dashboards": { + "type": "array", "items": { "type": "string" } + }, + "dataSourceIds": { + "type": "array", "items": { "type": "string" } + } + }, + "required": [ + "id", + "description", + "summary", + "title", + "authors", + "documentation", + "level", + "icon" + ], + "additionalProperties": false +} From e11f97077614af22bc75aefe7b52b356a35e84b3 Mon Sep 17 00:00:00 2001 From: Alec Swanson <70179303+aswanson-nr@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:38:24 -0700 Subject: [PATCH 31/43] Remove battlesnake from core listings --- quickstarts/battlesnake/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/quickstarts/battlesnake/config.yml b/quickstarts/battlesnake/config.yml index c5c5f34808..f062f32d53 100644 --- a/quickstarts/battlesnake/config.yml +++ b/quickstarts/battlesnake/config.yml @@ -26,8 +26,6 @@ keywords: - infrastructure - snake - battlesnake - - NR1_addData - - NR1_sys icon: logo.png website: https://play.battlesnake.com dashboards: From fcd3dfe74547cd1b11f8d5880fadb1c169eefe3a Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 09:42:57 -0700 Subject: [PATCH 32/43] chore: First pass at a top-level artifact JSON schema --- utils/schema/artifact.json | 190 +++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 utils/schema/artifact.json diff --git a/utils/schema/artifact.json b/utils/schema/artifact.json new file mode 100644 index 0000000000..042b0651b2 --- /dev/null +++ b/utils/schema/artifact.json @@ -0,0 +1,190 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + + "type": "object", + "properties": { + "quickstarts": { + "type": "array", + "items": { "$ref": "#/$definitions/quickstart" } + }, + "datasources": { + "type": "array", + "items": { "$ref": "#/$definitions/datasource" } + }, + "alerts": { + "type": "array", + "items": { "$ref": "#/$definitions/alert" } + }, + "dashboards": { + "type": "array", + "items": { "$ref": "#/$definitions/dashboard" } + }, + "datasourceIds": { "enum": [] } + }, + "required": [ + "quickstarts", + "datasources", + "alerts", + "dashboards", + "datasourceIds" + ], + "additionalProperties": false, + + "$definitions": { + "quickstart": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "description": { "type": "string" }, + "summary": { "type": "string" }, + "title": { "type": "string" }, + "authors": { + "type": "array", "items": { "type": "string" } + }, + "documentation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "description": { "type": "string" }, + "url": { "type": "string" } + }, + "required": ["name", "description", "url"], + "additionalProperties": false + } + }, + "level": { "enum": ["New Relic", "Community", "Verified"] }, + "icon": { "type": "string" }, + "keywords": { + "type": "array", "items": { "type": "string" } + }, + "slug": { "type": "string" }, + "alertPolicies": { + "type": "array", "items": { "type": "string" } + }, + "dashboards": { + "type": "array", "items": { "type": "string" } + }, + "datasourceIds": { + "type": "array", "items": { "type": "string" } + } + }, + "required": [ + "id", + "description", + "summary", + "title", + "authors", + "documentation", + "level", + "icon" + ], + "additionalProperties": false + }, + + "datasource": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "displayName": { "type": "string" }, + "description": { "type": "string" }, + "install": { + "type": "object", + "properties": { + "primary": { "$ref": "#/$definitions/installDirective" }, + "fallback": { "$ref": "#/$definitions/installDirective" } + } + }, + "required": ["primary"], + "additionalProperties": false + }, + "keywords": { + "type": "array", "items": { "type": "string" } + }, + "categoryTerms": { + "type": "array", "items": { "type": "string" } + }, + "icon": { "type": "string" } + }, + "required": ["id", "displayName", "install"], + "additionalProperties": false + }, + + "installDirective": { + "enum", [ + { + "type": "object", + "properties": { + "link": { + "type": "object", + "properties": { + "url": { "type": "string" } + }, + "required": ["url"], + "additionalProperties": false + } + }, + "required": ["link"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "nerdlet": { + "type": "object", + "properties": { + "nerdletId": { "type": "string" }, + "nerdletState": { "type": "object" }, + "requiresAccount": { "type": "boolean" } + }, + "required": ["nerdletId", "nerdletState", "requiresAccount"], + "additionalProperties": false + } + }, + "required": "nerdlet", + "additionalProperties": false + } + ] + }, + + "alert": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "description": { "type": "string" }, + "type": { "enum": ["BASELINE", "STATIC"] }, + "nrql": { "type": "string" }, + "terms": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "duration": { "type": "number", "minimum": 5, "maximum": 120 }, + "priority": { "enum": ["CRITICAL", "WARNING"] }, + "operator": { "enum": ["ABOVE", "BELOW", "EQUAL"] }, + "threshold": { "type": "number", "minimum": 0 } + }, + "required": ["duration"], + "additionalProperties": true + } + } + }, + "required": ["name", "description", "type"], + "additionalProperties": true + }, + + "dashboard": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "pages": { "type": "array", "minItems": 1 }, + "description": { "type": "string" }, + "variables": { "type": "array" } + }, + "required": ["name", "pages"], + "additionalProperties": false + } +} +} From 441a3186755e1a9a50e7970d914463cebb27fef6 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 09:43:51 -0700 Subject: [PATCH 33/43] refactor: Clean up individual schemas --- utils/schema/alert.json | 27 --------------- utils/schema/dashboard.json | 12 ------- utils/schema/datasource.json | 37 -------------------- utils/schema/install-directive.json | 37 -------------------- utils/schema/quickstart.json | 52 ----------------------------- 5 files changed, 165 deletions(-) delete mode 100644 utils/schema/alert.json delete mode 100644 utils/schema/dashboard.json delete mode 100644 utils/schema/datasource.json delete mode 100644 utils/schema/install-directive.json delete mode 100644 utils/schema/quickstart.json diff --git a/utils/schema/alert.json b/utils/schema/alert.json deleted file mode 100644 index 57c633a006..0000000000 --- a/utils/schema/alert.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$id": "schema/alert.json", - "type": "object", - "properties": { - "name": { "type": "string" }, - "description": { "type": "string" }, - "type": { "enum": ["BASELINE", "STATIC"] }, - "nrql": { "type": "string" }, - "terms": { - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "duration": { "type": "number", "minimum": 5, "maximum": 120 }, - "priority": { "enum": ["CRITICAL", "WARNING"] }, - "operator": { "enum": ["ABOVE", "BELOW", "EQUAL"] }, - "threshold": { "type": "number", "minimum": 0 } - }, - "required": ["duration"], - "additionalProperties": true - } - } - }, - "required": ["name", "description", "type"], - "additionalProperties": true -} diff --git a/utils/schema/dashboard.json b/utils/schema/dashboard.json deleted file mode 100644 index ae4897a021..0000000000 --- a/utils/schema/dashboard.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$id": "schema/dashboard.json", - "type": "object", - "properties": { - "name": { "type": "string" }, - "pages": { "type": "array", "minItems": 1 }, - "description": { "type": "string" }, - "variables": { "type": "array" } - }, - "required": ["name", "pages"], - "additionalProperties": false -} diff --git a/utils/schema/datasource.json b/utils/schema/datasource.json deleted file mode 100644 index 170145731c..0000000000 --- a/utils/schema/datasource.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$id": "schema/datasource.json", - "type": "object", - "properties": { - "id": { "type": "string" }, - "displayName": { "type": "string" }, - "description": { "type": "string" }, - "install": { - "type": "object", - "properties": { - "primary": { - "enum": [ - { "$ref": "install-directive.json#/definitions/link" }, - { "$ref": "install-directive.json#/definitions/nerdlet" } - ] - }, - "fallback": { - "enum": [ - { "$ref": "install-directive.json#/definitions/link" }, - { "$ref": "install-directive.json#/definitions/nerdlet" } - ] - } - }, - "required": ["primary"], - "additionalProperties": false - }, - "keywords": { - "type": "array", "items": { "type": "string" } - }, - "categoryTerms": { - "type": "array", "items": { "type": "string" } - }, - "icon": { "type": "string", "format": "uri" } - }, - "required": ["id", "displayName", "install"], - "additionalProperties": false -} diff --git a/utils/schema/install-directive.json b/utils/schema/install-directive.json deleted file mode 100644 index 78d0c71154..0000000000 --- a/utils/schema/install-directive.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$id": "schema/install-directive.json", - "definitions": { - "link": { - "type": "object", - "properties": { - "link": { - "type": "object", - "properties": { - "url": { "type": "string":, "format": "url"} - }, - "required": ["url"], - "additionalProperties": false - } - }, - "required": ["link"], - "additionalProperties": false - }, - "nerdlet": { - "type": "object", - "properties": { - "nerdlet": { - "type": "object", - "properties": { - "nerdletId": { "type": "string" }, - "nerdletState": { "type": "object" }, - "requiresAccount": { "type": "boolean" } - }, - "required": ["nerdletId", "nerdletState", "requiresAccount"], - "additionalProperties": false - } - }, - "required": "nerdlet", - "additionalProperties": false - } - } -} diff --git a/utils/schema/quickstart.json b/utils/schema/quickstart.json deleted file mode 100644 index 089653705f..0000000000 --- a/utils/schema/quickstart.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "$id": "schema/quickstart.json", - "type": "object", - "properties": { - "id": { "type": "string", "format": "uuid" }, - "description": { "type": "string" }, - "summary": { "type": "string" }, - "title": { "type": "string" }, - "authors": { - "type": "array", "items": { "type": "string" } - }, - "documentation": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { "type": "string" }, - "description": { "type": "string" }, - "url": { "type": "string", "format": "uri" } - }, - "required": ["name", "description", "url"], - "additionalProperties": false - } - }, - "level": { "enum": ["New Relic", "Community", "Verified"] }, - "icon": { "type": "string", "format": "uri" }, - "keywords": { - "type": "array", "items": { "type": "string" } - }, - "slug": { "type": "string" }, - "alertPolicies": { - "type": "array", "items": { "type": "string" } - }, - "dashboards": { - "type": "array", "items": { "type": "string" } - }, - "dataSourceIds": { - "type": "array", "items": { "type": "string" } - } - }, - "required": [ - "id", - "description", - "summary", - "title", - "authors", - "documentation", - "level", - "icon" - ], - "additionalProperties": false -} From 459947e3ef4e7f27b2cdb0d91fd9b81f4dbb3230 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 09:53:59 -0700 Subject: [PATCH 34/43] chore: Add more specificity to match service In addition to looking at the service, I also looked at the terraform provider documentation [0], since that's the only other public place this is specified. [0] https://registry.terraform.io/providers/newrelic/newrelic/latest/docs --- utils/schema/artifact.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/utils/schema/artifact.json b/utils/schema/artifact.json index 042b0651b2..d3d90a665a 100644 --- a/utils/schema/artifact.json +++ b/utils/schema/artifact.json @@ -155,6 +155,9 @@ "description": { "type": "string" }, "type": { "enum": ["BASELINE", "STATIC"] }, "nrql": { "type": "string" }, + "runbookUrl": { "type": "string" }, + "violationTimeLimitSeconds": { "type": "number" }, + "enabled": { "type": "boolean" }, "terms": { "type": "array", "minItems": 1, @@ -164,7 +167,9 @@ "duration": { "type": "number", "minimum": 5, "maximum": 120 }, "priority": { "enum": ["CRITICAL", "WARNING"] }, "operator": { "enum": ["ABOVE", "BELOW", "EQUAL"] }, - "threshold": { "type": "number", "minimum": 0 } + "threshold": { "type": "number", "minimum": 0 }, + "thresholdDuration": { "type": "number", "minimum": 0 }, + "thresholdOccurances": { "enum": ["ALL", "AT_LEAST_ONCE"] } }, "required": ["duration"], "additionalProperties": true From 7be173a0325dd7c9549c3ee296811b741e69998e Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 09:56:14 -0700 Subject: [PATCH 35/43] fix: Remove accidental closing brace --- utils/schema/artifact.json | 1 - 1 file changed, 1 deletion(-) diff --git a/utils/schema/artifact.json b/utils/schema/artifact.json index d3d90a665a..36e526d847 100644 --- a/utils/schema/artifact.json +++ b/utils/schema/artifact.json @@ -192,4 +192,3 @@ "additionalProperties": false } } -} From 87d95705f8a327b3d2e1556ef80e90fe4b9a1b5c Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 10:17:57 -0700 Subject: [PATCH 36/43] chore: Add a hard-coded list of core data sources Co-authored-by: Mickey Ryan --- utils/schema/core-datasource-ids.json | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 utils/schema/core-datasource-ids.json diff --git a/utils/schema/core-datasource-ids.json b/utils/schema/core-datasource-ids.json new file mode 100644 index 0000000000..cd4815b834 --- /dev/null +++ b/utils/schema/core-datasource-ids.json @@ -0,0 +1,140 @@ +[ + "activemq", + "amazon-cloudwatch", + "amazon-kinesis", + "amazon-linux", + "amazon-linux-logs", + "amazon-s3", + "amazon-sagemaker", + "amazon-web-services", + "android", + "angular", + "angular-js", + "ansible-install", + "apache", + "apm-logs", + "aporia", + "aws-firelens", + "aws-lambda", + "aws-migrate-metricStream", + "aws-security-hub", + "aws-vpc-flow-logs", + "azure-openai", + "backbone", + "bring-your-own-data", + "capacitor", + "cassandra", + "centos", + "centos-logs", + "change-tracking", + "chef-install", + "comet", + "consul", + "cordova", + "couchbase", + "dagshub", + "debian", + "debian-logs", + "dependabot", + "distributed-tracing", + "docker", + "dropwizard", + "elasticsearch", + "ember", + "f5", + "fluent-bit", + "fluentd", + "flutter", + "gatsby", + "gcp-vpc-flow-logs", + "golang", + "google-cloud-platform", + "google-cloud-platform-logs", + "govcloud", + "guided-install", + "haproxy", + "headerless-log-api", + "heroku", + "heroku-http", + "ios", + "java", + "java-logs", + "jmx", + "jquery", + "kafka", + "kamon", + "kubernetes", + "kubernetes-logs", + "linux", + "linux-infra", + "linux-logs", + "llm-application", + "logstash", + "macos", + "maui", + "memcached", + "micrometer", + "microsoft-azure", + "microsoft-azure-blob-storage", + "microsoft-azure-event-hub", + "microsoft-sql-server", + "microsoftnet", + "microsoftnet-logs", + "mona", + "mongodb", + "mysql", + "nagios", + "network-devices", + "network-flows", + "network-synthetics", + "new-relic-browser", + "new-relic-infrastructure-agent", + "new-relic-synthetics", + "next-js", + "nginx", + "node-js", + "nr-ai-monitoring", + "nvidia-nim", + "opentelemetry", + "oracle-database", + "php", + "pixie", + "postgresql", + "powerdns", + "prometheus", + "prometheus-agent-mode", + "puppet-install", + "python", + "rabbitmq", + "react", + "react-native", + "redis", + "rhel", + "rhel-logs", + "ruby", + "ruby-logs", + "security-api", + "sles", + "sles-logs", + "snmp", + "snyk", + "statsd", + "super-agent", + "syslog", + "trivy", + "truera", + "ubuntu", + "ubuntu-logs", + "unity", + "unreal", + "varnish", + "vmware-tanzu", + "vmware-vsphere", + "vue", + "windows", + "windows-infra", + "windows-logs", + "xamarin", + "xcframework", + "zepto" +] From cfd3f5ccaedaf7b8784e9bf0caa21eb3c2d9f8f5 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 11:25:18 -0700 Subject: [PATCH 37/43] chore: Add script to add datasource IDs to enum Co-authored-by: Mickey Ryan --- utils/lib/DataSource.ts | 2 +- utils/schema/add-datasource-ids.ts | 86 ++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 utils/schema/add-datasource-ids.ts diff --git a/utils/lib/DataSource.ts b/utils/lib/DataSource.ts index a23552fccb..b1df32c09c 100644 --- a/utils/lib/DataSource.ts +++ b/utils/lib/DataSource.ts @@ -191,7 +191,7 @@ class DataSource extends Component { } } -const getAllDataSourceFiles = ( +export const getAllDataSourceFiles = ( basePath: string = path.join(__dirname, '..', '..') ): string[] => glob.sync(path.join(basePath, 'data-sources', '**', 'config.+(yml|yaml)')); diff --git a/utils/schema/add-datasource-ids.ts b/utils/schema/add-datasource-ids.ts new file mode 100644 index 0000000000..2e62415b46 --- /dev/null +++ b/utils/schema/add-datasource-ids.ts @@ -0,0 +1,86 @@ +import * as glob from 'glob'; +import * as path from 'path'; +import * as fs from 'fs'; +import * as yaml from 'js-yaml'; + +import type { DataSourceConfig } from '../types/DataSourceConfig'; + +import DataSource, { getAllDataSourceFiles } from '../lib/DataSource'; + +const ARTIFACT_SCHEMA_PATH = './artifact.json'; +const CORE_DATASOURCE_IDS_PATH = './core-datasource-ids.json'; +const DATASOURCE_BASE_PATH = '../../'; + +// TODO: infer the type from the schema? +type ArtifactSchema = { + properties: { + datasourceIds: { + enum: string[]; + }; + }; +}; + +const getCommunityDatasourceIds = (): string[] => { + const allDataSources = getAllDataSourceFiles(DATASOURCE_BASE_PATH).map( + (p) => ({ + filePath: p, + content: yaml.load( + fs.readFileSync(p).toString('utf-8') + ) as DataSourceConfig, + }) + ); + + return allDataSources + .map((datasource) => datasource.content?.id) + .filter(Boolean); +}; + +const getCoreDatasourceIds = (): string[] => { + return yaml.load( + fs.readFileSync(CORE_DATASOURCE_IDS_PATH).toString('utf8') + ) as string[]; +}; + +const loadSchema = (filepath: string): ArtifactSchema => { + return yaml.load( + fs.readFileSync(filepath).toString('utf8') + ) as ArtifactSchema; +}; + +const updateSchema = ( + schema: ArtifactSchema, + ids: string[] +): ArtifactSchema => { + return { + ...schema, + properties: { + ...schema.properties, + datasourceIds: { enum: ids }, + }, + }; +}; + +const saveSchema = (schema: ArtifactSchema, path: string): void => { + fs.writeFileSync(path, JSON.stringify(schema, null, 2)); +}; + +const main = (): void => { + const communityIds = getCommunityDatasourceIds(); + console.log(`[*] Found ${communityIds.length} community datasources`); + + const coreIds = getCoreDatasourceIds(); + console.log(`[*] Found ${coreIds.length} core datasources`); + + console.log('[*] Loading schema'); + const schema = loadSchema(ARTIFACT_SCHEMA_PATH); + + console.log('[*] Updating enum'); + const updatedSchema = updateSchema(schema, [...communityIds, ...coreIds]); + + console.log('[*] Saving updated schema'); + saveSchema(updatedSchema, ARTIFACT_SCHEMA_PATH); +}; + +if (require.main === module) { + main(); +} From 8844dd3780b95f43bd21eb3d497d2f1a922839d0 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 16:47:15 -0700 Subject: [PATCH 38/43] docs: Added a note about validation and feature flags --- docs/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/README.md b/docs/README.md index 37983770a5..cb685ad5fb 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,3 +1,10 @@ # Documentation Each file in this directory (minus this readme) is generated from New Relic NerdGraph GraphQL schema. + +## Validation + +Every quickstart, datasource, alert, and dashboard is bundled into a single artifact and validated against our [schema](../utils/schema/artifact.json) for correctness. + +> [!IMPORTANT] +> Please ensure that _all_ feature flags are removed from a datasource before it is referenced in a quickstart. Otherwise, the datasource will not be properly associated. From b340b58b296c0c9315c8ee5ac217b25001d27338 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Thu, 29 Aug 2024 16:49:44 -0700 Subject: [PATCH 39/43] fix: Resolved issue with enum --- utils/schema/artifact.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/schema/artifact.json b/utils/schema/artifact.json index 36e526d847..a3b056cceb 100644 --- a/utils/schema/artifact.json +++ b/utils/schema/artifact.json @@ -112,7 +112,7 @@ }, "installDirective": { - "enum", [ + "enum": [ { "type": "object", "properties": { From e0d26bf0d103da8d04a04efe28decf712badf369 Mon Sep 17 00:00:00 2001 From: Andrew Anguiano Date: Tue, 3 Sep 2024 15:29:53 -0400 Subject: [PATCH 40/43] feat: Update schema validation Correct type definition pathing and datasourceIds type Co-authored-by: Zack Stickles --- utils/schema/artifact.json | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/utils/schema/artifact.json b/utils/schema/artifact.json index a3b056cceb..a31553e3e8 100644 --- a/utils/schema/artifact.json +++ b/utils/schema/artifact.json @@ -5,21 +5,23 @@ "properties": { "quickstarts": { "type": "array", - "items": { "$ref": "#/$definitions/quickstart" } + "items": { "$ref": "#/definitions/quickstart" } }, "datasources": { "type": "array", - "items": { "$ref": "#/$definitions/datasource" } + "items": { "$ref": "#/definitions/datasource" } }, "alerts": { "type": "array", - "items": { "$ref": "#/$definitions/alert" } + "items": { "$ref": "#/definitions/alert" } }, "dashboards": { "type": "array", - "items": { "$ref": "#/$definitions/dashboard" } + "items": { "$ref": "#/definitions/dashboard" } }, - "datasourceIds": { "enum": [] } + "datasourceIds": { + "type": "array", "items": { "type": "string" } + } }, "required": [ "quickstarts", @@ -30,7 +32,7 @@ ], "additionalProperties": false, - "$definitions": { + "definitions": { "quickstart": { "type": "object", "properties": { @@ -66,7 +68,7 @@ "dashboards": { "type": "array", "items": { "type": "string" } }, - "datasourceIds": { + "dataSourceIds": { "type": "array", "items": { "type": "string" } } }, @@ -92,9 +94,8 @@ "install": { "type": "object", "properties": { - "primary": { "$ref": "#/$definitions/installDirective" }, - "fallback": { "$ref": "#/$definitions/installDirective" } - } + "primary": { "$ref": "#/definitions/installDirective" }, + "fallback": { "$ref": "#/definitions/installDirective" } }, "required": ["primary"], "additionalProperties": false @@ -191,4 +192,5 @@ "required": ["name", "pages"], "additionalProperties": false } + } } From 86e20d4eb3fbbcce5e552c2b5794ce06bb23e19b Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Tue, 3 Sep 2024 13:54:11 -0700 Subject: [PATCH 41/43] Consistent capitalization for dataSource names --- utils/schema/add-datasource-ids.ts | 22 ++++++++++------------ utils/schema/artifact.json | 12 ++++++------ 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/utils/schema/add-datasource-ids.ts b/utils/schema/add-datasource-ids.ts index 2e62415b46..f6436640a8 100644 --- a/utils/schema/add-datasource-ids.ts +++ b/utils/schema/add-datasource-ids.ts @@ -1,11 +1,9 @@ -import * as glob from 'glob'; -import * as path from 'path'; import * as fs from 'fs'; import * as yaml from 'js-yaml'; import type { DataSourceConfig } from '../types/DataSourceConfig'; -import DataSource, { getAllDataSourceFiles } from '../lib/DataSource'; +import { getAllDataSourceFiles } from '../lib/DataSource'; const ARTIFACT_SCHEMA_PATH = './artifact.json'; const CORE_DATASOURCE_IDS_PATH = './core-datasource-ids.json'; @@ -14,13 +12,13 @@ const DATASOURCE_BASE_PATH = '../../'; // TODO: infer the type from the schema? type ArtifactSchema = { properties: { - datasourceIds: { + dataSourceIds: { enum: string[]; }; }; }; -const getCommunityDatasourceIds = (): string[] => { +const getCommunityDataSourceIds = (): string[] => { const allDataSources = getAllDataSourceFiles(DATASOURCE_BASE_PATH).map( (p) => ({ filePath: p, @@ -31,11 +29,11 @@ const getCommunityDatasourceIds = (): string[] => { ); return allDataSources - .map((datasource) => datasource.content?.id) + .map((dataSource) => dataSource.content?.id) .filter(Boolean); }; -const getCoreDatasourceIds = (): string[] => { +const getCoreDataSourceIds = (): string[] => { return yaml.load( fs.readFileSync(CORE_DATASOURCE_IDS_PATH).toString('utf8') ) as string[]; @@ -55,7 +53,7 @@ const updateSchema = ( ...schema, properties: { ...schema.properties, - datasourceIds: { enum: ids }, + dataSourceIds: { enum: ids }, }, }; }; @@ -65,11 +63,11 @@ const saveSchema = (schema: ArtifactSchema, path: string): void => { }; const main = (): void => { - const communityIds = getCommunityDatasourceIds(); - console.log(`[*] Found ${communityIds.length} community datasources`); + const communityIds = getCommunityDataSourceIds(); + console.log(`[*] Found ${communityIds.length} community dataSources`); - const coreIds = getCoreDatasourceIds(); - console.log(`[*] Found ${coreIds.length} core datasources`); + const coreIds = getCoreDataSourceIds(); + console.log(`[*] Found ${coreIds.length} core dataSources`); console.log('[*] Loading schema'); const schema = loadSchema(ARTIFACT_SCHEMA_PATH); diff --git a/utils/schema/artifact.json b/utils/schema/artifact.json index a31553e3e8..bcd69de7f8 100644 --- a/utils/schema/artifact.json +++ b/utils/schema/artifact.json @@ -7,9 +7,9 @@ "type": "array", "items": { "$ref": "#/definitions/quickstart" } }, - "datasources": { + "dataSources": { "type": "array", - "items": { "$ref": "#/definitions/datasource" } + "items": { "$ref": "#/definitions/dataSource" } }, "alerts": { "type": "array", @@ -19,16 +19,16 @@ "type": "array", "items": { "$ref": "#/definitions/dashboard" } }, - "datasourceIds": { + "dataSourceIds": { "type": "array", "items": { "type": "string" } } }, "required": [ "quickstarts", - "datasources", + "dataSources", "alerts", "dashboards", - "datasourceIds" + "dataSourceIds" ], "additionalProperties": false, @@ -85,7 +85,7 @@ "additionalProperties": false }, - "datasource": { + "dataSource": { "type": "object", "properties": { "id": { "type": "string" }, From f1131645b2794514902b79051d8659b72f171521 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Tue, 3 Sep 2024 15:56:27 -0700 Subject: [PATCH 42/43] chore: Removed outdated TODO comment --- utils/schema/add-datasource-ids.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/utils/schema/add-datasource-ids.ts b/utils/schema/add-datasource-ids.ts index f6436640a8..697d4c8d9a 100644 --- a/utils/schema/add-datasource-ids.ts +++ b/utils/schema/add-datasource-ids.ts @@ -9,7 +9,6 @@ const ARTIFACT_SCHEMA_PATH = './artifact.json'; const CORE_DATASOURCE_IDS_PATH = './core-datasource-ids.json'; const DATASOURCE_BASE_PATH = '../../'; -// TODO: infer the type from the schema? type ArtifactSchema = { properties: { dataSourceIds: { From 465bfca3784a9b448ed89161e0f0d85d91781ce7 Mon Sep 17 00:00:00 2001 From: Zack Stickles Date: Tue, 3 Sep 2024 15:58:32 -0700 Subject: [PATCH 43/43] Added npm script to add datasource IDs --- utils/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/package.json b/utils/package.json index 8f19b3e9d8..cd48e862da 100644 --- a/utils/package.json +++ b/utils/package.json @@ -23,7 +23,8 @@ "create-preview-links": "ts-node create-preview-links.ts", "set-alert-policy-required-datasources": "ts-node set-alert-policy-required-datasources.ts", "set-dashboards-required-datasources": "ts-node set-dashboards-required-datasources.ts", - "release": "ts-node release.ts" + "release": "ts-node release.ts", + "add-datasource-ids": "cd ./schema && ts-node add-datasource-ids.ts" }, "dependencies": { "@actions/core": "^1.10.0",

l~F|lm3^cwgm2DHqsCd3N9Tg^%8ewtv23Q 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𝔮g8!5x?Jf zcazXiCZ^>~KqKC2-BRji4;8!}a^7eU8DU#+`38K`BjE2nQUE-ycxS)4VlzcF7}i|q zO$`lyREvUR+S6VVzy16tRg&ooBw2)R*|e6a|Kp∓}%`50F9@)qRe)lr1rZuF*dS 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�o#V%B+yDvq&s0F|iTI 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%0DPdH4t3o+>e&pHZ5FT3iG2wSW;4nMr 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%0D!^>y@r&8ClqgR#UXnA?=$YXC!wNC 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