diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml index 51ec71d5ae8..b2150999927 100644 --- a/.github/auto_assign.yml +++ b/.github/auto_assign.yml @@ -10,6 +10,7 @@ reviewers: - bradleycamacho - nbaenam - cbehera-newrelic + - akristen # A number of reviewers added to the pull request # Set 0 to add all the reviewers (default: 0) diff --git a/src/content/docs/accounts/accounts-billing/account-setup/downgradecancel-account.mdx b/src/content/docs/accounts/accounts-billing/account-setup/downgradecancel-account.mdx index 3f1cdf88ab8..ff264800d69 100644 --- a/src/content/docs/accounts/accounts-billing/account-setup/downgradecancel-account.mdx +++ b/src/content/docs/accounts/accounts-billing/account-setup/downgradecancel-account.mdx @@ -76,9 +76,15 @@ To cancel an account you must be a user who is: ### How to cancel an account [#how-to-cancel] -You can only cancel an account using our NerdGraph API. You can't cancel an account in the UI. +Make sure you're a user who can cancel an account, and then you can cancel an account through our UI or through our Nerdgraph API. -Make sure you're a user who can cancel an account, and then see the NerdGraph tutorial [Cancel an account](/docs/apis/nerdgraph/examples/manage-accounts-nerdgraph). +**Cancel an account:** + +1. To cancel an account through our UI: + Navigate to **Administration** > **Access Management** > select the **Accounts Tab** > select the ellipsis to the right of the account you would like to cancel > select **cancel account**. + +2. To cancel an account through our NerdGraph API: + See the NerdGraph [tutorial](/docs/apis/nerdgraph/examples/manage-accounts-nerdgraph). ## Delete your organization [#delete-org] diff --git a/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing.mdx b/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing.mdx index c5bdc708286..51bd51e61fa 100644 --- a/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing.mdx +++ b/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing.mdx @@ -179,7 +179,7 @@ Here's a table with comparisons of the two options. Prices and limits are monthl - 10 minutes via [query builder](/docs/query-your-data/explore-query-data/query-builder/introduction-query-builder) and API; 2 minutes for the remainder of UI + Up to 10 minutes diff --git a/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/usage-queries-alerts.mdx b/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/usage-queries-alerts.mdx index 44d552ff428..24e23c12e9a 100644 --- a/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/usage-queries-alerts.mdx +++ b/src/content/docs/accounts/accounts-billing/new-relic-one-pricing-billing/usage-queries-alerts.mdx @@ -180,7 +180,7 @@ These queries apply for some older New Relic organizations that have only two us ### Count of full platform users and basic users - The [](/docs/accounts/accounts-billing/new-relic-one-pricing-users/pricing-billing#billing-usage-ui) shows the count of full platform users and basic users. The query used is: + The [How New Relic pricing works](/docs/accounts/accounts-billing/new-relic-one-pricing-users/pricing-billing#billing-usage-ui) shows the count of full platform users and basic users. The query used is: ```sql FROM NrUsage SELECT max(usage) SINCE 10 days ago diff --git a/src/content/docs/accounts/original-accounts-billing/original-users-roles/user-migration.mdx b/src/content/docs/accounts/original-accounts-billing/original-users-roles/user-migration.mdx index 2973a1ee35d..954ba01e3dc 100644 --- a/src/content/docs/accounts/original-accounts-billing/original-users-roles/user-migration.mdx +++ b/src/content/docs/accounts/original-accounts-billing/original-users-roles/user-migration.mdx @@ -238,7 +238,7 @@ User assets that are migrated include: * Weekly email settings * Email opt in/out preferences * User-specific [user keys](/docs/apis/intro-apis/new-relic-api-keys/#user-api-key) -* New Relic apps [NerdStorage data](https://developer.newrelic.com/explore-docs/nerdstorage) +* New Relic apps [NerdStorage data](/docs/new-relic-solutions/build-nr-ui/nerdstorage) If a user has access to several organizations that use New Relic (for example, if that user is a contractor), their original user model record won't be fully deleted until all those organizations migrate their users. Such a user will have both an original user record and one or more new user records, and if that's the case, that is displayed upon login (see [the login screenshot in Page 1 section](#page1)). diff --git a/src/content/docs/ai-monitoring/compatibility-requirements-ai-monitoring.mdx b/src/content/docs/ai-monitoring/compatibility-requirements-ai-monitoring.mdx index 24e444948d1..a86e90a53d1 100644 --- a/src/content/docs/ai-monitoring/compatibility-requirements-ai-monitoring.mdx +++ b/src/content/docs/ai-monitoring/compatibility-requirements-ai-monitoring.mdx @@ -53,7 +53,7 @@ AI monitoring is compatible with these agent versions and AI libraries: - [.NET version 10.23.0 and above](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core/#large-language-models) + [.NET version 10.23.0 and above](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#large-language-models-core) diff --git a/src/content/docs/alerts/get-notified/muting-rules-suppress-notifications.mdx b/src/content/docs/alerts/get-notified/muting-rules-suppress-notifications.mdx index 5fd295984fa..e04a6cf230e 100644 --- a/src/content/docs/alerts/get-notified/muting-rules-suppress-notifications.mdx +++ b/src/content/docs/alerts/get-notified/muting-rules-suppress-notifications.mdx @@ -582,4 +582,4 @@ For more information about making requests to NerdGraph, see the [NerdGraph docu } ``` - + \ No newline at end of file diff --git a/src/content/docs/alerts/overview.mdx b/src/content/docs/alerts/overview.mdx index f6f05ec1491..520c9072895 100644 --- a/src/content/docs/alerts/overview.mdx +++ b/src/content/docs/alerts/overview.mdx @@ -222,10 +222,6 @@ This diagram shows how alerts work: you create an alert policy that includes an -## Note about EU/US data centers [#eu-datacenter] - -New Relic's alerts service is performed in the United States. By using New Relic alerts, you agree that New Relic may move your data to, and process your data in, the US region. This applies whether you store your data in New Relic's US region data center or in our [EU region data center](/docs/accounts/accounts-billing/account-setup/choose-your-data-center/). - Ready to try New Relic for yourself? [Sign up for your free New Relic account](https://newrelic.com/signup) and follow our [quick launch guide](/docs/new-relic-solutions/get-started/intro-new-relic/#get-started) so you can start maximizing your data today! If you need any help, check out our [tutorial series](/docs/tutorial-create-alerts/create-new-relic-alerts/) on creating alerts to get started. diff --git a/src/content/docs/apis/nerdgraph/examples/manage-accounts-nerdgraph.mdx b/src/content/docs/apis/nerdgraph/examples/manage-accounts-nerdgraph.mdx index 6d7f93229b8..f14246b6686 100644 --- a/src/content/docs/apis/nerdgraph/examples/manage-accounts-nerdgraph.mdx +++ b/src/content/docs/apis/nerdgraph/examples/manage-accounts-nerdgraph.mdx @@ -103,7 +103,7 @@ mutation { ## Cancel an account [#cancel-an-account] -If you no longer want to keep an account active, you can cancel it using NerdGraph. The option to cancel an account is only available with NerdGraph. You can't cancel an account in the UI. +If you no longer want to keep an account active, you can cancel it using NerdGraph. Before you cancel an account, review the effects of [cancelling an account](/docs/accounts/accounts-billing/account-setup/downgradecancel-account). Once you're sure you want to cancel an account, you can use this mutation: diff --git a/src/content/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph.mdx b/src/content/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph.mdx index 914a7e23b7e..0f7073aff96 100644 --- a/src/content/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph.mdx +++ b/src/content/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph.mdx @@ -244,7 +244,7 @@ Here are all our available NerdGraph docs: - [Build a New Relic app](https://developer.newrelic.com/explore-docs/query-and-store-data) + [Build a New Relic app](/docs/new-relic-solutions/build-nr-ui/query-and-store-data) diff --git a/src/content/docs/apis/nerdgraph/get-started/nerdgraph-explorer.mdx b/src/content/docs/apis/nerdgraph/get-started/nerdgraph-explorer.mdx index 02647658dde..bc149adb733 100644 --- a/src/content/docs/apis/nerdgraph/get-started/nerdgraph-explorer.mdx +++ b/src/content/docs/apis/nerdgraph/get-started/nerdgraph-explorer.mdx @@ -120,7 +120,7 @@ If you're new to GraphQL, get acquainted with the GraphQL API via the NerdGraph Let's say that you've built a NerdGraph query you're happy with and you want to test it elsewhere. To capture code-ready queries and mutations: 1. Select the **Tools** menu. - 2. Copy the query as a curl call or as a [New Relic CLI](https://developer.newrelic.com/explore-docs/newrelic-cli) command. + 2. Copy the query as a curl call or as a [New Relic CLI](/docs/new-relic-solutions/build-nr-ui/newrelic-cli) command. - Version [9.1.0](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core/) and later + Version [9.1.0](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/) and later diff --git a/src/content/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx b/src/content/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx index b312bf63b77..ab3b6ff8151 100644 --- a/src/content/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx +++ b/src/content/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx @@ -200,8 +200,7 @@ For further reading on these environment variables and their functionality, see If the application name is showing up in New Relic, but no transactions are appearing, it's likely because either no traffic is hitting the app, or the agent is not encountering a known framework that it can automatically instrument: -* For .NET Framework automatically instrumented frameworks, refer to our [compatibility page](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/). -* For .NET Core automatically instrumented frameworks, refer to our [compatibility page](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core/). +* For automatically instrumented frameworks for .NET Core and .NET Framework, refer to our [compatibility page](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/). * If your application does not use one of those compatible app frameworks, you may need to implement [custom instrumentation](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/) to tell the agent what parts of your application are important for monitoring and what constitutes the scope of a transaction. If the above steps didn't help you fix your issues, we recommend you to contact support or ask for help on [our Support Forum](https://discuss.newrelic.com/tag/dotnetagent). diff --git a/src/content/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx b/src/content/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx index f38c31e3218..fa1511ce1ca 100644 --- a/src/content/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx +++ b/src/content/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx @@ -24,7 +24,7 @@ You'll be able to configure our .NET agent to suit your environment after you [c APM agent configuration options allow you to control some aspects of how the agent behaves. Some of these config options are part of the basic install process (like setting your license key and app name), but most are more advanced settings, such as setting a log level, setting up proxy host access, excluding certain attributes, and enabling distributed tracing. -The .NET agent gets its configuration from the `newrelic.config` file, which is generated as part of the [install process](/docs/agents/net-agent/installation//install/dotnet-agent). By default, only a global `newrelic.config` file is created, but you can also create app-local `newrelic.config` files for finer control over a multi-app system. Other ways to set config options include: using environment variables, or setting server-side configuration from the UI. For more on the various config options and what overrides what, see [Config settings precedence](/docs/agents/net-agent/configuration/net-agent-configuration#config-options-precedence). +The .NET agent gets its configuration from the `newrelic.config` file, which is generated as part of the [install process](/docs/agents/net-agent/installation/install/dotnet). By default, only a global `newrelic.config` file is created, but you can also create app-local `newrelic.config` files for finer control over a multi-app system. Other ways to set config options include: using environment variables, or setting server-side configuration from the UI. For more on the various config options and what overrides what, see [Config settings precedence](/docs/agents/net-agent/configuration/net-agent-configuration#config-options-precedence). Support for both .NET Framework and .NET Core use the same configuration options and have the same APM features, unless otherwise stated. @@ -191,7 +191,7 @@ Our .NET agent relies on environment variables to tell the .NET Common Language CORECLR_NEWRELIC_HOME=C:\ProgramData\New Relic\.NET Agent\ ``` - The Windows .NET agent installer will add these to IIS by default, or as system-wide environment variables when enabling `Instrument All`. Exception: `CORECLR_ENABLE_PROFILING` needs to be set manually in order to instrument non-IIS hosted .NET Core applications. See [Compatibility and requirements for .NET Framework](/docs/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework) for .NET Framework applications. + The Windows .NET agent installer will add these to IIS by default, or as system-wide environment variables when enabling `Instrument All`. Exception: `CORECLR_ENABLE_PROFILING` needs to be set manually in order to instrument non-IIS hosted .NET Core applications. See [Compatibility and requirements for .NET Framework](/docs/apm/agents/net-agent/configuration/net-agent-configuration/) for .NET Framework applications. For more details on these variables, as well as correct values for other installation scenarios, please see [understanding .NET agent environment variables](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). diff --git a/src/content/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx b/src/content/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx index 86640476b86..82a9214e3c7 100644 --- a/src/content/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx +++ b/src/content/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx @@ -39,7 +39,7 @@ With our .NET agent for application performance monitoring, you can: To use the .NET agent: -1. Make sure your system meets the .NET agent compatibility: [.NET Framework](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework) \| [.NET Core](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core) +1. Make sure your system meets the [.NET agent compatibility](/docs/apm/agents/net-agent/configuration/net-agent-configuration/) 2. [Sign up](https://newrelic.com/signup) for a New Relic account. 3. Install the .NET agent via the in-product launcher below or by following our standard install procedures in the docs. @@ -63,7 +63,7 @@ To use the .NET agent: ## Support for both .NET Framework and .NET Core [#core-features] -New Relic's .NET agent supports both [.NET Framework](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent) and .[NET Core](/docs/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core), and it works with all .NET compatible languages, such as VB.NET, C#, and CLI. +New Relic's .NET agent supports both [.NET Framework and .NET Core](/docs/apm/agents/net-agent/configuration/net-agent-configuration/), and it works with all .NET compatible languages, such as VB.NET, C#, and CLI. The agent's support for .NET Core takes advantage of the compatibility, speed, expanded API features, and cross-platform capabilities of Microsoft's .NET Core. The agent **does not** support Microsoft .NET Core versions earlier than 2.0. diff --git a/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx b/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx index b95c07a9e5a..e45547e34bf 100644 --- a/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx +++ b/src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx @@ -4,7 +4,7 @@ tags: - Agents - NET agent - Getting started -metaDescription: "APM's .NET agent for .NET Framework applications: compatibility and requirement, and what frameworks are automatically instrumented." +metaDescription: "APM's .NET agent for .NET applications: compatibility and requirements, and what frameworks are automatically instrumented." redirects: - /docs/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework - /docs/agents/net-agent/getting-started/compatibility-requirements-net-agent @@ -18,7 +18,7 @@ redirects: freshnessValidatedDate: never --- -New Relic's .NET agent supports both .NET Framework and .NET Core. This document describes compatibility and support for .NET Core applications. +New Relic's .NET agent supports both .NET Framework and .NET Core. This document describes compatibility and support for .NET runtimes, frameworks and libraries. The agent includes built-in instrumentation for some of the most popular parts of the .NET ecosystem, including frameworks, databases, and message queuing systems. After you [download and install](/install/dotnet) the agent, it runs within the monitored process. The agent doesn't create a separate process or service. @@ -46,7 +46,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co @@ -267,7 +267,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co The agent is available in both 32-bit (x86) and 64-bit (x64) versions on Windows as well as both 64-bit (x64) and ARM64 (aarch64) versions on Linux. @@ -337,7 +337,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co The .NET agent automatically instruments these application frameworks: @@ -416,6 +416,28 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co + + + Oracle + + + + + + + + Use [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/) + + * Minimum supported version: 23.4.0 + * Latest verified compatible version: 23.5.1 + + Older versions of `Oracle.ManagedDataAccess.Core` may be instrumented, but have not been tested and are not supported. + + + PostgreSQL @@ -503,9 +525,9 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co /> - Minimum supported version: .0.488 + Minimum supported version: 1.0.488 - Latest verified compatible version: 2.7.33 + Latest verified compatible version: 2.8.16 @@ -593,7 +615,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co The .NET agent [can be configured](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#ai_monitoring) to automatically instrument these LLM frameworks: @@ -631,7 +653,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co 10.23.0 - 3.7.301.45 + 3.7.403.4 @@ -768,7 +790,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co * Minimum supported version: 1.4.0 - * Latest verified compatible version: 2.2.0 + * Latest verified compatible version: 2.5.3 @@ -824,6 +846,20 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co + + + AWSSDK.SQS (Amazon Simple Queue Service) (agent versions 10.27.0 and newer) + + + + * Message send and receive + + * Minimum supported version: 3.7.0 + + * Latest verified compatible version: 3.7.400.19 + + + @@ -902,7 +938,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co **.NET Framework 4.6.2 or higher** @@ -1007,7 +1043,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co The agent is available in both 32-bit and 64-bit versions. On 64-bit systems, the 64-bit agent can instrument both 32-bit and 64-bit applications. @@ -1030,14 +1066,14 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co ## Automatic instrumentation [#instrumented-features] - If your application is hosted in ASP.NET or another [fully supported framework](#app-frameworks), the .NET agent will automatically instrument your application after install. If your app isn't automatically instrumented, or if you want to add instrumentation, use [custom instrumentation](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/). + If your application is hosted in ASP.NET or another [fully supported framework](#app-frameworks-framework), the .NET agent will automatically instrument your application after install. If your app isn't automatically instrumented, or if you want to add instrumentation, use [custom instrumentation](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/). The .NET agent doesn't directly monitor datastore processes. Also, by default the .NET SQL parameter capture in a query trace doesn't list parameters for a parameterized query or a stored procedure. Collection of the SQL query parameters can be enabled in the agent [configuration](/docs/apm/agents/net-agent/configuration/net-agent-configuration/). The agent automatically instruments some application frameworks; we refer to these frameworks as **fully supported**, which are listed below: @@ -1373,9 +1409,14 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co /> - + + Use [Oracle.ManagedDataAccess](https://www.nuget.org/packages/Oracle.ManagedDataAccess/) + + * Minimum supported version: 12.1.2400 + * Latest verified compatible version: 23.5.1 + - + PostgreSQL @@ -1427,7 +1468,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co * Minimum supported version: 1.0.488 - * Latest verified compatible version: 2.7.33 + * Latest verified compatible version: 2.8.16 @@ -1578,7 +1619,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co The .NET agent [can be configured](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#ai_monitoring) to automatically instrument these LLM frameworks: @@ -1616,7 +1657,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co 10.23.0 - 3.7.301.45 + 3.7.403.4 @@ -1752,7 +1793,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co * Minimum supported version: 1.4.0 - * Latest verified compatible version: 2.2.0 + * Latest verified compatible version: 2.5.3 @@ -1817,6 +1858,20 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co + + + AWSSDK.SQS (Amazon Simple Queue Service) (agent versions 10.27.0 and newer) + + + + * Message send and receive + + * Minimum supported version: 3.7.0 + + * Latest verified compatible version: 3.7.400.19 + + + diff --git a/src/content/docs/apm/agents/net-agent/installation/update-net-agent.mdx b/src/content/docs/apm/agents/net-agent/installation/update-net-agent.mdx index 9af55569277..3f891fe4556 100644 --- a/src/content/docs/apm/agents/net-agent/installation/update-net-agent.mdx +++ b/src/content/docs/apm/agents/net-agent/installation/update-net-agent.mdx @@ -52,7 +52,7 @@ Follow the update instructions for your agent: Before updating: - * Updating the agent requires **Administrator** rights in your Windows admin group. For more information, see the [permissions documentation](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#user-rights). + * Updating the agent requires **Administrator** rights in your Windows admin group. For more information, see the [permissions documentation](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#user-rights). * If your agent version is lower than 7.0 or you are using .NET Framework version 4.0 or lower, see [Update legacy .NET agent](#updating_older_net). * If your application is hosted in IIS, be sure to **stop IIS** before updating the .NET agent. @@ -62,9 +62,9 @@ Follow the update instructions for your agent: id="update-framework-standard" title="Standard install" > - 1. Ensure that you have [.NET 4.5 or higher installed on your system](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#net-version). + 1. Ensure that you have [.NET 4.5 or higher installed on your system](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#net-version-framework). 2. Stop IIS. - 3. Download and run the appropriate MSI install package for your [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#architecture): + 3. Download and run the appropriate MSI install package for your [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#architecture-framework): * [32-bit installer](https://download.newrelic.com/dot_net_agent/latest_release/NewRelicDotNetAgent_x86.msi) * [64-bit installer](https://download.newrelic.com/dot_net_agent/latest_release/NewRelicDotNetAgent_x64.msi) @@ -88,7 +88,7 @@ Use one of the following methods to update to the latest version of the .NET age title="tar.gz or deb file" > 1. Shut down your application(s). - 2. Download the appropriate file for your [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core/#architecture) from the [download site](https://download.newrelic.com/dot_net_agent/latest_release/). + 2. Download the appropriate file for your [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#architecture-core) from the [download site](https://download.newrelic.com/dot_net_agent/latest_release/). 3. Install the file in your preferred install location. For the tar.gz file: Extract the zip file on top of your existing files. 4. Start your application(s). @@ -124,7 +124,7 @@ Use one of the following methods to update to the latest version of the .NET age title="rpm (CentOS, Oracle Linux, or RHEL)" > 1. Shut down your application(s). - 2. Download the appropriate rpm file for your [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core/#architecture) from the [download site](https://download.newrelic.com/dot_net_agent/latest_release/). + 2. Download the appropriate rpm file for your [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#architecture-core) from the [download site](https://download.newrelic.com/dot_net_agent/latest_release/). 3. Use the following to update the agent: ```bash diff --git a/src/content/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx b/src/content/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx index fc3617479f4..503b8c9937f 100644 --- a/src/content/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx +++ b/src/content/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx @@ -103,7 +103,7 @@ If the correct variables are set and the application you're trying to monitor ha If you made any changes to the environment variables, make sure to issue a command-line `iisreset` or restart your application process (if it's non-IIS). Then inspect the new process PID in Process Explorer in order to ensure the changes were successful. - If the application name is showing up in New Relic, but no transactions are appearing, it's likely because no traffic is hitting the app, or else the agent is not encountering a [known framework](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#app-frameworks) that it can automatically instrument. + If the application name is showing up in New Relic, but no transactions are appearing, it's likely because no traffic is hitting the app, or else the agent is not encountering a [known framework](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#app-frameworks-framework) that it can automatically instrument. If your application does not use one of those compatible app frameworks, you may need to [custom instrument your application](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/), in order to tell the agent what parts of your application are important for monitoring and what constitutes the scope of a transaction. @@ -129,7 +129,7 @@ If the correct variables are set and the application you're trying to monitor ha If you don't see the variables above in Process Explorer when inspecting your application's process, make sure you have the variables set and that they are accessible to the application at run time. - If the application name is showing up in New Relic, but no transactions are appearing, it's likely because either no traffic is hitting the app, or the agent is not encountering a [known framework](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-core/#app-frameworks) that it can automatically instrument. + If the application name is showing up in New Relic, but no transactions are appearing, it's likely because either no traffic is hitting the app, or the agent is not encountering a [known framework](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#app-frameworks-core) that it can automatically instrument. If your application does not use one of those compatible app frameworks, you may need to implement [custom instrument](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/) to tell the agent what parts of your application are important for monitoring and what constitutes the scope of a transaction. diff --git a/src/content/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx b/src/content/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx index 8062bd33229..239af5ee1fc 100644 --- a/src/content/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx +++ b/src/content/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx @@ -273,46 +273,46 @@ version. | Package name | Minimum supported version | Latest supported version | Introduced in* | | --- | --- | --- | --- | -| `@apollo/gateway` | 2.3.0 | 2.9.0 | `@newrelic/apollo-server-plugin@1.0.0` | +| `@apollo/gateway` | 2.3.0 | 2.9.1 | `@newrelic/apollo-server-plugin@1.0.0` | | `@apollo/server` | 4.0.0 | 4.11.0 | `@newrelic/apollo-server-plugin@2.1.0` | -| `@aws-sdk/client-bedrock-runtime` | 3.474.0 | 3.642.0 | 11.13.0 | -| `@aws-sdk/client-dynamodb` | 3.0.0 | 3.637.0 | 8.7.1 | -| `@aws-sdk/client-sns` | 3.0.0 | 3.637.0 | 8.7.1 | -| `@aws-sdk/client-sqs` | 3.0.0 | 3.637.0 | 8.7.1 | -| `@aws-sdk/lib-dynamodb` | 3.377.0 | 3.637.0 | 8.7.1 | +| `@aws-sdk/client-bedrock-runtime` | 3.474.0 | 3.654.0 | 11.13.0 | +| `@aws-sdk/client-dynamodb` | 3.0.0 | 3.654.0 | 8.7.1 | +| `@aws-sdk/client-sns` | 3.0.0 | 3.654.0 | 8.7.1 | +| `@aws-sdk/client-sqs` | 3.0.0 | 3.654.0 | 8.7.1 | +| `@aws-sdk/lib-dynamodb` | 3.377.0 | 3.654.0 | 8.7.1 | | `@aws-sdk/smithy-client` | 3.47.0 | 3.374.0 | 8.7.1 | | `@elastic/elasticsearch` | 7.16.0 | 8.15.0 | 11.9.0 | -| `@grpc/grpc-js` | 1.4.0 | 1.11.1 | 8.17.0 | +| `@grpc/grpc-js` | 1.4.0 | 1.11.3 | 8.17.0 | | `@hapi/hapi` | 20.1.2 | 21.3.10 | 9.0.0 | -| `@koa/router` | 11.0.2 | 13.0.0 | 3.2.0 | -| `@langchain/core` | 0.1.17 | 0.2.31 | 11.13.0 | +| `@koa/router` | 11.0.2 | 13.1.0 | 3.2.0 | +| `@langchain/core` | 0.1.17 | 0.3.2 | 11.13.0 | | `@nestjs/cli` | 9.0.0 | 10.4.5 | 10.1.0 | | `@prisma/client` | 5.0.0 | 5.19.1 | 11.0.0 | -| `@smithy/smithy-client` | 2.0.0 | 3.2.0 | 11.0.0 | +| `@smithy/smithy-client` | 2.0.0 | 3.3.2 | 11.0.0 | | `amqplib` | 0.5.0 | 0.10.4 | 2.0.0 | | `apollo-server` | 3.0.0 | 3.13.0 | `@newrelic/apollo-server-plugin@1.0.0` | | `apollo-server-express` | 3.0.0 | 3.13.0 | `@newrelic/apollo-server-plugin@1.0.0` | -| `aws-sdk` | 2.2.48 | 2.1688.0 | 6.2.0 | +| `aws-sdk` | 2.2.48 | 2.1691.0 | 6.2.0 | | `bluebird` | 2.0.0 | 3.7.2 | 1.27.0 | | `bunyan` | 1.8.12 | 1.8.15 | 9.3.0 | | `cassandra-driver` | 3.4.0 | 4.7.2 | 1.7.1 | | `connect` | 3.0.0 | 3.7.0 | 2.6.0 | -| `express` | 4.6.0 | 4.19.2 | 2.6.0 | -| `fastify` | 2.0.0 | 4.28.1 | 8.5.0 | +| `express` | 4.6.0 | 4.21.0 | 2.6.0 | +| `fastify` | 2.0.0 | 5.0.0 | 8.5.0 | | `generic-pool` | 3.0.0 | 3.9.0 | 0.9.0 | | `ioredis` | 4.0.0 | 5.4.1 | 1.26.2 | | `kafkajs` | 2.0.0 | 2.2.4 | 11.19.0 | | `koa` | 2.0.0 | 2.15.3 | 3.2.0 | | `koa-route` | 3.0.0 | 4.0.1 | 3.2.0 | -| `koa-router` | 11.0.2 | 12.0.1 | 3.2.0 | +| `koa-router` | 11.0.2 | 13.0.1 | 3.2.0 | | `memcached` | 2.2.0 | 2.2.2 | 1.26.2 | -| `mongodb` | 4.1.4 | 6.8.0 | 1.32.0 | +| `mongodb` | 4.1.4 | 6.9.0 | 1.32.0 | | `mysql` | 2.2.0 | 2.18.1 | 1.32.0 | -| `mysql2` | 2.0.0 | 3.11.0 | 1.32.0 | -| `next` | 13.4.19 | 14.2.7 | 12.0.0 | -| `openai` | 4.0.0 | 4.57.2 | 11.13.0 | -| `pg` | 8.2.0 | 8.12.0 | 9.0.0 | -| `pg-native` | 2.0.0 | 3.1.0 | 9.0.0 | +| `mysql2` | 2.0.0 | 3.11.3 | 1.32.0 | +| `next` | 13.4.19 | 14.2.12 | 12.0.0 | +| `openai` | 4.0.0 | 4.62.1 | 11.13.0 | +| `pg` | 8.2.0 | 8.13.0 | 9.0.0 | +| `pg-native` | 2.0.0 | 3.2.0 | 9.0.0 | | `pino` | 7.0.0 | 9.4.0 | 8.11.0 | | `q` | 1.3.0 | 1.5.1 | 1.26.2 | | `redis` | 3.1.0 | 4.7.0 | 1.31.0 | diff --git a/src/content/docs/apm/agents/php-agent/php-agent-api/newrelic_notice_error.mdx b/src/content/docs/apm/agents/php-agent/php-agent-api/newrelic_notice_error.mdx index 526b1634f64..b74ad37b5ef 100644 --- a/src/content/docs/apm/agents/php-agent/php-agent-api/newrelic_notice_error.mdx +++ b/src/content/docs/apm/agents/php-agent/php-agent-api/newrelic_notice_error.mdx @@ -18,7 +18,8 @@ freshnessValidatedDate: never newrelic_notice_error(string $message) newrelic_notice_error(Throwable|Exception $e) newrelic_notice_error(string $errstr, Throwable|Exception $e) -newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext) +newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline) (PHP 8+) +newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext) (PHP 7) ``` Use these calls to collect errors that the PHP agent does not collect automatically and to set the callback for your own error and exception handler. @@ -79,15 +80,23 @@ To use your own handler, use these calls to make sure that the PHP agent notices > To [provide `newrelic_notice_error` as the callback](#custom-error-handler-5) for [`set_error_handler()`](https://secure.php.net/set_error_handler), use the following: + PHP 7.x + ```php newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext) ``` + + PHP 8.x + + ```php + newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline) + ``` ## Parameters -This function can handle a variable number of parameters. You can pass-in 1 or 5 parameters, depending on your use case. +This function can handle a variable number of parameters. You can pass-in 1, 4 or 5 parameters, depending on your use case. ```php newrelic_notice_error(string $message) @@ -156,10 +165,18 @@ newrelic_notice_error(Throwable|Exception $e) +PHP 7.3 + ```php newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext) ``` +PHP 8.x + +```php +newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline) +``` + @@ -194,7 +211,7 @@ newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, @@ -207,6 +224,8 @@ newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, @@ -219,6 +238,8 @@ newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, @@ -231,6 +252,8 @@ newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, diff --git a/src/content/docs/apm/apm-ui-pages/monitoring/kubernetes-summary-page.mdx b/src/content/docs/apm/apm-ui-pages/monitoring/kubernetes-summary-page.mdx index a55846c59c9..7b460523feb 100644 --- a/src/content/docs/apm/apm-ui-pages/monitoring/kubernetes-summary-page.mdx +++ b/src/content/docs/apm/apm-ui-pages/monitoring/kubernetes-summary-page.mdx @@ -33,7 +33,13 @@ The Kubernetes page in APM offers the following information about your applicati id="deployment-summary" title="Deployment summary" > - You can see your cluster name, deployment, and namespace that it's running in. If you click the deployment, you'll get details about it in a slide-out panel. + You can see your cluster name, deployment, and namespace that it's running in. If you click the deployment, you'll get details about it in a slide-out panel. In the slide-out panel, you can see a mini overview containing relevant information such as a count of logs and percentage of error logs in the specified time range. + + This is an image of the Kubernetes APM page In the **Instances** drop-down, you can select a single pod instance of your service. @@ -133,7 +139,7 @@ The Kubernetes page in APM offers the following information about your applicati ## Link your applications to Kubernetes [#link-app] -You can surface Kubernetes metadata and link it to your APM agents, whether you use NR's proprietary agents or OpenTelemetry. uses the Kubernetes metadata to display the specific Kubernetes deployment information related to that APM application. +You can surface Kubernetes metadata and link it to your APM agents, whether you use our proprietary agents or OpenTelemetry. uses the Kubernetes metadata to display the specific Kubernetes deployment information related to that APM application. ### New Relic proprietary instrumentation [#nr-proprietary] @@ -156,7 +162,7 @@ The [OpenTelemetry collector](/docs/opentelemetry/get-started/collector-processi 2. Adjust the configuration of the collector to retrieve the appropriate Kubernetes metadata using this APM environment variable. -As a result, all the APM metrics and entities will include Kubernetes metadata thanks to the K8sattributes processor. For more information, see how to [link your OpenTelemetry applications to Kubernetes](/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/link-otel-applications-kubernetes/). +As a result, all the APM metrics and entities will include Kubernetes metadata thanks to the `K8sattributes` processor. For more information, see how to [link your OpenTelemetry applications to Kubernetes](/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/link-otel-applications-kubernetes/). The following attributes are required in the APM service entity to display the Kubernetes summary page: @@ -165,8 +171,8 @@ The following attributes are required in the APM service entity to display the K * `k8s.namespace.name` -The Kubernetes summary page won't work properly if there is a mix of different instrumentation providers (newRelic and OpenTelemetry). For it to work properly, both Kubernetes and APM need to be monitored either exclusively through New Relic's proprietary agents or entirely through OpenTelemetry. +The Kubernetes summary page won't work properly if there is a mix of different instrumentation providers (New Relic and OpenTelemetry). For it to work properly, both Kubernetes and APM need to be monitored either exclusively through New Relic's proprietary agents or entirely through OpenTelemetry. -As of now, we don't support hybrid scenarios. +We don't support hybrid scenarios. diff --git a/src/content/docs/browser/new-relic-browser/browser-apis/createtracer.mdx b/src/content/docs/browser/new-relic-browser/browser-apis/createtracer.mdx index a0fefd78210..817bb7493d8 100644 --- a/src/content/docs/browser/new-relic-browser/browser-apis/createtracer.mdx +++ b/src/content/docs/browser/new-relic-browser/browser-apis/createtracer.mdx @@ -16,6 +16,10 @@ redirects: freshnessValidatedDate: never --- + + The `createTracer` method in the SPA API has been deprecated. The recommended way to trace the duration of a task is to capture a performance [mark](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark) and/or [measure](https://developer.mozilla.org/en-US/docs/Web/API/Performance/measure). Future browser agent versions will capture marks and measures automatically, at which point support for `createTracer` will cease. + + ## Syntax ```js diff --git a/src/content/docs/browser/new-relic-browser/browser-apis/using-browser-apis.mdx b/src/content/docs/browser/new-relic-browser/browser-apis/using-browser-apis.mdx index 2ec6318e759..be67861e40e 100644 --- a/src/content/docs/browser/new-relic-browser/browser-apis/using-browser-apis.mdx +++ b/src/content/docs/browser/new-relic-browser/browser-apis/using-browser-apis.mdx @@ -211,7 +211,7 @@ To track single page applications, use these SPA API methods: diff --git a/src/content/docs/browser/single-page-app-monitoring/get-started/browser-spa-v2.mdx b/src/content/docs/browser/single-page-app-monitoring/get-started/browser-spa-v2.mdx index 723827600d4..0e8c495b300 100644 --- a/src/content/docs/browser/single-page-app-monitoring/get-started/browser-spa-v2.mdx +++ b/src/content/docs/browser/single-page-app-monitoring/get-started/browser-spa-v2.mdx @@ -15,7 +15,7 @@ For customers monitoring browser single page applications (SPA), we're excited t * Third-party library conflicts: Global wrapping, particularly around `Promises`, often disrupted code functionality due to conflicts with other libraries. * Performance bottlenecks: Conflicts with code using timers, RAF, and promise chaining led to performance issues, ranging from slowdowns to freezes. -The upgraded SPA monitoring experience is designed to eliminate these problems and provide a significantly improved monitoring experience. Key changes include: +The updated SPA monitoring experience is designed to eliminate these problems and provide a significantly improved monitoring experience. Key changes include: * Unwrapped execution: By not wrapping core globals, the new SPA experience unleashes execution speed boosts for your application. * Aligned with soft navigation heuristics: The new experience adopts Google Chrome's soft navigation, providing more accurate interaction tracking and improved alignment with browser behavior. @@ -88,4 +88,4 @@ The upgraded SPA monitoring experience is designed to eliminate these problems a [Submit a GitHub issue](https://github.com/newrelic/newrelic-browser-agent/issues) to report any bugs, feature requests, or performance improvements. -For any other feedback, share your thoughts and suggestions by emailing `browser-agent@newrelic.com` with a subject line starting with `[SoftNav]: `. \ No newline at end of file +For any other feedback, share your thoughts and suggestions by emailing `browser-agent@newrelic.com` with a subject line starting with `[SoftNav]: `. diff --git a/src/content/docs/codestream/observability/code-level-metrics.mdx b/src/content/docs/codestream/observability/code-level-metrics.mdx index e885f7d49a6..b21568d05c9 100644 --- a/src/content/docs/codestream/observability/code-level-metrics.mdx +++ b/src/content/docs/codestream/observability/code-level-metrics.mdx @@ -33,10 +33,9 @@ Because all requests by the New Relic agent are not collected all the time, it Run the following NRQL query to identify where you might see CodeLenses with code-level metrics for one of your services. Just replace the example `entity.guid` value with the one for the given service. In the query results, look at the `code.*` attributes to see if any of them represent your code, and not framework code. -``` -SELECT * -FROM Span -WHERE entity.guid = 'MXxBUE18QVBQTElDQVRJT058MjM' AND code.function is not null +```sql +SELECT * FROM Span +WHERE entity.guid = 'YOUR_ENTITY_GUID' AND code.function IS NOT NULL SINCE 30 minutes ago LIMIT MAX ``` diff --git a/src/content/docs/data-apis/understand-data/event-data/events-reported-browser-monitoring.mdx b/src/content/docs/data-apis/understand-data/event-data/events-reported-browser-monitoring.mdx index d3ed6655b23..e5af264bf9f 100644 --- a/src/content/docs/data-apis/understand-data/event-data/events-reported-browser-monitoring.mdx +++ b/src/content/docs/data-apis/understand-data/event-data/events-reported-browser-monitoring.mdx @@ -91,7 +91,7 @@ Select an event name in the following table to see its attributes. diff --git a/src/content/docs/iast/iast-configuration.mdx b/src/content/docs/iast/iast-configuration.mdx new file mode 100644 index 00000000000..479e240f341 --- /dev/null +++ b/src/content/docs/iast/iast-configuration.mdx @@ -0,0 +1,380 @@ +--- +title: IAST configuration +tags: + - IAST + - New Relic IAST + - Configuration +metaDescription: Find out how to configure IAST. +freshnessValidatedDate: 2024-09-16 +--- + +You can configure your IAST to handle scan scheduling. These configurations allow you to exclude certain APIs, parameters, and vulnerability categories from IAST analysis. You can also delay IAST scans or schedule them for specific times of the day. + +## Scheduling IAST scans [#scheduling-iast-scans] + +You can start and stop your scheduled IAST scans using 2 variables. These variables allow you to set specific times for the IAST scan or add a delay to the IAST scan start time from the application. + + +### Configure your scheduled IAST scans [#configure-scheduled] + +Open the `newrelic.yml` configuration file to set the `scan_schedule` parameters. + +```yml +security: + scan_schedule: + delay: 0 #In minutes, default is 0 min + duration: 0 #In minutes, default is forever + schedule: "" #Cron Expression to define start time + always_sample_traces: false #regardless of scan schedule +``` + + + delay (in minutes)} + > + The `delay` field specifies the time in minutes before an IAST scan begins after the application starts. The default value is `0`. + + + duration (in minutes)} + > + The `duration` field specifies the length of time in minutes that the IAST scan will run. The default value is forever, it has no limits. + + For example, if you set `duration: 300`, the IAST scan will run for 300 minutes (5 hours). + + + schedule (Cron expression)} + > + The `schedule` field specifies a cron expression that defines when the IAST scan should run. By default, `schedule` is disabled. The [cron expression](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html) consists of six fields separated by spaces: + + * **second**: Specifies the second of the hour (0-59) + * **minute**: Specifies the minute of the hour (0-59) + * **hour**: Specifies the hour of the day (0-23) + * **day**: Specifies the day of the month (1-31) + * **month**: The month of the year (1-12 or JAN-DEC) + * **day_of_week**: Specifies the day of the week (1-7 or SUN-SAT), where 1 = Sunday + + + What happens if `duration` is not specified? Omitting the duration parameter implies that the IAST scan should never stop. In this scenario, the specified schedule is treated as a start time rather than a recurring operation. The scan will continue indefinitely without interruption or termination. For example, `schedule: "0 0 0 * * ?"` would schedule the IAST scan to run at 12am every day. + + + + always_sample_traces (Boolean)} + > + `always-sample-traces` allows IAST to actively collect trace data in the background, and the security agent will use this collected data to perform an IAST scan at the scheduled time. However, for applications with session management, leaving the default value of the `always_sample_traces` flag set to `false` is the recommended option. This ensures that IAST sampling and scanning is limited to a specified window. Sessions typically have a short lifetime, often ending within 30 minutes. In this scenario, sampling traces before the window will not provide valuable insight and may result in missed vulnerabilities. By default, the value of `always_sample_traces` is false. + + + + + +### Examples [#configure-scheduled-examples] + + + + To schedule IAST to start 30 minutes after the application starts and run for 300 minutes, you should set the delay to 30 and the duration to 300. + + ```yml + security: + scan_schedule: + delay: 30 #In minutes, default is 0 min + duration: 300 #In minutes, default is forever + ``` + + + To schedule IAST to run at a specific time, set the schedule to a cron expression that represents the desired time. For example, to schedule the IAST to run every day at midnight, you would set the schedule to `"0 0 0 * * ?"`. + + ```yml + security: + scan_schedule: + schedule: "0 0 0 * * ?" #By default, schedule is inactive + ``` + + + If both delay and schedule are specified, the delay takes precedence. This means that the IAST will start after the specified delay, regardless of the schedule. + + + + + If you want IAST to always sample traces, you would set `always_sample_traces` to `true`. By default, this is set to `false`, which means that IAST only samples traces within the active scan window. + + ```yml + security: + scan_schedule: + delay: 30 #In minutes, default is 0 min + always_sample_traces: true #regardless of scan schedule + ``` + + + + + +## Exclude from IAST scan [#exclude-iast-scans] + +The exclude from IAST scan setting allows you to exclude specific APIs, vulnerability categories, and parameters from IAST analysis. This is useful in situations where certain components of the application are known to be secure, or where IAST scanning of certain APIs could result in application malfunction, such as login throttling. + +To configure IAST scan exclusion, open the `newrelic.yml` configuration file to set the `exclude_from_iast_scan` parameter. + +```yml +security: + exclude_from_iast_scan: + api: [] + http_request_parameters: + header: [] + query: [] + body: [] + iast_detection_category: + insecure_settings: false + invalid_file_access: false + sql_injection: false + nosql_injection: false + ldap_injection: false + javascript_injection: false + command_injection: false + xpath_injection: false + ssrf: false + rxss: false +``` + +### Exclude API [#exclude-api] + +You can ignore specific APIs from IAST analysis by adding them to the API section of the `newrelic.yml` configuration file. You can specify APIs using regular expression (regex) patterns that follow the syntax of Perl 5. The regex pattern should provide a full match for the URL without the endpoint. + +This is the format for specifying APIs: + +```yml + exclude_from_iast_scan: + api: + - .*account.* + - .*/\api\/v1\/.*?\/login +``` + +For example: +* `.*account.*` matches APIs with URLs like `http://localhost:80/api/v1/account/login` + +* `.*/\api\/v1\/.*?\/login` matches APIs with URLs like `http://localhost:80/api/v1/{'{account_id}'}/login` + + +### Exclude `http_request_parameters` [#exclude-http] + +You can ignore specific HTTP request parameters from IAST analysis by adding them to the `http_request_parameters` section of the `newrelic.yml` configuration file. + + + + + This is a list of HTTP header keys. If a request includes any headers with these keys, the corresponding IAST scan will be skipped. For example, if you have a curl request with headers and you want to skip IAST scanning on the `X-Forwarded-For` header, you can pass this configuration: + + ```bash + curl -X POST -H "X-Forwarded-For: 123.456.789.012" -H "Content-Type: application/x-www-form-urlencoded" -d "param1=value1¶m2=value2" http://example.com + ``` + + You can use this configuration: + + ```yml + exclude_from_iast_scan: + http_request_parameters: + header: + - X-Forwarded-For + ``` + + + + + This is a list of query parameter keys. The presence of these parameters in the query string of the request will cause the IAST scan to be skipped. For example, if you have a curl request with query parameters and you want to skip IAST scanning on the `customerID` and `username` query parameters, you can pass this configuration: + + ```bash + curl --location --request GET 'localhost:8080/sql/save?firstName=test&lastName=user&customerID=testuser&username=test123' + ``` + + You can use this configuration: + + ```yml + exclude_from_iast_scan: + http_request_parameters: + query: + - username + - customerID + ``` + + + + + This is a list of keys within the body of the request. If these keys are found in the body content, the IAST scan is skipped. These are the supported content types for the request body: JSON, XML, and Form-URL-Encoded data. + + #### Example for JSON Content-Type + + This is a curl example for JSON content type when you have a curl request with JSON body, and you want to skip IAST scanning on `customerID` and `firstName`. + + ```bash + curl --location --request POST 'localhost:8080/application/json/post' \ + --header 'Content-Type: application/json' \ + --data '{ + "path": "sample.txt", + "script":"testscript", + "customerID":"GREAL", + "name": { + "firstName": "john", + "lastName": "wick" + }, + "url":"http://example.com", + "cmd":"ls" + }' + ``` + + You can use this configuration: + + ```yml + exclude_from_iast_scan: + http_request_parameters: + body: + - customerID + - name.firstName + ``` + + #### Example for XML Content-Type + + This is a curl request with XML body, and you want to skip IAST scanning on `customerID` and `username`. + + ```bash + curl --location 'localhost:8080/application/xml/post' \ + --header 'Content-Type: application/xml' \ + --data ' + + sample.txt + + GREAL + bob + http://example.com + ls + keshav + Aliko + ' + ``` + + You can use this configuration: + + ```yml + exclude_from_iast_scan: + http_request_parameters: + body: + - AppData.customerID + - AppData.username + ``` + + #### Example Form-URL-Encoded Content-Type + + This is a curl request with Form-URL-Encoded body, and you want to skip IAST scanning on `customerID` and `username`. + + ```bash + curl --location 'localhost:8080/application/urlencode/post' \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + -d 'name=madhav&path=sample.txt&customerID=GREAL&script=K2&url=http://example.com&username=bob&firstName=Aliko&cmd=ls' + ``` + + You can use this configuration: + + ```yml + http_request_parameters: + body: + - customerID + - username + ``` + + + For nested body parameters, specify a parameter value separated by a period (.). + + + + + + +### Exclude `iast_detection_category` [#exclude-iast-detection] + +The `iast_detection_category` setting allows users to specify categories of vulnerabilities for which IAST analysis will be applied or ignored. If one of these categories is set to `true`, the IAST security agent will not generate events or flag vulnerabilities for that category. + +See this example to skip scanning for SQL Injection and SSRF. The `sql_injection` and `ssrf` parameters are set to `true`: + + ```yml + exclude_from_iast_scan: + iast_detection_category: + insecure_settings: false + invalid_file_access: false + sql_injection: true + nosql_injection: false + ldap_injection: false + javascript_injection: false + command_injection: false + xpath_injection: false + ssrf: true + rxss: false + ``` + + + The `iast_detection_category` will be prioritized over detection config present in security section. + + +You can use this combined configuration: + + ```yml + security: + enabled: true + scan_schedule: + delay: 0 #In minutes, default is 0 min + duration: 0 #In minutes, default will be forever + #schedule: "" #Cron Expression to define start time + always_sample_traces: false #continuously collect samples + exclude_from_iast_scan: + api: [] + http_request_parameters: + header: [] + query: [] + body: [] + iast_detection_category: + insecure_settings: false + invalid_file_access: false + sql_injection: false + nosql_injection: false + ldap_injection: false + javascript_injection: false + command_injection: false + xpath_injection: false + ssrf: false + rxss: false + agent: + enabled: true + ``` + +## IAST scan controllers [#iast-scan-controllers] + + +### IAST scan rate limit [#iast-scan-rate-limit] + +IAST scan rate limit settings limit the maximum number of analysis probes or requests that can be sent to the application in one minute. The default IAST scan rate limit is set to a minimum of 12 replay requests per minute and a maximum of 3,600 replay requests per minute. + + + + + diff --git a/src/content/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-application-migration-services-integration.mdx b/src/content/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-application-migration-service-integration.mdx similarity index 94% rename from src/content/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-application-migration-services-integration.mdx rename to src/content/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-application-migration-service-integration.mdx index fa607e61fbd..d1950de20ae 100644 --- a/src/content/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-application-migration-services-integration.mdx +++ b/src/content/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-application-migration-service-integration.mdx @@ -9,7 +9,7 @@ metaDescription: "New Relic's Amazon Application Migration Service integration" freshnessValidatedDate: 2024-09-03 --- -You can now use the AWS [Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) to install the New Relic agent on applications migrating into AWS. +You can now use the AWS [Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) to install the New Relic agent on servers migrating into AWS. ## Setup [#setup] diff --git a/src/content/docs/infrastructure/amazon-integrations/connect/aws-multi-account.mdx b/src/content/docs/infrastructure/amazon-integrations/connect/aws-multi-account.mdx index 49075913b35..977ed9e2154 100644 --- a/src/content/docs/infrastructure/amazon-integrations/connect/aws-multi-account.mdx +++ b/src/content/docs/infrastructure/amazon-integrations/connect/aws-multi-account.mdx @@ -36,38 +36,48 @@ Check the following: * You have [CloudWatch cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html) properly set up. See [Setting up cross account access](#setting-up-aws-cross-account-access). -### Setting up AWS cross account access [#setting-up-aws-cross-account-access] +### Set up AWS cross-account access [#setting-up-aws-cross-account-access] You'll need to have access to the AWS Management Console of both monitoring and source accounts. * **Source AWS account(s)**: These are individual AWS accounts that generate observability data for the resources that reside in them. Source accounts share their observability data with the monitoring account. * **Monitoring AWS account**: This is a central AWS account that can view and interact with observability data generated from source accounts. It collects the telemetry from these accounts and pushes it to New Relic. -1. Go to the AWS Management Console of the monitoring account and follow these steps to copy the **Monitoring accounts sink ARN**: + - - Go to **CloudWatch > Settings**. - - Click on **Manage monitoring account**. - - Go to tab **Configuration details**. - - Copy **Monitoring accounts sink ARN**. + +Go to the AWS Management Console of the monitoring account and follow these steps to copy the **Monitoring accounts sink ARN**: + +1. Go to **CloudWatch > Settings**. +2. Click **Manage monitoring account**. +3. Click the **Configuration details** tab. +4. Copy the **Monitoring accounts sink ARN**. Each account can have one sink per region, so if you need to monitor multiple regions, you need to set up a sink for each region. + + + +Go to the AWS Management Console of the source account and [link the monitoring account](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account-Setup.html) for the **Metrics** resources: -2. Go to the AWS Management Console of the source account and [link the monitoring account](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account-Setup.html) for the **Metrics** resources: +1. Go to **Cloudwatch > Settings**. +2. In the **Source account configuration** section, click **Configure**. +3. Select **Metrics**. +4. (Optional) Mark **Filter Metrics** and set up a filter. +5. Paste the previously copied sink ARN in **Sink ARN** field. +6. Click **Link** and confirm. + - - Go to **Cloudwatch > Settings**. - - In the **Source account configuration** section, click on **Configure**. - - Select **Metrics**. - - (Optional) Mark **Filter Metrics** and set up a filter. - - Paste the previously copied sink ARN in **Sink ARN** field. - - Click on **Link** and confirm. + +Go back to the AWS Management Console of the monitoring account: -3. Go back to the AWS Management Console of the monitoring account: +1. Go to **CloudWatch > Settings**. +2. Click **Manage monitoring account** and check that the source account is listed. +3. Go to **CloudWatch > Metrics > Streams** and check that the metric stream sending the telemetry has **Cross account status** enabled. If not, edit it, mark the **Metrics to be streamed > Include source account metrics** check, and save. + - - Go to **CloudWatch > Settings**. - - Click on **Manage monitoring account** and check that the source account is listed. - - Go to **CloudWatch > Metrics > Streams** and check that the metric stream sending the telemetry has **Cross account status** enabled. If not, edit it, mark the **Metrics to be streamed > Include source account metrics** check, and save. + ## Connect your AWS observe account to New Relic [#connect-aws-account] diff --git a/src/content/docs/infrastructure/host-integrations/host-integrations-list/envoy-integration.mdx b/src/content/docs/infrastructure/host-integrations/host-integrations-list/envoy-integration.mdx index 347edc29eb1..bf04fd59858 100644 --- a/src/content/docs/infrastructure/host-integrations/host-integrations-list/envoy-integration.mdx +++ b/src/content/docs/infrastructure/host-integrations/host-integrations-list/envoy-integration.mdx @@ -99,17 +99,17 @@ Gain deep insights into Envoy's operations with seamless data integration into N ``` 2. Add the following script to the `logging.yml` file. Replace `file` with your Envoy log filepath if needed: - ```yml - logs: - - name: envoy.log - file: /tmp/envoy.log - attributes: - logtype: envoy_logs - - name: envoy-admin.log - file: /tmp/admin_access.log - attributes: - logtype: envoy_admin_logs - ``` + ```yml + logs: + - name: envoy.log + file: /tmp/envoy.log + attributes: + logtype: envoy_logs + - name: envoy-admin.log + file: /tmp/admin_access.log + attributes: + logtype: envoy_admin_logs + ``` diff --git a/src/content/docs/infrastructure/host-integrations/host-integrations-list/nextcloud-integration.mdx b/src/content/docs/infrastructure/host-integrations/host-integrations-list/nextcloud-integration.mdx index 2d9d036672c..fa476556ecb 100644 --- a/src/content/docs/infrastructure/host-integrations/host-integrations-list/nextcloud-integration.mdx +++ b/src/content/docs/infrastructure/host-integrations/host-integrations-list/nextcloud-integration.mdx @@ -34,25 +34,25 @@ Complete the following steps to install the integration: 1. Create a file named `nri-flex-nextcloud.yml` in `/etc/newrelic-infra/integrations.d` - 2. Use our [configuration template](https://github.com/newrelic/nri-flex/blob/master/examples/json-read-cmd-example.yml) to update the fields `EVENT_TYPE` and `YOUR_DOMAIN` in the file named `nri-flex-nextcloud.yml`. The value on the `event_type` is used to store metrics on the NRDB. For example, you can update `EVENT_TYPE` to `NextcloudFlexMetrics` + 2. Use our [configuration template](https://github.com/newrelic/nri-flex/blob/master/examples/json-read-cmd-example.yml) to update the fields `YOUR_EVENT_TYPE` and `YOUR_HOST_IP` in the file named `nri-flex-nextcloud.yml`. The value on the `event_type` is used to store metrics in the NRDB. For example, you can update `EVENT_TYPE` to `NextcloudFlexMetrics` Your `nri-flex-nextcloud.yml` file should look like this: - ```yml - integrations: - - name: nri-flex - config: - name: nextcloudFlex - global: - base_url: http:///ocs/v2.php/apps/serverinfo/api/v1/ - user: - pass: - apis: - - event_type: EVENT_TYPE - url: info?format=json - ``` - - Metrics for Nextcloud are available at the following URL: `http:///ocs/v2.php/apps/serverinfo/api/v1/info?format=json` + ```yml + integrations: + - name: nri-flex + config: + name: nextcloudFlex + global: + base_url: http://YOUR_HOST_IP/ocs/v2.php/apps/serverinfo/api/v1/ + user: nextcloud_username + pass: nextcloud_password + apis: + - event_type: YOUR_EVENT_TYPE + url: info?format=json + ``` + + Metrics for Nextcloud are available at the following URL: `http://YOUR_HOST_IP/ocs/v2.php/apps/serverinfo/api/v1/info?format=json` @@ -62,15 +62,15 @@ Complete the following steps to install the integration: You can use [log forwarding](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/) to forward Nextcloud logs to New Relic: 1. Create a log file named `logging.yml` in `/etc/newrelic-infra/logging.d/` - 2. After creating the log file, add the following script to the `logging.yml` file: - - ```yml - logs: - - name: nextcloud.log - file: /var/www/nextcloud/data/nextcloud.log - attributes: - logtype: nextcloud_log - ``` + 2. Add the following script to the `logging.yml` file: + + ```yml + logs: + - name: nextcloud.log + file: /var/www/nextcloud/data/nextcloud.log + attributes: + logtype: nextcloud_log + ``` diff --git a/src/content/docs/infrastructure/host-integrations/host-integrations-list/ocsf-integration.mdx b/src/content/docs/infrastructure/host-integrations/host-integrations-list/ocsf-integration.mdx new file mode 100644 index 00000000000..6af49432c2c --- /dev/null +++ b/src/content/docs/infrastructure/host-integrations/host-integrations-list/ocsf-integration.mdx @@ -0,0 +1,103 @@ +--- +title: OCSF integration +tags: + - New Relic integrations + - OCSF integration +metaDescription: Use New Relic infrastructure agent to get a dashboard with metrics from your OCSF format data. +freshnessValidatedDate: 2024-09-18 +--- + +Monitor OCSF data seamlessly with New Relic for comprehensive visibility into security-related data from multiple sources to facilitate threat detection, incident response, and compliance. + +OCSF dashboard + +
+After setting up our OCSF integration, see your data in a dashboard right out of the box. +
+ + +## Set up the OCSF integration [#set-up-ocsf] + +Complete the following steps to set up the OCSF integration: + + + +## Install the infrastructure agent [#infra-install] + +To use the OCSF integration, you need to also [install the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent-new-relic/) on the same host. The infrastructure agent monitors the host itself, while the integration you'll install in the next step extends your monitoring with OCSF-specific data. + + + +## Enable the OCSF integration with `nri-flex` [#enable] + +1. Create a file named `nri-ocsf.yml` in the integrations directory: + + ```shell + touch /etc/newrelic-infra/integrations.d/nri-ocsf.yml + ``` + +2. Add the following snippet to your `nri-ocsf.yml` file to enable the agent to capture OCSF data: + + ```yml + integrations: + - name: nri-flex + config: + name: ocsfExample + global: + base_url: http://ip-address:PORT + headers: + accept: application/json + apis: + - event_type: ocsfSampleEvent # use this name to query the data + url: /customEndpoint # endpoint with OCSF data + - event_type: ocsfCustomEvent1 + url: /customEndpoint2 + ``` + + + + +## Restart the New Relic infrastructure agent [#restat-agent] + +Use the instructions in our [infrastructure agent docs](/docs/infrastructure/install-infrastructure-agent/manage-your-agent/start-stop-restart-infrastructure-agent/) to restart your infrastructure agent. This is command that should work for most people: + + ```shell + sudo systemctl restart newrelic-infra.service + ``` + + + + +## Find your data [#find-data] + +You can use our pre-built dashboard template to monitor your OCSF application metrics. Follow these steps to use our pre-built dashboard template: + +1. Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > + Integrations & Agents**. + +2. Select **Dashboards** to access the pre-built resources. + +3. Search **OCSF** and select the dashboard. + +To instrument the OCSF quickstart and to see metrics and alerts, you can also follow our [OCSF quickstart page](https://newrelic.com/instant-observability/ocsf) by clicking on the **Install now** button. + +Here is an example NRQL query to view the OCSF master uptime: + +```sql +SELECT * FROM ocsfSampleEvent +``` + + + +## What's next? [#whats-next] + +To learn more about building NRQL queries and generating dashboards, check out these docs: + +* [Introduction to the query builder](/docs/query-your-data/explore-query-data/query-builder/introduction-query-builder) to create basic and advanced queries. + +* [Introduction to dashboards](/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards) to customize your dashboard and carry out different actions. + +* [Manage your dashboard](/docs/query-your-data/explore-query-data/dashboards/manage-your-dashboard) to adjust your display mode, or to add more content to your dashboard. diff --git a/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration.mdx b/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration.mdx index abca9c5cd34..a445e614895 100644 --- a/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration.mdx +++ b/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-cosmos-db-document-db-monitoring-integration.mdx @@ -31,19 +31,19 @@ The Cosmos DB integration requires you to create an additional role and permissi icon. 2. Add the following command: - ``` + ```sh az role definition create --role-definition '{ - "Name": "NewRelic Integrations", - "Actions": [ - "*/read", - "Microsoft.DocumentDB/databaseAccounts/listKeys/action" - ], - "NotActions": [], - "AssignableScopes": [ - "/subscriptions/YOUR_INSERT_SUBSCRIPTION_ID" - ], - "Description": "Read Only for NewRelic Integrations", - "IsCustom": "true" + "Name": "NewRelic Integrations", + "Actions": [ + "*/read", + "Microsoft.DocumentDB/databaseAccounts/listKeys/action" + ], + "NotActions": [], + "AssignableScopes": [ + "/subscriptions/YOUR_INSERT_SUBSCRIPTION_ID" + ], + "Description": "Read Only for NewRelic Integrations", + "IsCustom": "true" }' ``` 3. From **Services > Subscriptions**, select the subscription, go to **Access control (IAM)**, and then select diff --git a/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-monitor.mdx b/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-monitor.mdx index 7d9396ccb76..13db4f570d7 100644 --- a/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-monitor.mdx +++ b/src/content/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-monitor.mdx @@ -135,7 +135,7 @@ Here are some details on this integration's features: For example, to see the amount of metric updates received from Azure Monitor in the last hour, run this query: - ``` + ```sql FROM Metric SELECT count(*) WHERE collector.name = 'azure-monitor' TIMESERIES SINCE 1 hour ago ``` @@ -150,7 +150,7 @@ Here are some details on this integration's features: Make sure your filter limits data to metrics from only the Azure Monitor integration. For example: - ``` + ```sql FROM Metric SELECT max(`azure.storage.storageaccounts.SuccessServerLatency`) WHERE collector.name = 'azure-monitor' diff --git a/src/content/docs/infrastructure/other-infrastructure-integrations/cloudfoundry-integrations/vmware-tanzu-firehose-nozzle-integration.mdx b/src/content/docs/infrastructure/other-infrastructure-integrations/cloudfoundry-integrations/vmware-tanzu-firehose-nozzle-integration.mdx index 8a5f5e952a1..8a21bed5a58 100644 --- a/src/content/docs/infrastructure/other-infrastructure-integrations/cloudfoundry-integrations/vmware-tanzu-firehose-nozzle-integration.mdx +++ b/src/content/docs/infrastructure/other-infrastructure-integrations/cloudfoundry-integrations/vmware-tanzu-firehose-nozzle-integration.mdx @@ -34,7 +34,7 @@ New Relic Nozzle for VMware Tanzu has the following requirements: * An active New Relic account with a Pro or Pro Trial license. If you do not already have a New Relic account, you can obtain a [14-day free trial license](http://newrelic.com/signup?funnel=pivotal-cloud-foundry&partner=Pivotal+Cloud+Foundry). * New Relic Insights included in the license -* VMware Tanzu versions v2.10.x through v5.0.x. +* VMware Tanzu versions v2.10.x through v6.0.x. ## Key features [#key-features] @@ -97,7 +97,7 @@ The following table provides version and version-support information about New R
@@ -107,7 +107,7 @@ The following table provides version and version-support information about New R @@ -117,7 +117,7 @@ The following table provides version and version-support information about New R @@ -137,7 +137,7 @@ The following table provides version and version-support information about New R diff --git a/src/content/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/configure-control-plane-monitoring.mdx b/src/content/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/configure-control-plane-monitoring.mdx index 4fbd34b1545..4c1fa60a2d4 100644 --- a/src/content/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/configure-control-plane-monitoring.mdx +++ b/src/content/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/configure-control-plane-monitoring.mdx @@ -353,22 +353,24 @@ Follow these instructions to set up mutual TLS authentication for etcd in [OpenS ## See your data [#check-integration-works] -If the integration has been been set up correctly, the [Kubernetes cluster explorer](/docs/integrations/kubernetes-integration/cluster-explorer/kubernetes-cluster-explorer) contains all the control plane components and their status in a dedicated section, as shown below. +If the integration is set up correctly, you'll see a view with all the control plane components and their statuses in a dedicated section, as shown below. New Relic - Kubernetes Cluster Explorer - Control Plane section
- **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Kubernetes Cluster Explorer**: Use the Kubernetes cluster explorer to monitor and collect metrics from your cluster's Control Plane components. + Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Kubernetes** and click **Control plane** on the left navigation pane.
You can also check for control plane data with this [NRQL](/docs/query-data/nrql-new-relic-query-language/getting-started/introduction-nrql) query: -```SQL -SELECT latest(timestamp) FROM K8sApiServerSample, K8sEtcdSample, K8sSchedulerSample, K8sControllerManagerSample FACET entityName where clusterName = '_MY_CLUSTER_NAME_' +```sql +SELECT latest(timestamp) +FROM K8sApiServerSample, K8sEtcdSample, K8sSchedulerSample, K8sControllerManagerSample FACET entityName +WHERE clusterName = '_MY_CLUSTER_NAME_' ``` diff --git a/src/content/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration.mdx b/src/content/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration.mdx index fd438c01eea..78307711d32 100644 --- a/src/content/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration.mdx +++ b/src/content/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration.mdx @@ -25,8 +25,8 @@ Kubernetes is an open-source tool for automating deployments, scaling, and manag Once you've got the [Kubernetes integration up and running](/docs/kubernetes-pixie/kubernetes-integration/installation/kubernetes-integration-install-configure/), you can start monitoring all the services running on Kubernetes in one place with to our [Kubernetes out-of-the-box experiences](/docs/integrations/kubernetes-integration/cluster-explorer/kubernetes-cluster-explorer). It shows you everything from the top of the control plane down to the applications running on a single pod, so you can get to the heart of how your cluster works. New Relic - Kubernetes Cluster Explorer diff --git a/src/content/docs/kubernetes-pixie/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer.mdx b/src/content/docs/kubernetes-pixie/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer.mdx index aa3c4611176..e025a75f203 100644 --- a/src/content/docs/kubernetes-pixie/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer.mdx +++ b/src/content/docs/kubernetes-pixie/kubernetes-integration/understand-use-data/kubernetes-cluster-explorer.mdx @@ -18,11 +18,11 @@ After [installing](/install/kubernetes) our Kubernetes integration, you can star You can find out about the health of each entity, explore logs, and see how your apps are performing. With the [Events integration](/docs/integrations/kubernetes-integration/kubernetes-events/install-kubernetes-events-integration), everything that happens in your cluster becomes visible, and logs brought in using the [logs plugin](/docs/logs/enable-logs/enable-logs/kubernetes-plugin-logs) are also available. -## Meet the Kubernetes navigator [#navigator-preview] +## Meet the Kubernetes Navigator [#navigator-preview] -The Kubernetes navigator UI is a Kubernetes version of our [New Relic Navigator](/docs/new-relic-solutions/new-relic-one/core-concepts/new-relic-explorer-view-performance-across-apps-services-hosts/#view-navigator). It enables users to easily group entities and isolate high resource consumption, capacity issues, and alert status for `Pods`, `Deployments`, `DaemonSets`, `Job`, `CronJob`, `StatefulSets`, `Nodes`, and `Container`. +The Kubernetes Navigator UI is a Kubernetes version of our [New Relic Navigator](/docs/new-relic-solutions/new-relic-one/core-concepts/new-relic-explorer-view-performance-across-apps-services-hosts/#view-navigator). It enables users to easily group entities and isolate high resource consumption, capacity issues, and alert status for `Pods`, `Deployments`, `DaemonSets`, `Job`, `CronJob`, `StatefulSets`, `Nodes`, and `Container`. -The navigator supports visualizing the following Kubernetes entity types: +The Navigator supports visualizing the following Kubernetes entity types:
- Required. Provide an error message that will be meaningful to you when it displays in [error traces](/docs/apm/applications-menu/error-analytics/error-analytics-explore-events-behind-errors#traces-table). + Required. Provide an error message that will be meaningful to you when it displays in [error traces](/docs/apm/applications-menu/error-analytics/error-analytics-explore-events-behind-errors#traces-table). This can be used to include additional information you would like to see.
Optional. The name of the file that the error occurred in. + + NOTE: This parameter is ignored by the agent - the agent will provide a stack trace with this information.
Optional. The line number where the error occurred. + + NOTE: This parameter is ignored by the agent - the agent will provide a stack trace with this information.
Optional. An array that points to the symbol table that was active when the error occurred. + + NOTE: The agent ignores this parameter - and it is not supported with PHP 8+.
- [`newrelic.interaction().createTracer()`](/docs/browser/new-relic-browser/browser-apis/createtracer) + [`newrelic.interaction().createTracer()`](/docs/browser/new-relic-browser/browser-apis/createtracer) (deprecated)
- `BrowserTiming` is a custom event that captures SPA timing data for browser interactions started using the custom [createTracer](/docs/browser/new-relic-browser/browser-agent-spa-api/createtracer-browser-spa-api) SPA API method. `BrowserTiming` contains many of the same attributes used by other events, especially `AjaxRequest`. + `BrowserTiming` is a custom event that captures SPA timing data for browser interactions started using the custom [createTracer](/docs/browser/new-relic-browser/browser-agent-spa-api/createtracer-browser-spa-api) SPA API method. `BrowserTiming` contains many of the same attributes used by other events, especially `AjaxRequest`. (deprecated)
- 2.9.0 + 2.10.0
- November 14, 2023 + Sep 09, 2024
- New Relic Nozzle v2.9.0 + New Relic Nozzle v2.10.0
- v2.10.x, v2.11.x, v2.12.x, v2.13.x, v3.0.x, v4.0.x and v5.0.x + v2.10.x, v2.11.x, v2.12.x, v2.13.x, v3.0.x, v4.0.x , v5.0.x & v6.0.x
@@ -204,7 +204,7 @@ Hover over an entity to view its alert status and the value of the metric select ### Share your feedback [#share-feedback] -The Kubernetes navigator UI is a new feature, with additional updates being planned. Please send us your feedback about what you like, dislike, and what other features you'd like to see in this UI. +The Kubernetes Navigator UI is a new feature, with additional updates being planned. Please send us your feedback about what you like, dislike, and what other features you'd like to see in this UI. You can submit feedback directly in New Relic by visiting the **Help > Give Us Feedback** option in the bottom left nav. To make sure your feedback gets routed to the correct team, please start your feedback text with the words `Kubernetes Navigator`. @@ -268,7 +268,7 @@ If you've enabled the [Kubernetes events integration](/docs/integrations/kuberne ## Use the cluster explorer [#cluster-explorer-use] - The new Kubernetes Navigator UI is intended to replace the Cluster Explorer. However, you can enable the original Cluster Explorer experience at any time by turning off the Navigator toggle switch. + The new Kubernetes Navigator UI is intended to replace the cluster explorer. However, you can enable the original cluster explorer experience at any time by turning off the Navigator toggle switch. capabilities to collect, process, explore, query, and alert on your log data. + +If you're a [FedRAMP customer](/docs/security/security-privacy/compliance/certificates-standards-regulations/fedramp-moderate), you should not enable log streaming using Kinesis Data Firehose because AWS Kinesis Data Firehose integration is not currently FedRAMP authorized. + + ## Create the delivery stream for New Relic [#create-delivery-stream] To forward your logs from Kinesis Data Firehose to New Relic: diff --git a/src/content/docs/logs/get-started/logging-best-practices.mdx b/src/content/docs/logs/get-started/logging-best-practices.mdx index 4167aa64326..15ef1a522c8 100644 --- a/src/content/docs/logs/get-started/logging-best-practices.mdx +++ b/src/content/docs/logs/get-started/logging-best-practices.mdx @@ -53,20 +53,20 @@ Here are some tips on log forwarding to supplement our [log forwarding docs](/do ## Data partitions [#partitions] -If you're consuming 1 TB+ per day of log data, you definitely should work on an ingest governance plan for logs, including a plan to partition the data in a way that gives functional and thematic groupings. We suggest a best practice of no more than 1 TB per partition. This serves both performance and usability. If you sent all your logs to one giant "bucket" (the default log partition) in a single account, you could experience slower queries or failed queries. For more details, see [NRQL query rate limits](/docs/query-your-data/nrql-new-relic-query-language/get-started/rate-limits-nrql-queries/#query-limits). +If you are or are planning to consume a significant amount of log data each day, you should definitely work on an ingest governance plan for logs, including a plan to partition the data in a way that gives functional and thematic groupings. You can gain significant performance improvements with the proper use of data partitions. If you send all your logs to one giant "bucket" (the default log partition) in a single account, you could experience slower queries or failed queries since you'll have to scan all logs in your account to return results for each query. For more details, see [NRQL query rate limits](/docs/query-your-data/nrql-new-relic-query-language/get-started/rate-limits-nrql-queries/#query-limits). -One way to improve query performance is by limiting the time range being searched. Searching for logs over long periods of time will return more results and require more time. Avoid searches longer than one week whenever possible, and use the time-range selector to narrow searches to smaller, more specific time windows. +One way to improve query performance is by limiting the time range being searched. Searching for logs over long periods of time will return more results and require more time. Avoid searches over long time windows when possible, and use the time-range selector to narrow searches to smaller, more specific time windows. Another way to improve search performance is by using [data partitions](/docs/logs/ui-data/data-partitions/). Here are some best practices for data partitions: * Make sure you use partitions early in your logs onboarding process. Create a strategy for using partitions so that your users know where to search and find specific logs. That way your alerts, dashboards, and saved views don't need to be modified if you implement partitions later in your logs journey. -* To avoid limits and improve query time, create a [data partition rule](/docs/logs/ui-data/data-partitions/) for specific data types when your total daily ingestion exceeds 1 TB per day. Certain high volume infrastructure logs (i.e, K8S logs, CDN logs, VPC logs, Syslog logs or Web logs) can be good candidates for their own partitions. +* Create data partitions that align with categories in your environment or organization that are static or change infrequently (for example, by business unit, team, environment, service, etc.). +* Create partitions to optimize the number of events that must be scanned for your most common queries. If you have a high ingest volume, you'll have more events in shorter time windows which cause searches over longer time periods to take longer and potentially time out. There isn't a hard and fast rule, but generally "as scanned" log events gets over 500 million (especially over 1 billion). For common queries, you may want to consider adjusting your partitioning. + * Even if your ingest volume is low, you can also use data partitions for a logical separation of data, or just to improve query performance across separate data types. -* Use a [secondary data partition namespace](/docs/logs/ui-data/data-partitions#namespace) for data that you want a shorter retention time for. Secondary data partitions have a default 30-day retention period. - * To [search data partitions](/docs/logs/ui-data/data-partitions#search) in the **Logs** UI, you must select the appropriate partition(s), open the partition selector and check the partitions you want to search. If you're using NRQL, use the `FROM` clause to specify the `Log` or `Log_` to search. For example: ```sql diff --git a/src/content/docs/logs/logs-context/annotate-logs-logs-context-using-apm-agent-apis.mdx b/src/content/docs/logs/logs-context/annotate-logs-logs-context-using-apm-agent-apis.mdx index 373528e5851..85a8d3fda71 100644 --- a/src/content/docs/logs/logs-context/annotate-logs-logs-context-using-apm-agent-apis.mdx +++ b/src/content/docs/logs/logs-context/annotate-logs-logs-context-using-apm-agent-apis.mdx @@ -68,8 +68,8 @@ APM agent APIs: @@ -79,8 +79,8 @@ APM agent APIs: diff --git a/src/content/docs/logs/ui-data/parsing.mdx b/src/content/docs/logs/ui-data/parsing.mdx index 6df64693d56..e49de72c06c 100644 --- a/src/content/docs/logs/ui-data/parsing.mdx +++ b/src/content/docs/logs/ui-data/parsing.mdx @@ -103,6 +103,7 @@ Here's an overview of how New Relic implements parsing of logs: diff --git a/src/content/docs/mobile-monitoring/new-relic-mobile-android/install-configure/install-android-agent-gradle.mdx b/src/content/docs/mobile-monitoring/new-relic-mobile-android/install-configure/install-android-agent-gradle.mdx index 3dc2758ee43..c521830c316 100644 --- a/src/content/docs/mobile-monitoring/new-relic-mobile-android/install-configure/install-android-agent-gradle.mdx +++ b/src/content/docs/mobile-monitoring/new-relic-mobile-android/install-configure/install-android-agent-gradle.mdx @@ -56,7 +56,7 @@ Add the Android agent plugin to your project. Regarding the location of the plugin, you have two options: * Recommended: Using the Gradle plugin DSL - * Starting with agent version 7.6.0, the Android agent plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/) as a community plugin. The Gradle plugin DSL simpifies adding plugin dependencies to apps. The Gradle plugin DSL simplifies adding plugin dependencies to apps. + * Starting with agent version 7.6.0, the Android agent plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/) as a community plugin. The Gradle plugin DSL simpifies adding plugin dependencies to apps. * This method involves adding the agent plugin dependency to your project's plugins DSL block. * Legacy Plugin ID (`newrelic`) * For older projects or specific use cases, you can use the legacy plugin ID. @@ -247,4 +247,4 @@ Mobile monitoring for Android versions older than Android 5.0 (API level 21) use ``` For more information, see the [Android Developers documentation](https://developer.android.com/studio/build/multidex.html#keep) on declaring classes required in the primary DEX file. - \ No newline at end of file + diff --git a/src/content/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements.mdx b/src/content/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements.mdx index 87b0ab0cd3e..a74653c4049 100644 --- a/src/content/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements.mdx +++ b/src/content/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements.mdx @@ -148,6 +148,10 @@ Make sure your iOS app meets these requirements: The iOS agent can monitor tvOS apps. For details, see [tvOS compatibility](/docs/mobile-monitoring/new-relic-mobile-ios/tvos/new-relic-tvos-compatibility-requirements). +## watchOS [#watchos] + +The iOS agent can monitor watchOS apps. For details, see [watchOS compatibility](/docs/mobile-monitoring/new-relic-mobile-ios/watchOS/instrument-watchos). + ## Testing is not supported [#testing] Our agents are designed and tested to work in a normal app lifecycle. New Relic does not support running any testing environment on applications with the agent. Testing can cause conflicts and unpredictable behavior. diff --git a/src/content/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/configure-settings.mdx b/src/content/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/configure-settings.mdx index 403d3122e97..40b8f6735fd 100644 --- a/src/content/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/configure-settings.mdx +++ b/src/content/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/configure-settings.mdx @@ -18,7 +18,7 @@ redirects: - /docs/mobile-monitoring/new-relic-mobile-ios/ios-sdk-api/disable-features - /docs/mobile-monitoring/new-relic-mobile-ios/ios-sdk-api/enable-features - /docs/mobile-monitoring/new-relic-mobile/mobile-sdk/enable-disable-features -freshnessValidatedDate: 2024-03-14 +freshnessValidatedDate: 2024-09-06 --- @@ -205,6 +205,38 @@ freshnessValidatedDate: 2024-03-14
- * [TraceMetadata](/docs/apm/agents/net-agent/net-agent-api/tracemetadata-net-agent-api-0/) - * [GetLinkingMetadata](/docs/apm/agents/net-agent/net-agent-api/getlinkingmetadata-net-agent-api) + * [TraceMetadata](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#TraceMetadata) + * [GetLinkingMetadata](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#GetLinkingMetadata)
- * [newrelic.getTraceMetadata](/docs/apm/agents/nodejs-agent/api-guides/nodejs-agent-api/#getTraceMetadata) - * [newrelic.getLinkingMetadata](/docs/apm/agents/nodejs-agent/api-guides/nodejs-agent-api/#getTraceMetadata) + * [newrelic.getTraceMetadata](https://newrelic.github.io/node-newrelic/API.html#getTraceMetadata) + * [newrelic.getLinkingMetadata](https://newrelic.github.io/node-newrelic/API.html#getLinkingMetadata)
* Rules can be written in [Grok](#grok), regex, or a mixture of the two. Grok is a collection of patterns that abstract away complicated regular expressions. + * We support the Java Regex syntax in our Parsing UI. For attribute or field names in capture groups, Java Regex only allows for [A-Za-z0-9].
+ ## Background reporting [#android-background-reporting] + + + + + + + + + + + + + + + + + +
+ Description + + Example +
+ Enable or disable background reporting when application goes to the background state. + + Background reporting is disabled by default. To enable it, add the following feature flag: + + ```java + NewRelic.enableFeature(FeatureFlag.BackgroundReporting) + ``` +
+ ## Crash and error reporting settings [#crash-error-reporting-settings] @@ -289,6 +321,37 @@ freshnessValidatedDate: 2024-03-14
+## Event persistence [#android-event-persistence] + + + + + + + + + + + + + + + + + +
+ Description + + Example +
+ Enable or disable event persistence. + Event persistence is disabled by default. To enable it, add the following feature flag: + + ```java + NewRelic.enableFeature(FeatureFlag.EventPersistence) + ``` +
+ ## FedRamp settings [#fedrampenabled] @@ -506,37 +569,6 @@ freshnessValidatedDate: 2024-03-14
- ## Background reporting [#android-background-reporting] - - - - - - - - - - - - - - - - - -
- Description - - Example -
- Enable or disable background reporting when application goes to the background state. - - Background reporting is disabled by default. To enable it, add the following feature flag: - - ```java - NewRelic.enableFeature(FeatureFlag.BackgroundReporting) - ``` -
diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/build-ab-app/first-chart.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/build-ab-app/first-chart.mdx index 6f4c1152f87..f293cf3a4e9 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/build-ab-app/first-chart.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/build-ab-app/first-chart.mdx @@ -10,7 +10,7 @@ freshnessValidatedDate: never Each lesson in the course builds upon the last, so make sure you've completed the last lesson, Add chart components to your A/B test application, before starting this one.
-In this course, you're building an A/B test application for the New Relic platform. Previously, you learned about the New Relic One SDK and its component library. Now, It's time for you to start building your application focusing first on chart components. +In this course, you're building an A/B test application for the New Relic platform. Previously, you learned about the New Relic One SDK](/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk) and its component library. Now, It's time for you to start building your application focusing first on chart components. There are several charts you need to create, which may seem overwhelming at first, but take it one step at a time. The topmost chart, and the first you'll create, is a line chart that shows the number of users who sign up for your newsletter and what version of your website they were shown. diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/custom-visualizations/build-visualization.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/custom-visualizations/build-visualization.mdx index 2c67034a5a5..f0d87c5c171 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/custom-visualizations/build-visualization.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/custom-visualizations/build-visualization.mdx @@ -206,7 +206,7 @@ const ErrorState = () => ( - If you receive a `RequestError` for a self-signed certificate when you run `nr1 create`, you may need to add a certificate to Node's certificate chain. Read more about this and other advanced configurations in Enable advanced configurations for your Nerdpack. + If you receive a `RequestError` for a self-signed certificate when you run `nr1 create`, you may need to add a certificate to Node's certificate chain. Read more about this and other advanced configurations in [Enable advanced configurations for your Nerdpack](/docs/new-relic-solutions/new-relic-one/build-nr-apps/advanced-config). As a result, you have a new `visualizations/my-awesome-visualization` directory in `my-awesome-nerdpack`: diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure.mdx index 83aa07fd492..d39b0489faa 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure.mdx @@ -120,7 +120,7 @@ The launcher icon that appears on the **Apps** page in New Relic when an applica Launchers have their own file structure. Note that: -* A launcher is not required; as an alternative to using a launcher, you can associate your application with a monitored entity. +* A launcher is not required; as an alternative to using a launcher, you can [associate your application with a monitored entity](/docs/new-relic-solutions/tutorials/attach-nerdlet-entity). * An application can have more than one launcher, which might be desired for an application with multiple Nerdlets. diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/nerdstorage.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/nerdstorage.mdx index de6c454a840..d21a11192c1 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/nerdstorage.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/nerdstorage.mdx @@ -9,7 +9,7 @@ metaDescription: 'Learn about NerdStorage components' freshnessValidatedDate: 2024-04-29 --- -To help you build a New Relic application, we provide you with the New Relic One SDK. On this page, you'll learn how to use NerdStorage SDK components. +To help you build a New Relic application, we provide you with the New Relic One SDK](/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk). On this page, you'll learn how to use NerdStorage SDK components. ## Use NerdStorage in your apps [#nerdstorage] diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/nerdstoragevault.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/nerdstoragevault.mdx index 2eae2557634..d0840dc65d6 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/nerdstoragevault.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/nerdstoragevault.mdx @@ -10,11 +10,11 @@ metaDescription: 'Learn about NerdStorageVault usage' freshnessValidatedDate: 2024-04-29 --- -To help you build a New Relic application, we provide you with the New Relic One SDK. On this page, you'll learn how to use NerdStorageVault to store data in an encrypted storage solution. +To help you build a New Relic application, we provide you with the [New Relic One SDK](/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk). On this page, you'll learn how to use `NerdStorageVault` to store data in an encrypted storage solution. -## Using NerdStorageVault in your apps [#using] +## Using `NerdStorageVault` in your apps [#using] -Use NerdStorageVault to store and retrieve sensitive secrets data such as: +Use `NerdStorageVault` to store and retrieve sensitive secrets data such as: * personal access tokens * license keys @@ -22,27 +22,27 @@ Use NerdStorageVault to store and retrieve sensitive secrets data such as: * other third party secrets - NerdStorageVault is encrypted with AES-256 encryption. + `NerdStorageVault` is encrypted with AES-256 encryption. ## Usage considerations [#usage] * This storage is unique per Nerdpack, and can't be shared with any other Nerdpack. -* NerdStorageVault can currently only be used within the context of a Nerdpack. -* You cannot make a direct query or mutation to NerdStorageVault. +* `NerdStorageVault` can currently only be used within the context of a Nerdpack. +* You cannot make a direct query or mutation to `NerdStorageVault`. * You can explore the fields and response types via the [NerdGraph API explorer](https://api.newrelic.com/graphiql). * The only supported scope is ACTOR, or data that relates to a particular user. ## Component library [#component] -Currently NerdStorageVault is available in the alpha release of [Nr1 Community component library](https://www.npmjs.com/package/@newrelic/nr1-community/v/1.3.0-alpha.5) and is not available in the Nr1 core components library. Open source components can be use to augment Nr1 core components for additional functionality. +Currently `NerdStorageVault` is available in the alpha release of [Nr1 Community component library](https://www.npmjs.com/package/@newrelic/nr1-community/v/1.3.0-alpha.5) and is not available in the Nr1 core components library. Open source components can be use to augment Nr1 core components for additional functionality. ## NerdGraph queries [#nerdgraph] -Below are examples of the queries used by the components to interact with NerdStorageVault. +Below are examples of the queries used by the components to interact with `NerdStorageVault`. - NerdStorageVault can currently only be used within the context of a Nerdpack. + `NerdStorageVault` can currently only be used within the context of a Nerdpack. ### Write [#write] @@ -115,7 +115,7 @@ query { * A secret value is limited to 5000 characters. * A key value is limited to 64 characters. -### Permissions for working with NerdStorageVault [#permissions] +### Permissions for working with `NerdStorageVault` [#permissions] -In order to persist changes to NerdStorageVault, such as writing, deleting, +In order to persist changes to `NerdStorageVault`, such as writing, deleting, and fetching data, you must have a [user role with permission to persist changes](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model). diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/nr1-cli/nr1-common.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/nr1-cli/nr1-common.mdx index 5dbd8fc5676..91f770c2423 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/nr1-cli/nr1-common.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/nr1-cli/nr1-common.mdx @@ -136,7 +136,7 @@ By default, the command displays the autocomplete instructions for `zsh`. If you Creates a new component from our template, either a Nerdpack, Nerdlet, launcher, or catalog. The CLI will walk you through this process. -To learn more about Nerdpacks and their file structure, see [Nerdpack file structure](/explore-docs/nerdpack-file-structure). For more on how to set up your Nerdpacks, see our [Nerdpack CLI commands](/explore-docs/nr1-nerdpack). +To learn more about Nerdpacks and their file structure, see [Nerdpack file structure](/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure). For more on how to set up your Nerdpacks, see our [Nerdpack CLI commands](/docs/new-relic-solutions/build-nr-ui/nr1-cli/nr1-nerdpack). ### Usage diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/query-and-store-data.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/query-and-store-data.mdx index a65223562ee..1d798e95d9f 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/query-and-store-data.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/query-and-store-data.mdx @@ -8,7 +8,7 @@ metaDescription: 'Reference for query components using NerdGraph' freshnessValidatedDate: 2024-04-29 --- -To help you build a New Relic application, we provide you with the New Relic One SDK. Here you can learn how to use the SDK query components, which allow you to make queries and mutations via [NerdGraph](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/), our GraphQL endpoint. +To help you build a [New Relic application](/docs/new-relic-solutions/tutorials/build-hello-world-app), we provide you with the [New Relic One SDK](/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk). Here you can learn how to use the SDK query components, which allow you to make queries and mutations via [NerdGraph](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/), our GraphQL endpoint. Query-related React components can be identified by the `Query` suffix. Mutation-related components can be identified by the `Mutation` prefix. @@ -87,6 +87,6 @@ Similarly, a mutation can happen either way; either declaratively or imperativel * `NERD_GRAPH`: Returns the format in which it arrives from NerdGraph. * `RAW`: The format exposed by default in Insights and dashboards when being plotted as JSON. This format is useful if you have a pre-existing script in this format that you're willing to migrate to or incorporate with. -* `CHART`: The format used by the charting engine that we also expose. +* `CHART`: The format used by the charting engine that we also expose. You can find a more detailed explanation of how to manipulate this format in the [guide to chart components](/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk), and some examples. If you're willing to push data, we currently don't expose `NrqlMutation`. To do that, see the [Event API](/docs/data-apis/ingest-apis/event-api/introduction-event-api/) for how to add custom events. diff --git a/src/content/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk.mdx b/src/content/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk.mdx index 5779f2016ec..aa34f6e6963 100644 --- a/src/content/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk.mdx +++ b/src/content/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk.mdx @@ -28,33 +28,33 @@ You can find the SDK components in the Node module package named `nr1`, which yo The **UI components** category of the SDK contains React UI components, including: -* **Text components**: These components provide basic font and heading elements. These include `HeadingText` and `BlockText`. +* **Text components**: These components provide basic font and heading elements. These include [`HeadingText`](/docs/new-relic-solutions/build-nr-ui/sdk-component/text/HeadingText/) and [`BlockText`](/docs/new-relic-solutions/build-nr-ui/sdk-component/text/BlockText/). * **Layout components**: These components give you control over the layout, and help you build complex layout designs without having to deal with the CSS. Layout components include: - * `Grid` and `GridItem`: For organizing more complex, larger scale page content in rows, and columns. + * [`Grid`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/Grid/) and [`GridItem`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/GridItem/): For organizing more complex, larger scale page content in rows, and columns. - * `Stack` and `StackItem`: For organizing simpler, smaller scale page content, in column or row. + * [`Stack`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/Stack/) and [`StackItem`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/StackItem/): For organizing simpler, smaller scale page content, in column or row. - * `Tabs` and `TabsItem`: Group various related pieces of content into separate hideable sections. + * [`Tabs`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/Tabs/) and [`TabsItem`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/TabsItem/): Group various related pieces of content into separate hideable sections. - * `List` and `ListItem`: For providing a basic skeleton of virtualized lists. + * [`List`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/List/) and [`ListItem`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/ListItem/): For providing a basic skeleton of virtualized lists. - * `Card`, `CardHeader`, and `CardBody`: Used to group similar concepts and tasks together. + * [`Card`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/ListItem/), [`CardHeader`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/CardHeader/), and [`CardBody`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/CardBody/): Used to group similar concepts and tasks together. -* **Form components**: These components provide the basic building blocks to interact with the UI. These include [`Button`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/button), [`TextField`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/text-field), [`Dropdown`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/dropdown), [`DropdownItem`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/dropdown-item), [`Checkbox`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/checkbox), [`RadioGroup`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/radio-group), and [`Radio`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/radio). +* **Form components**: These components provide the basic building blocks to interact with the UI. These include [`Button`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/button), [`TextField`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/TextField/), [`Dropdown`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/DropdownItem/), [`DropdownItem`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/DropdownItem), [`Checkbox`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/checkbox), [`RadioGroup`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/RadioGroup/), and [`Radio`](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/radio). -* **Feedback components**: Use these components to provide feedback to users about actions they have taken. These include: `Spinner` and `Toast`. +* **Feedback components**: Use these components to provide feedback to users about actions they have taken. These include: [`Spinner`](/docs/new-relic-solutions/build-nr-ui/sdk-component/feedback/Spinner/) and [`Toast`](/docs/new-relic-solutions/build-nr-ui/sdk-component/feedback/Toast/). -* **Overlaid components**: Use these components to display contextual information and options in the form of an additional child view that appears above other content on screen when an action or event is triggered. They can either require user interaction (like modals), or be augmenting (like a tooltip). These include: `Modal` and `Tooltip`. +* **Overlaid components**: Use these components to display contextual information and options in the form of an additional child view that appears above other content on screen when an action or event is triggered. They can either require user interaction (like modals), or be augmenting (like a tooltip). These include: [`Modal`](/docs/new-relic-solutions/build-nr-ui/sdk-component/overlays/Modal/) and [`Tooltip`](/docs/new-relic-solutions/build-nr-ui/sdk-component/overlays/Tooltip/). - Components suffixed with `Item` can only operate as direct children of that name without the suffix. For example: `GridItem` should only be found as a child of `Grid`. + Components suffixed with `Item` can only operate as direct children of that name without the suffix. For example: [`GridItem`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/GridItem/) should only be found as a child of [`Grid`](/docs/new-relic-solutions/build-nr-ui/sdk-component/structure/Grid/). ### Chart components [#chart-components] -The **Charts** category of the SDK contains components representing different types of charts. The `ChartGroup` component helps a group of related charts share data and be aligned. +The **Charts** category of the SDK contains components representing different types of charts. The [`ChartGroup`](/docs/new-relic-solutions/build-nr-ui/build-ab-app/chart-group) component helps a group of related charts share data and be aligned. Some chart components can perform [NRQL queries](/docs/nrql/get-started/introduction-nrql-new-relics-query-language/) on their own; some accept a customized set of data. @@ -62,7 +62,7 @@ Some chart components can perform [NRQL queries](/docs/nrql/get-started/introduc The **Query components** category contains components for fetching and storing New Relic data. -The main way to fetch data is with NerdGraph, our GraphQL endpoint. This can be queried using `NerdGraphQuery`. To simplify use of NerdGraph queries, we provide some components with pre-defined queries. See our docs about [NerdGraph](/collect-data/get-started-nerdgraph-api-explorer) for more info. +The main way to fetch data is with NerdGraph, our GraphQL endpoint. This can be queried using [`NerdGraphQuery`](/docs/new-relic-solutions/build-nr-ui/sdk-component/query-and-storage/NerdGraphQuery/). To simplify use of NerdGraph queries, we provide some components with pre-defined queries. See our docs about [NerdGraph](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph) for more info. We also provide storage for storing small data sets, such as configuration settings data, or user-specific data. For more on this, see [NerdStorage](/docs/new-relic-solutions/build-nr-ui/nerdstorage). @@ -70,7 +70,7 @@ We also provide storage for storing small data sets, such as configuration setti The Platform API components of the SDK enable your application to interact with different parts of the New Relic platform, by reading and writing state from and to the URL, setting the configuration, etc. They are divided into these categories: -* `PlatformStateContext`: Provides read access to the platform URL state variables. For example `timeRange` in the [time picker](/docs/query-your-data/explore-query-data/dashboards/manage-your-dashboard/#dash-time-picker). -* `navigation`: An object that allows programmatic manipulation of the navigation in New Relic. Example: opening a new Nerdlet. -* `NerdletStateContext`: Provides read access to the Nerdlet URL state variables. For example an `entityGuid` in the [entity explorer](/docs/new-relic-solutions/new-relic-one/core-concepts/new-relic-explorer-view-performance-across-apps-services-hosts/). -* `nerdlet`: allows you to configure your Nerdlet and write to your Nerdlet's URL state. +* [`PlatformStateContext`](/docs/new-relic-solutions/build-nr-ui/sdk-component/platform-apis/PlatformStateContext/): Provides read access to the platform URL state variables. For example `timeRange` in the [time picker](/docs/query-your-data/explore-query-data/dashboards/manage-your-dashboard/#dash-time-picker). +* [`navigation`](/docs/new-relic-solutions/build-nr-ui/sdk-component/platform-apis/navigation/): An object that allows programmatic manipulation of the navigation in New Relic. Example: opening a new Nerdlet. +* [`NerdletStateContext`](/docs/new-relic-solutions/build-nr-ui/sdk-component/platform-apis/NerdletStateContext/): Provides read access to the Nerdlet URL state variables. For example an `entityGuid` in the [entity explorer](/docs/new-relic-solutions/new-relic-one/core-concepts/new-relic-explorer-view-performance-across-apps-services-hosts/). +* [`nerdlet`](/docs/new-relic-solutions/build-nr-ui/sdk-component/platform-apis/nerdlet/): Allows you to configure your Nerdlet and write to your Nerdlet's URL state. diff --git a/src/content/docs/new-relic-solutions/get-started/glossary.mdx b/src/content/docs/new-relic-solutions/get-started/glossary.mdx index bb145143b18..b01bb469563 100644 --- a/src/content/docs/new-relic-solutions/get-started/glossary.mdx +++ b/src/content/docs/new-relic-solutions/get-started/glossary.mdx @@ -317,7 +317,7 @@ Whether you're considering New Relic or you're already using our capabilities, t id="cli" title="command line interface (CLI)" > - Our [command line interface](https://developer.newrelic.com/explore-docs/newrelic-cli) (CLI) is a tool that lets you manage New Relic, including managing and controlling your use of New Relic at scale. + Our [command line interface](/docs/new-relic-solutions/build-nr-ui/newrelic-cli) (CLI) is a tool that lets you manage New Relic, including managing and controlling your use of New Relic at scale. diff --git a/src/content/docs/new-relic-solutions/tutorials/build-hello-world-app.mdx b/src/content/docs/new-relic-solutions/tutorials/build-hello-world-app.mdx index fc2cf94f9f2..a4b5a3ae334 100644 --- a/src/content/docs/new-relic-solutions/tutorials/build-hello-world-app.mdx +++ b/src/content/docs/new-relic-solutions/tutorials/build-hello-world-app.mdx @@ -34,7 +34,7 @@ Finally, make sure your `nr1` is up-to-date: nr1 update ``` -For additional details about setting up your environment, see [Set up your development environment](https://developer.newrelic.com/build-apps/set-up-dev-env/) and [Enable advanced configurations for your Nerdpack](https://developer.newrelic.com/build-apps/advanced-config). +For additional details about setting up your environment, see [Set up your development environment](https://developer.newrelic.com/build-apps/set-up-dev-env/) and [Enable advanced configurations for your Nerdpack](/docs/new-relic-solutions/new-relic-one/build-nr-apps/advanced-config). If you use VSCode, we have an [extension](https://marketplace.visualstudio.com/items?itemName=new-relic.nr1) and an [extension pack](https://marketplace.visualstudio.com/items?itemName=new-relic.new-relic-extension-pack) you can use to build your app. @@ -66,7 +66,7 @@ my-awesome-nerdpack/ The _launchers_ and _nerdlets_ directories contain the logic of your application. It's in these directories that you update most of your code. The _nr1.json_ files throughout the Nerdpack hold metadata about your Nerdpack, Nerdlets, and launchers. - Read [our documentation](https://developer.newrelic.com/explore-docs/nerdpack-file-structure/) to learn more about the Nerdpack file structure. + Read [our documentation](/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure/) to learn more about the Nerdpack file structure. diff --git a/src/content/docs/new-relic-solutions/tutorials/build-react-hooks-app.mdx b/src/content/docs/new-relic-solutions/tutorials/build-react-hooks-app.mdx index 4fb818a68ae..cef7957172b 100644 --- a/src/content/docs/new-relic-solutions/tutorials/build-react-hooks-app.mdx +++ b/src/content/docs/new-relic-solutions/tutorials/build-react-hooks-app.mdx @@ -72,7 +72,7 @@ my-awesome-nerdpack/ The _launchers_ and _nerdlets_ directories contain the logic of your application. It's in these directories that you update most of your code. The _nr1.json_ files throughout the Nerdpack hold metadata about your Nerdpack, Nerdlets, and launchers. - Read [our documentation](https://developer.newrelic.com/explore-docs/nerdpack-file-structure/) to learn more about the Nerdpack file structure. + Read [our documentation](/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure/) to learn more about the Nerdpack file structure. diff --git a/src/content/docs/new-relic-solutions/tutorials/customize-nerdpacks.mdx b/src/content/docs/new-relic-solutions/tutorials/customize-nerdpacks.mdx index 3c7ff93f0a4..1470f3e3787 100644 --- a/src/content/docs/new-relic-solutions/tutorials/customize-nerdpacks.mdx +++ b/src/content/docs/new-relic-solutions/tutorials/customize-nerdpacks.mdx @@ -146,11 +146,11 @@ Tweak the **Circular progress bar** visualization to use straight edges and cust In your local Nerdpack, open `nr1-victory-visualizations/visualizations/circular-progress-bar/nr1.json`. - `nr1.json` is the **Circular progress bar** visualization's [metadata file](/explore-docs/custom-viz/configuration-options/). Use this file to add a configurable `colorScale` option, which corresponds to the `colorScale` field on `VictoryPie`. + `nr1.json` is the **Circular progress bar** visualization's [metadata file](/docs/new-relic-solutions/build-nr-ui/custom-visualizations/configuration-options). Use this file to add a configurable `colorScale` option, which corresponds to the `colorScale` field on `VictoryPie`. - Add a [`collection`](/explore-docs/custom-viz/configuration-options/#collection) of [`string`](/explore-docs/custom-viz/configuration-options/#string) fields for you to customize your chart's colors: + Add a [`collection`](/docs/new-relic-solutions/build-nr-ui/custom-visualizations/configuration-options/#collection) of [`string`](/docs/new-relic-solutions/build-nr-ui/custom-visualizations/configuration-options/#string) fields for you to customize your chart's colors: ```json fileName=nr1.json { diff --git a/src/content/docs/new-relic-solutions/tutorials/map-pageviews-region.mdx b/src/content/docs/new-relic-solutions/tutorials/map-pageviews-region.mdx index dd26bbea5f4..048507c916d 100644 --- a/src/content/docs/new-relic-solutions/tutorials/map-pageviews-region.mdx +++ b/src/content/docs/new-relic-solutions/tutorials/map-pageviews-region.mdx @@ -30,7 +30,7 @@ To add your data to a world map in the second half of the guide: The following are some terms used in this guide: * New Relic application: The finished product where data is rendered in New Relic. This might look like a series of interactive charts or a map of the world. -* Nerdpack: New Relic's standard collection of JavaScript, JSON, CSS, and other files that control the functionality and look of your application. For more information, see [Nerdpack file structure](/explore-docs/nerdpack-file-structure). +* Nerdpack: New Relic's standard collection of JavaScript, JSON, CSS, and other files that control the functionality and look of your application. For more information, see [Nerdpack file structure](/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure). * Launcher: The button in New Relic that launches your application. * Nerdlets: New Relic React components used to build your application. The three default files are `index.js`, `nr1.json`, and `styles.scss`, but you can customize and add your own. @@ -104,7 +104,7 @@ The following are some terms used in this guide: ### Review your app files and view your app locally [#review-files] 1. Navigate to your `pageviews-app` to see how it's structured. - It contains a launcher folder, where you can customize the description and icon that will be displayed on the app's launcher in New Relic. It also contains `nerdlets`, which each contain three default files: `index.js`, `nr1.json`, and `styles.scss`. You'll edit some of these files as part of this guide. For more information, see [Nerdpack file structure](/explore-docs/nerdpack-file-structure). + It contains a launcher folder, where you can customize the description and icon that will be displayed on the app's launcher in New Relic. It also contains `nerdlets`, which each contain three default files: `index.js`, `nr1.json`, and `styles.scss`. You'll edit some of these files as part of this guide. For more information, see [Nerdpack file structure](/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure). 2. Now in your browser, open `https://one.newrelic.com/?nerdpacks=local`, and then click **Apps** to see the `pageview-apps` Nerdpack that you served up. @@ -242,7 +242,7 @@ Once you confirm that data is getting to New Relic from your app, you can start ### Import the `TextField` component [#import-textfield] - Like you did with the `TableChart` component, you need to import a [`TextField` component](/client-side-sdk/index.html#components/TextField) from New Relic. + Like you did with the `TableChart` component, you need to import a [`TextField` component](/docs/new-relic-solutions/build-nr-ui/sdk-component/controls/TextField/) from New Relic. ```jsx fileName=pageview-app-nerdlet/index.js import React from 'react'; diff --git a/src/content/docs/nrql/using-nrql/rate-limits-nrql-queries.mdx b/src/content/docs/nrql/using-nrql/rate-limits-nrql-queries.mdx index 20673c218f5..023eaaab62b 100644 --- a/src/content/docs/nrql/using-nrql/rate-limits-nrql-queries.mdx +++ b/src/content/docs/nrql/using-nrql/rate-limits-nrql-queries.mdx @@ -29,9 +29,7 @@ We have limits on: The query duration limit is how long a NRQL query can run before it stops running and is considered an error. This limit depends on your [data option](/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing#data-prices): * Original Data option: 1 minute -* Data Plus: - * 10 minutes (using the [query builder](/docs/query-your-data/explore-query-data/query-builder/introduction-query-builder) or [NerdGraph](/docs/apis/nerdgraph/examples/async-queries-nrql-tutorial)) - * 2 minutes in other UI locations aside from the query builder +* Data Plus: 10 minutes The default timeout for querying with NerdGraph is 5 seconds. diff --git a/src/content/docs/opentelemetry/best-practices/opentelemetry-best-practices-traces.mdx b/src/content/docs/opentelemetry/best-practices/opentelemetry-best-practices-traces.mdx index a5f7792eed4..0202c28fae2 100644 --- a/src/content/docs/opentelemetry/best-practices/opentelemetry-best-practices-traces.mdx +++ b/src/content/docs/opentelemetry/best-practices/opentelemetry-best-practices-traces.mdx @@ -148,7 +148,7 @@ New Relic maps OTLP spans to the `Span` data type. The table below describes how - `druation.ms` (computed with `Span.start_time_unix_nano` + `duration.ms` (computed with `Span.start_time_unix_nano`) diff --git a/src/content/docs/query-your-data/explore-query-data/dashboards/dashboard-template-variables.mdx b/src/content/docs/query-your-data/explore-query-data/dashboards/dashboard-template-variables.mdx index fb16b62f398..163774dfa7b 100644 --- a/src/content/docs/query-your-data/explore-query-data/dashboards/dashboard-template-variables.mdx +++ b/src/content/docs/query-your-data/explore-query-data/dashboards/dashboard-template-variables.mdx @@ -2,19 +2,21 @@ title: "Template variables: dynamically filter dashboards" tags: - Dashboards + - Template variables metaDescription: 'For New Relic custom dashboards: use template variables to allow your dashboard users to dynamically filter your dashboard views.' redirects: freshnessValidatedDate: never --- -For custom dashboards, you can use **template variables** to dynamically filter charts and other widgets. Template variables help make your dashboards more useful, and help you more easily create dashboards you can reuse for different use cases. +For custom dashboards, you can use **template variables** to dynamically filter charts and other widgets. Template variables make your dashboards more useful and help you more easily create dashboards that you can reuse for different use cases. ## Why use template variables? [#defined] Template variables are a powerful and dynamic way of filtering an entire dashboard based on specific metadata values a dashboard creator chooses. The benefits of using template variables are: -* They make dashboards easier to use: your users don't have to understand the structure of the data, but can simply choose from various filter options you've set. -* They allow you to create reusable dashboard templates, which you can then duplicate and adjust for many other uses. +* They make dashboards easier to use: Your users don't have to understand the structure of the data; they can simply choose from the various filter options you've set. + +* They allow you to create reusable dashboard templates that you can then duplicate and customize for many other uses. Here's an example of a dashboard with several template variables, which you can see at the top of the dashboard. @@ -24,6 +26,11 @@ Here's an example of a dashboard with several template variables, which you can src="/images/dashboards_screenshot-full_with-template-variables.webp" /> +
+ Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Dashboards** +
+ + With template variables, you can set up a wide variety of variables and filters to create the dashboard experience you need. Examples of experiences you can create: * A dropdown to choose an app name @@ -31,6 +38,47 @@ With template variables, you can set up a wide variety of variables and filters * A dropdown to select specific durations or other numeric values * Filters that use free text fields to find matching strings +Furthermore, you can now decide if you want to include the variable or not without having to modify your queries. See the [Include variable](/docs/query-your-data/explore-query-data/dashboards/dashboard-template-variables/#include-variable) section for details. + +## Include and exclude variables [#include-variable] + +The **Include variable** toggle allows you to set a desired value and include or exclude that value in your dashboards. See the [template variables](/docs/query-your-data/explore-query-data/dashboards/dashboard-template-variables/#create-variables) section for more info. + +For example, you may be investigating an issue that is not specific to any particular value within a variable. In such cases, the variable's existing values might be limiting query results, even when selecting all possible options. To address this, you can exclude the variable from the query. This effectively removes the variable's condition and replaces it with a neutral boolean value (true or false), ensuring query validity and returning comprehensive results. + +### Example + +Consider a query that filters results based on a `countryCode` variable. If you want to view data for all countries without filtering, you can exclude the variable: + +Original query: + + ```sql + FROM PageAction + SELECT count(*) AS 'views' + WHERE countryCode IN ({{countryCode}}) and appName = 'Test App' FACET countryCode + ``` + +Query with an excluded variable: + + ```sql + FROM PageAction + SELECT count(*) AS 'views' + WHERE true and appName = 'Test App' FACET countryCode + ``` + +This feature is particularly useful when: + +* The variable has more values than the maximum allowed (for instance, 5000 max results for uniques by default) or a very high number of values. Choosing to disable the variable by default will deliver considerable performance improvements. + +* The data source for the variable differs from the database you're querying. +In these cases, selecting all values from the database using "Select all" isn't sufficient. By excluding the variable, you can retrieve all values from the database. + +Limitations on include variable: + +* When used in FACET cases, the condition is replaced with true and converts it to an always-true condition. + +* When used in other contexts like functions or with the SELECT statement, you'll get the following error: `"Unknown function Disable_variable()"`. This is because the disable variable function isn't implemented for these specific cases yet. + ## Requirements and limitations [#requirements] Template variables can only be used in the context of making widgets for custom dashboards. See [NRQL variables](/docs/query-your-data/nrql-new-relic-query-language/get-started/nrql-syntax-clauses-functions/#with-as-nrql-var) for using variables in a NRQL query. @@ -60,12 +108,12 @@ We'll walk you through creating a template variable, and then we'll give you a f Creating a template variable consists of two steps. - - - First, you'll define a template variable. This is the variable that you'll use in a NRQL query to create a widget. + + + + ### Define the template variable [#step1] + +First, you'll define a template variable. This is the variable that you'll use in a NRQL query to create a widget. To define a variable: @@ -185,9 +233,14 @@ Creating a template variable consists of two steps. - Optional. These are the defaults value that the dashboard will filter on. For example, if you used the `country` query above, you could input `ES` as the default value and the dashboard would automatically filter to that value. You can also select all possibilities. + Optional. These are the default values that the dashboard will filter on. For example, if you used the `country` query above, you could input `ES` as the default value and the dashboard would automatically filter to that value. You can also select all possibilities. To use multiple values on a `WHERE` clause you need to use [`IN`](/docs/query-your-data/nrql-new-relic-query-language/get-started/nrql-syntax-clauses-functions/#sel-where) instead of `=`. + + The ** Include variable** toggle will determine the default configuration, include or exclude, for that variable in the dashboard. This configuration can be modified by the user viewing the dashboard by using the ** Include variable** toggle in the variable dropdown menu. The user selected configuration will be valid for the duration of the session. + + Note that you can only configure default values when the toggle is set to include variable. Once you select the default values you can switch the toggle so the variable is not included by default. The default values will be preselected when any user turns the toggle to include the variable from the variable dropdown menu. + @@ -217,12 +270,12 @@ Creating a template variable consists of two steps. /> Once you've defined your template variable, you can add a widget that uses your created template variable. - - + +
+ + ### Create widgets that use the template variable [#step2] + Once you've configured a template variable, you'll need widgets on a dashboard that use the variable that you've defined in their query. To create a widget: @@ -240,7 +293,9 @@ Creating a template variable consists of two steps. Following our example mentioned in step 1: ```sql - SELECT countryCode FROM PageAction WHERE countryCode IN ({{countryCode}}) + SELECT countryCode + FROM PageAction + WHERE countryCode IN ({{countryCode}}) ``` **Save** -
- + + + When you're done defining a template variable and adding a widget that references that variable, you can verify it's working as expected by choosing different options from the template variable bar and seeing if the widget changes based on your selection. Here's an example of the resulting widget, on the right, with the `country` dropdown to the left. + Country template variable example ## Rules for writing a query-type template variable [#query-variable-rules] diff --git a/src/content/docs/query-your-data/explore-query-data/use-charts/chart-refresh-rates.mdx b/src/content/docs/query-your-data/explore-query-data/use-charts/chart-refresh-rates.mdx index 6d04e0fe32e..dce7cf1e820 100644 --- a/src/content/docs/query-your-data/explore-query-data/use-charts/chart-refresh-rates.mdx +++ b/src/content/docs/query-your-data/explore-query-data/use-charts/chart-refresh-rates.mdx @@ -3,12 +3,18 @@ title: Chart refresh rates metaDescription: 'New Relic chart refresh rates.' redirects: - /docs/insights/use-insights-ui/manage-dashboards/insights-chart-refresh-intervals -freshnessValidatedDate: never +freshnessValidatedDate: 2024-09-09 --- -The refresh rate of New Relic charts is the range of the query's timeframe divided by 60. The maximum frequency with which queries can be refreshed is every 5 seconds. +The refresh rate of New Relic charts is the number of times per second that a chart is refreshed. You can select a default configuration, and you can also configure this refresh rate. -For example: +This configuration lets you decide how often you want to update your data. It also gives you control over your costs. See the [Overview of our pricing models](/docs/accounts/original-accounts-billing/original-product-based-pricing/overview-pricing-models/#determine-pricing) to learn more. + +## Default chart refresh rates [#default-chart-refresh] + +The refresh rate of New Relic charts is the range of the query timeframe divided by 60. The maximum frequency at which queries can be refreshed is every 5 seconds. + +These examples will help you understand how the default chart refresh rate works: * A query with a 7-day time range would have a refresh rate of once every 2.8 hours. * A query with a 1-hour time range would have a refresh rate of once every 1 minute. @@ -17,3 +23,23 @@ For queries using `TIMESERIES`, the size of the `TIMESERIES` bucket is used as t * `SELECT count(*) FROM PageView TIMESERIES 5 minutes` would refresh every 5 minutes. * `SELECT count(*) FROM PageView TIMESERIES 1 hour SINCE 1 day ago` would refresh every hour. + + +## Customize chart refresh rates [#customize-chart-refresh] + +You can customize the rate of refresh in your charts by using the **Refresh rate** option. To configure the refresh rate in a chart, follow these steps: + +1. Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Query your data**. + +2. Add your query. + +3. Click **Run**. + +4. Click **Refresh rate** and select a frequency. + + A screenshot of a query example that shows the refresh rate option. + diff --git a/src/content/docs/query-your-data/explore-query-data/use-charts/use-your-charts.mdx b/src/content/docs/query-your-data/explore-query-data/use-charts/use-your-charts.mdx index 3a32285b13b..e9cbd042e74 100644 --- a/src/content/docs/query-your-data/explore-query-data/use-charts/use-your-charts.mdx +++ b/src/content/docs/query-your-data/explore-query-data/use-charts/use-your-charts.mdx @@ -291,7 +291,7 @@ Most charts have various options, including a chart-embed option, getting a char ## Use open-source charting library [#victory-charts] -You can use [Nerdpacks](https://developer.newrelic.com/explore-docs/custom-viz/) to create your own custom visualizations. We've also teamed up with Formidable so you can use an open-source charting library, and quickly add unique "victory charts" to your dashboards. To learn about these [custom visualization Nerdpacks](https://developer.newrelic.com/build-apps/customize-nerdpack/), watch this short video (approx. 4 minutes). +You can use [Nerdpacks](/docs/new-relic-solutions/build-nr-ui/nerdpack-file-structure/) to create your own custom visualizations. We've also teamed up with Formidable so you can use an open-source charting library, and quickly add unique "victory charts" to your dashboards. To learn about these [custom visualization Nerdpacks](/docs/new-relic-solutions/tutorials/customize-nerdpacks), watch this short video (approx. 4 minutes).