From 132630dd48b20b3b82bccb7614958083458e2d17 Mon Sep 17 00:00:00 2001 From: nbaenam Date: Thu, 17 Oct 2024 13:35:25 +0200 Subject: [PATCH 1/7] feat(Infra Flex): Improved the NR Flex doc --- ...ration-tool-build-your-own-integration.mdx | 355 +++++++++++++++--- src/nav/infrastructure.yml | 2 +- ..._screenshot-crop_flex-query-your-data.webp | Bin 0 -> 88442 bytes 3 files changed, 296 insertions(+), 61 deletions(-) create mode 100644 static/images/infrastructure_screenshot-crop_flex-query-your-data.webp diff --git a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx index 4e4b25750eb..5f935d9f51c 100644 --- a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx +++ b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx @@ -1,5 +1,5 @@ --- -title: 'New Relic Flex: Build your own integration' +title: 'Build your own integration: New Relic Flex' tags: - Instrument everything - Develop your own integrations @@ -10,93 +10,328 @@ redirects: - /docs/integrations/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration - /docs/introduction-new-relics-flex-integration - /docs/full-stack-observability/instrument-everything/develop-own-integrations/flex-integration-dummy -freshnessValidatedDate: never +freshnessValidatedDate: 2024-10-28 --- -New Relic provides [integrations and quickstarts for many popular services and frameworks](https://newrelic.com/instant-observability/). If you're already using New Relic and want to report data from a service we don't have an integration for, there are several ways you can create your own integration: +New Relic provides [integrations and quickstarts](https://newrelic.com/instant-observability) for many popular services and frameworks. If you're already using New Relic and want to report data from a service for which we don't have an integration, you've these options for creating your own integration: -* With infrastructure monitoring, you can use our lightweight Flex tool (recommended, documented below) or, to build a complete [on-host integration](/docs/integrations/host-integrations/getting-started/introduction-host-integrations), see our [Integrations SDK](/docs/integrations/integrations-sdk/getting-started/introduction-infrastructure-integrations-sdk). +* With , you can use our lightweight Flex tool (recommended) or, to build a complete [on-host integration](/docs/integrations/host-integrations/getting-started/introduction-host-integrations), see our [Integrations SDK](/docs/integrations/integrations-sdk/getting-started/introduction-infrastructure-integrations-sdk). * For telemetry (metrics, traces) monitoring solutions, use our [Telemetry SDKs](/docs/data-ingest-apis/get-data-new-relic/new-relic-sdks/telemetry-sdks-send-custom-telemetry-data-new-relic). * Build a custom [New Relic app](/docs/new-relic-one/use-new-relic-one/build-new-relic-one/new-relic-one-build-your-own-custom-new-relic-one-application) that uses your own JavaScript UI functionality. -## What is Flex? [#what-is-it] +## What is New Relic Flex? [#what-is-it] -New Relic Flex is an application-agnostic, all-in-one tool that allows you to collect metric data from a wide variety of services. It comes bundled with our infrastructure agent. You can instrument any app that exposes metrics over a standard protocol (HTTP, file, shell) in a standard format (for example, JSON or plain text): you create a YAML config file, start the infrastructure agent, and your data is reported to New Relic. +Flex is an application-agnostic, all-in-one New Relic integration that allows you to collect events and metrics from a wide range of services. It'ss bundled with our [infrastructure agent](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/). You can instrument any application that exposes metrics over a standard protocol (HTTP, file, shell) in a standard format (for example, JSON or plain text): you create a YAML configuration file, start the infrastructure agent, and your data is reported to New Relic. -Flex can send event and metric data to New Relic from a wide range of sources. Using a simple YAML config file, you can run HTTP/HTTPS requests, run shell commands, and parse file content. You can also use standard regex expressions to customize and control the data gathered from those inputs. See an [example config](#example). +After collecting and cleaning up the data, you can then [query Flex data](/docs/using-new-relic/data/understand-data/query-new-relic-data) in New Relic, create [custom charts](/docs/query-your-data/explore-query-data/use-charts/use-your-charts/) for it, and use that data in your [dashboards](/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards/). -After collecting and cleaning up the data, you can then [query Flex data](/docs/using-new-relic/data/understand-data/query-new-relic-data) in New Relic, create custom charts for it, and use that data in your dashboards. +## Check the compatibility and requirements [#requirements] -## Requirements [#requirements] +Make sure your system meets these requirements: -Flex comes bundled with our [infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent) version 1.10.7 or higher ([update](/docs/infrastructure/install-configure-manage-infrastructure/update-or-uninstall/update-infrastructure-agent) \| [check version](/docs/infrastructure/install-configure-manage-infrastructure/update-or-uninstall/update-infrastructure-agent#check-version)) running on Linux, Windows, or Kubernetes. + 1. [Sign up for a free account](https://newrelic.com/signup) if you haven't already. It's free! + 2. The New Relic account is compatible with these operating systems and platforms: + * Linux + * Windows + * Kubernetes + 3. See the [Requirements for the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/requirements-infrastructure-agent/) document to make sure your system and any on-host integrations you configure meet the requirements. + 4. Flex comes bundled with our [infrastructure agent](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/) version 1.10.7 or higher running on Linux, Windows, or Kubernetes. -## How does Flex work? [#how-does-it-work] +See the [Identify outdated agent versions from the UI](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/#check-version) document to check your version or the [Update the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/) document if you need to update it. -Flex uses [infrastructure](/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent) to execute commands that generate the data you want to report. Here's a brief overview of how Flex works to report data: -1. You define the data you want to report in a YAML configuration file, located in the infrastructure agent package. See an example configuration: +## Installation [#installation] - - - The following is an example of a Flex configuration for monitoring the uptime of a Linux server. This configuration is placed in a file named `flex-uptime.yml`. This would be placed in the infrastructure agent's integration configuration section, located at `/etc/newrelic-infra/integrations.d/flex-uptime.yml`. +Follow these steps to install New Relic Flex: - ``` - integrations: - - name: nri-flex - config: - name: linuxUptimeIntegration - apis: - - name: Uptime - commands: - - run: 'cat /proc/uptime' - split: horizontal - split_by: \s+ - set_header: [uptimeSeconds,idletimeSeconds] - ``` + + + ### Install the infrastructure agent [#install-infra-agent] - Some notes on what this configuration does: + Starting from New Relic infrastructure agent version 1.10.7, Flex comes bundled with the agent. To install the infrastructure agent, see: - * `run` defines the command to execute. - * The name indicated by `name: Uptime` is appended with `Sample` to generate an [event](/docs/using-new-relic/data/understand-data/new-relic-data-types#event-data) called `UptimeSample`. - * The name should not start with the ESX or PCF prefix. - * The `split_by: \s+` splits the fields based on the space character. - * The command generates [attributes](/docs/using-new-relic/welcome-new-relic/get-started/glossary#attribute) attached to the `UptimeSample` event. The attributes are named `uptimeSeconds` and `idletimeSeconds`. - - -2. The infrastructure agent runs Flex at a frequency based on its own configuration (default: every 30 seconds) and sends the data to New Relic. -3. You can then [query your data](/docs/using-new-relic/data/understand-data/query-new-relic-data), create custom charts with it, and add it to dashboards. + * [Install the infrastructure agent for Linux](/docs/infrastructure/install-infrastructure-agent/linux-installation/install-infrastructure-monitoring-agent-linux/) - + * [Install the infrastructure agent for Windows](/docs/infrastructure/install-infrastructure-agent/windows-installation/install-infrastructure-monitoring-agent-windows/) -## Troubleshooting + + The agent must run in the [root/administrator](/docs/infrastructure/install-infrastructure-agent/linux-installation/linux-agent-running-modes/) mode. You can [start, stop, and restart](/docs/infrastructure/install-infrastructure-agent/manage-your-agent/start-stop-restart-infrastructure-agent/) the infrastructure agent from the command line. + -When you encounter an issue with Flex configuration, first follow these basic troubleshooting steps: + + + ### Check that Flex is up and running [#flex-up-running] -* Test the configuration without the infrastructure agent: You can manually test a config file to ensure the output meets your expectations by running a command like this, replacing `` with the name of your config file: + Follow these steps: -``` -# Linux default path: /opt/newrelic-infra/newrelic-integrations/bin/ -./nri-flex -verbose -pretty -config_path /etc/newrelic-infra/integrations.d/ + 1. Navigate to the integrations folder of the Infrastructure agent: -# Windows default path: C:\Program Files\New Relic\newrelic-infra\newrelic-integrations -.\nri-flex.exe -verbose -pretty -config_path "C:\Program Files\New Relic\newrelic-infra\integrations.d\" -``` + * For Linux: `/etc/newrelic-infra/integrations.d` + * For Windows: `C:\Program Files\New Relic\newrelic-infra\integrations.d\` + + 2. Create the integration configuration file. For example, `integrations.yml`, if it doesn't exist. + + 3. Add the Flex configuration to the file: -This will give you an output showing debug logging and JSON payload that will be integrated with the infrastucture agent. Make sure Flex is obtaining and formatting your telemetry as expected before continue with the rest of the troubleshooting steps. Learn more about testing Flex configurations from the [GitHub repository](https://github.com/newrelic/nri-flex/blob/master/docs/troubleshooting.md#testing-a-config). + ```yaml + integrations: + - name: nri-flex + config: + name: just-testing + ``` + If you already have an `integrations` section in the file, add `nri-flex` to it. -* Test with the infrastructure agent in `dry-run` mode: Use the [dry-run flag](/docs/infrastructure/host-integrations/troubleshooting/run-integrations-manually/) in the infrastructure agent to test your Flex configuration. Verify the output contains the telemetry you expect to be reported to New Relic. + 4. After a few minutes, go to New Relic and run this query: -* Debug the integration with the infrastructure agent: Finally, ensure the agent is reporting the telemetry data as expected by [enabling debug logs](/docs/infrastructure/infrastructure-troubleshooting/troubleshoot-logs/generate-logs-troubleshooting-infrastructure/) in the infrastructure agent. + ```sql + FROM flexStatusSample + SELECT * + LIMIT 1 + ``` + + The query should give a table similar to this: + + Flex status table + +
+ Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Query your data**, add your query in the query builder, and click **Run**. +
+ + + If you don't get anything, make sure that your YAML configuration file is well indented and that indentation levels don't use tabs instead of spaces. You can use a YAML validator, such as [YAML Lint](https://www.yamllint.com/) + + +
+ + ### Your first Flex integration [#first-flex-integration] + + This example shows how to collect disk metrics from file systems not natively supported by New Relic using the `df` command in Linux. + + The goal is to process the output of the `df` command, showing the file system and 1-byte blocks, while excluding file systems already supported by the agent. If unsupported file systems are not mounted, remove the -x arguments. + + ``` + $ df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4 + Filesystem Type 1-blocks Used Available Capacity Mounted on + devtmpfs devtmpfs 246296576 0 246296576 0% /dev + go_src vboxsf 499963170816 361339486208 138623684608 73% /go/src + ``` + + You need to convert the above tabular text output into a set of equivalent JSON samples with the following format. Notice that the agent decorates each sample with extra fields: + + ```json + { + "event": { + "event_type": "FileSystemSample", + "fs": "go_src", + "fsType": "vboxsf", + "capacityBytes": 499963170816, + "usedBytes": 361345331200, + "availableBytes": 138617839616, + "usedPerc": 73, + "mountedOn": "/go/src" + } + } + ``` + + First, you need to tell Flex how to perform the above "table text to JSON" transformation by specifying the following: + + * Name of the metric: `FileSystem` + * Which command to run: `df -PT -B1 ...` + * How to split the output table from `df` + * How to assign the values to given metric names + + This is achieved by placing the content below in the YAML configuration file: + + ```yaml + integrations: + - name: nri-flex + config: + name: linuxFileSystemIntegration + apis: + - name: FileSystem + commands: + - run: 'df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4' + split: horizontal + split_by: \s+ + row_start: 1 + set_header: [fs,fsType,capacityBytes,usedBytes,availableBytes,usedPerc,mountedOn] + perc_to_decimal: true + ``` + + * `apis` is an array of entries for each sample. Each entry sets a name for the sample, as well as the commands and procedures to get and process the sample. The first entry in the example is named `FileSystem`, which is used to name the `FileSystemSample` event. + + * `commands` specifies how to get the information from CLI applications: + * `run: 'df -PT -B1...` specifies the command to run. + * `split: horizontal` states that each output line may return a metric. + * `split_by` explains how to split each line in different fields. In this case, we use the `\s+` regular expression, which tells Flex that any sequence of one or more white spaces is a separator. + * `row_start` specifies that data starts right after the first row (which is 0). + * `set_header` specifies, in order, a matching name for each value of the aforementioned array. + * `perc_to_decimal: true` indicates to convert any percentage string into a decimal value, removing the trailing `%` symbol. + + Once you've created the Flex configuration, the infrastructure agent autodetects the new configuration and begins collecting data. To check that your new integration is working, run this query: + + ```sql + FROM FileSystemSample + SELECT mountedOn, fs, usedBytes, capacityBytes, usedBytes + ``` + + The query should give a table similar to this: + + Flex status table + +
+ Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Query your data**, add your query in the query builder, and click **Run**. +
+
+ + +## How to add more Flex integrations [#add-more-integrations] + +You can add more Flex integrations by adding the configuration in the `ìntegrations.d` file. Stand-alone Flex configurations start with the name of the integration and you can test them by invoking Flex from the command line: + + ```bash + sudo /var/db/newrelic-infra/newrelic-integrations/bin/nri-flex --verbose --pretty --config_file ./myconfig.yml + ``` + +For example, if you want to add this integration: + + ```yaml + name: linuxOpenFD + apis: + - name: linuxOpenFD + commands: + - run: cat /proc/sys/fs/file-nr | awk '{print $1-$2,$3}' + split: horizontal + set_header: [openFD,maxFD] + regex_match: true + split_by: (\d+)\s+(.*) + ``` + +You should open the `ìntegrations.d` file and add it like this: -## Learn more [#get] + ```yaml + integrations: + - name: nri-flex + config: + name: linuxFileSystemIntegration + apis: + - name: FileSystem + commands: + - run: 'df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4' + split: horizontal + split_by: \s+ + row_start: 1 + set_header: [fs,fsType,capacityBytes,usedBytes,availableBytes,usedPerc,mountedOn] + perc_to_decimal: true + + - name: linuxOpenFD + commands: + - run: cat /proc/sys/fs/file-nr | awk '{print $1-$2,$3}' + split: horizontal + set_header: [openFD,maxFD] + regex_match: true + split_by: (\d+)\s+(.*) + ``` -The Flex integration comes bundled with the infrastructure agent, and it can be configured like any other on-host integration. Learn more about [configuration options](/docs/infrastructure/host-integrations/infrastructure-integrations-sdk/specifications/host-integrations-standard-configuration-format). +If you need to add multiple Flex configuration to the `ìntegrations.d` file, follow this pattern: -See more Flex documentation on GitHub: + ```yaml + integrations: + - name: nri-flex + config: + name: flexName_1 + # Flex config goes here + - name: nri-flex + config: + name: flexName_2 + # Flex config goes here + - name: nri-flex + config: + name: flexName_3 + # Flex config goes here + ``` + +To minimize indentation issues, you can link to stand-alone Flex configuration files using the `config_template_path` directive: + + ```yaml + integrations: + - name: nri-flex + config_template_path: /path/to/flex/integration.yml + ``` + +You can find a lot of examples of custom integrations in the [Flex repository](https://github.com/newrelic/nri-flex/blob/master/examples). + + +## Flex and Kubernetes [#flex-k8s] + +There are 3 container images you can use, depending on how you want to configure Flex in Kubernetes: + +* To run Flex only to monitor services running in Kubernetes, use the `newrelic/infrastructure` container image. This image only contains the infrastructure agent, and the Docker and Flex integrations. With this option, you will can't perform service discovery or use other New Relic integrations. + +* To run Flex alongside other New Relic integrations, use the `newrelic/infrastructure-bundle` container image. This adds all the other New Relic integrations. + +* If you also want to monitor your Kubernetes cluster, use the `newrelic/infrastructure-k8s` container image. This image adds all the integrations, including the Kubernetes integration. + + + If you're running services in Kubernetes, we recommend you use the official container images from New Relic. See [Introduction to the Kubernetes integration](/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) for more information. + + +### Configure Flex in Kubernetes [#configure-flex-k8s] + +After installing the [Kubernetes integration](/install/kubernetes/), you'll have the infrastructure agent running in your cluster as well as these 2 `configMap`: + + * `nri-default-integration-cfg`: This is a `configMap` used to enable the New Relic Kubernetes integration. You can remove it if you don't to use this integration. If you've installed Kubernetes with the [Helm command](/install/kubernetes/?dropdown1=helm), the value `integrations_config` needs to be populated. See the [New Relic's Helm charts repository](https://github.com/newrelic/helm-charts) for more information. + + * `nri-integration-cfg-example`: This is a `configMap` used to enable Flex and other New Relic integration. + +To enable Flex, create a data section in the `configMap`, and add the infrastructure agent integration configuration under this new section: + + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: nri-integration-cfg-example + namespace: default + data: + nri-flex.yml: | + integrations: + - name: nri-flex + config: + name: example + apis: + - event_type: ExampleSample + url: https://my-host:8443/admin/metrics.json + ``` + + +## Troubleshooting [#troubleshooting] + +I you have an issue with the Flex configuration, you can follow these basic troubleshooting steps: + +* Test the configuration without the infrastructure agent: You can manually test a configuration file to ensure the output meets your expectations by running a command like this, replacing `` with the name of your config file: + + ```shell + # Linux default path: /opt/newrelic-infra/newrelic-integrations/bin/ + ./nri-flex -verbose -pretty -config_path /etc/newrelic-infra/integrations.d/ + + # Windows default path: C:\Program Files\New Relic\newrelic-infra\newrelic-integrations + .\nri-flex.exe -verbose -pretty -config_path "C:\Program Files\New Relic\newrelic-infra\integrations.d\" + ``` + + This will give you an output showing debug logging and JSON payload that will be integrated with the infrastucture agent. Make sure Flex is obtaining and formatting your telemetry as expected before continue with the rest of the troubleshooting steps. Learn more about testing Flex configurations from the [GitHub repository](https://github.com/newrelic/nri-flex/blob/master/docs/troubleshooting.md#testing-a-config). + +* Test with the infrastructure agent in `dry-run` mode: Use the [dry-run flag](/docs/infrastructure/host-integrations/troubleshooting/run-integrations-manually/) in the infrastructure agent to test your Flex configuration. Verify the output contains the telemetry you expect to be reported to New Relic. + +* Debug the integration with the infrastructure agent: Finally, ensure the agent is reporting the telemetry data as expected by [enabling debug logs](/docs/infrastructure/infrastructure-troubleshooting/troubleshoot-logs/generate-logs-troubleshooting-infrastructure/) in the infrastructure agent. -* [README](https://github.com/newrelic/nri-flex) -* [Tutorial](https://github.com/newrelic/nri-flex/blob/master/docs/basic-tutorial.md) + + See the [README](https://github.com/newrelic/nri-flex?tab=readme-ov-file#new-relic-flex) file to know more about Flex. + diff --git a/src/nav/infrastructure.yml b/src/nav/infrastructure.yml index 0e1e546f070..4000f7e7aad 100644 --- a/src/nav/infrastructure.yml +++ b/src/nav/infrastructure.yml @@ -272,7 +272,7 @@ pages: path: /docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/monitor-services/monitor-services-running-kubernetes - title: Install via ECS path: /docs/infrastructure/host-integrations/host-integrations-list/monitor-services-running-amazon-ecs - - title: Build a custom integration + - title: Build your own integration (Flex) path: /docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration - title: Update integrations path: /docs/infrastructure/host-integrations/installation/update-infrastructure-host-integration-package diff --git a/static/images/infrastructure_screenshot-crop_flex-query-your-data.webp b/static/images/infrastructure_screenshot-crop_flex-query-your-data.webp new file mode 100644 index 0000000000000000000000000000000000000000..87d41f3169ad7933221e6b1954756ac3a9f989d1 GIT binary patch literal 88442 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 c9p@86q~+$)EjANUY+Hu14F=v|1Y=C#sWM(B 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 V0000E60u|0qgucK000000002#sdoSX literal 0 HcmV?d00001 From 49b03920c695fcbe95110ee4d4356b8eb1e69ba7 Mon Sep 17 00:00:00 2001 From: nbaenam Date: Fri, 18 Oct 2024 11:34:27 +0200 Subject: [PATCH 2/7] fix(Infra Flex): Added SME comments --- ...egration-tool-build-your-own-integration.mdx | 11 ++++++----- ...enshot-crop_flex-filesystemsample-query.webp | Bin 0 -> 74084 bytes ...nshot-crop_flex-flexstatussample-query.webp} | Bin 3 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 static/images/infrastructure_screenshot-crop_flex-filesystemsample-query.webp rename static/images/{infrastructure_screenshot-crop_flex-query-your-data.webp => infrastructure_screenshot-crop_flex-flexstatussample-query.webp} (100%) diff --git a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx index 5f935d9f51c..fc005ca1dc1 100644 --- a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx +++ b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx @@ -21,7 +21,7 @@ New Relic provides [integrations and quickstarts](https://newrelic.com/instant-o ## What is New Relic Flex? [#what-is-it] -Flex is an application-agnostic, all-in-one New Relic integration that allows you to collect events and metrics from a wide range of services. It'ss bundled with our [infrastructure agent](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/). You can instrument any application that exposes metrics over a standard protocol (HTTP, file, shell) in a standard format (for example, JSON or plain text): you create a YAML configuration file, start the infrastructure agent, and your data is reported to New Relic. +Flex is an application-agnostic, all-in-one New Relic integration that allows you to collect events and metrics from a wide range of services. It's bundled with our [infrastructure agent](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/). You can instrument any application that exposes metrics over a standard protocol (HTTP, file, shell) in a standard format (for example, JSON or plain text): you create a YAML configuration file, start the infrastructure agent, and your data is reported to New Relic. After collecting and cleaning up the data, you can then [query Flex data](/docs/using-new-relic/data/understand-data/query-new-relic-data) in New Relic, create [custom charts](/docs/query-your-data/explore-query-data/use-charts/use-your-charts/) for it, and use that data in your [dashboards](/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards/). @@ -31,9 +31,10 @@ Make sure your system meets these requirements: 1. [Sign up for a free account](https://newrelic.com/signup) if you haven't already. It's free! 2. The New Relic account is compatible with these operating systems and platforms: + * Kubernetes * Linux + * macOS * Windows - * Kubernetes 3. See the [Requirements for the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/requirements-infrastructure-agent/) document to make sure your system and any on-host integrations you configure meet the requirements. 4. Flex comes bundled with our [infrastructure agent](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/) version 1.10.7 or higher running on Linux, Windows, or Kubernetes. @@ -94,7 +95,7 @@ Follow these steps to install New Relic Flex: Flex status table
@@ -184,7 +185,7 @@ Follow these steps to install New Relic Flex: Flex status table
@@ -333,5 +334,5 @@ I you have an issue with the Flex configuration, you can follow these basic trou * Debug the integration with the infrastructure agent: Finally, ensure the agent is reporting the telemetry data as expected by [enabling debug logs](/docs/infrastructure/infrastructure-troubleshooting/troubleshoot-logs/generate-logs-troubleshooting-infrastructure/) in the infrastructure agent. - See the [README](https://github.com/newrelic/nri-flex?tab=readme-ov-file#new-relic-flex) file to know more about Flex. + You can fetch the standalone binary from [here](https://github.com/newrelic/nri-flex/releases). See the [README](https://github.com/newrelic/nri-flex?tab=readme-ov-file#new-relic-flex) file to know more about Flex diff --git a/static/images/infrastructure_screenshot-crop_flex-filesystemsample-query.webp b/static/images/infrastructure_screenshot-crop_flex-filesystemsample-query.webp new file mode 100644 index 0000000000000000000000000000000000000000..1d8af4519f8c89b10e6223070dad6075444f5b62 GIT binary patch literal 74084 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

rkOOyigmccf(B@XT}{DYsQ?9Q(pX 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 Date: Thu, 24 Oct 2024 14:54:33 -0700 Subject: [PATCH 3/7] Update how-new-relic-distributed-tracing-works.mdx Adding info about limits that are now visible in the Limits UI. --- .../concepts/how-new-relic-distributed-tracing-works.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx b/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx index fe7b12c57f3..8a3d9e604be 100644 --- a/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx +++ b/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx @@ -201,7 +201,7 @@ Some of our tools don't use sampling. Sampling details for these tools: ### Trace limits [#trace-limits] -Our data processing systems are equipped with internal limits in order to protect our infrastructure from unexpected data surges. This protective layer not only maintains the integrity of our platform but also ensures a dependable and consistent experience for all our customers. While these limits are adjusted as-needed based on various conditions, they're set with a forward-looking approach. As our user base and data intake grow, we expand our infrastructure capacity. This commitment ensures that we capture all customer data sent our way and offer you a clear and uninterrupted view into your trace data. +Our data processing systems are equipped with internal limits in order to protect our infrastructure from unexpected data surges: Trace API, Agent Spans, Browser Spans, Mobile Spans, Lambda Spans. This protective layer not only maintains the integrity of our platform but also ensures a dependable and consistent experience for all our customers. While these limits are adjusted as-needed based on various conditions, they're set with a forward-looking approach. As our user base and data intake grow, we expand our infrastructure capacity and increase these limits accordingly. This commitment ensures that we capture all customer data sent our way and offer you a clear and uninterrupted view into your trace data. To check if you are hitting these limits, you can refer to the [Limits UI](https://docs.newrelic.com/docs/data-apis/manage-data/view-system-limits/#limits-ui). ## How trace data is structured [#trace-structure] From 30d73852e09d38680898b5e4555c62ca89e6623f Mon Sep 17 00:00:00 2001 From: nbaenam Date: Fri, 25 Oct 2024 11:07:51 +0200 Subject: [PATCH 4/7] style(Distributed tracing): Added TW edits --- .../concepts/how-new-relic-distributed-tracing-works.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx b/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx index 8a3d9e604be..3c4e137801b 100644 --- a/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx +++ b/src/content/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works.mdx @@ -201,7 +201,7 @@ Some of our tools don't use sampling. Sampling details for these tools: ### Trace limits [#trace-limits] -Our data processing systems are equipped with internal limits in order to protect our infrastructure from unexpected data surges: Trace API, Agent Spans, Browser Spans, Mobile Spans, Lambda Spans. This protective layer not only maintains the integrity of our platform but also ensures a dependable and consistent experience for all our customers. While these limits are adjusted as-needed based on various conditions, they're set with a forward-looking approach. As our user base and data intake grow, we expand our infrastructure capacity and increase these limits accordingly. This commitment ensures that we capture all customer data sent our way and offer you a clear and uninterrupted view into your trace data. To check if you are hitting these limits, you can refer to the [Limits UI](https://docs.newrelic.com/docs/data-apis/manage-data/view-system-limits/#limits-ui). +Our data processing systems include internal limits to protect our infrastructure from unexpected data surges: Trace API, agent spans, browser spans, mobile spans, and lambda spans. This protective layer not only maintains the integrity of our platform but also ensures a dependable and consistent experience for all our customers. We adjust these limits as needed based on various conditions, but they're set with a forward-looking approach. As our users and data grow, we expand our infrastructure capacity and raise these limits. This commitment ensures that we capture all customer data sent our way and offer you a clear and uninterrupted view into your trace data. To check if you are hitting these limits, you can refer to the [Limits UI](/docs/data-apis/manage-data/view-system-limits/#limits-ui). ## How trace data is structured [#trace-structure] From 82fe8d7f3bbca03f48ac022251d40f26a1796c07 Mon Sep 17 00:00:00 2001 From: nbaenam Date: Fri, 25 Oct 2024 12:06:43 +0200 Subject: [PATCH 5/7] feat(Infra Flex): Added the Sample configurations section and style TW edits --- ...ration-tool-build-your-own-integration.mdx | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx index fc005ca1dc1..d070157f9a0 100644 --- a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx +++ b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx @@ -3,6 +3,7 @@ title: 'Build your own integration: New Relic Flex' tags: - Instrument everything - Develop your own integrations + - New Relic Flex translate: - jp metaDescription: Use New Relic's Flex integration tool to create a lightweight custom integration that reports event and metric data to New Relic. @@ -13,7 +14,7 @@ redirects: freshnessValidatedDate: 2024-10-28 --- -New Relic provides [integrations and quickstarts](https://newrelic.com/instant-observability) for many popular services and frameworks. If you're already using New Relic and want to report data from a service for which we don't have an integration, you've these options for creating your own integration: +New Relic provides [integrations and quickstarts](https://newrelic.com/instant-observability) for many popular services and frameworks. If you're already using New Relic and want to report data from a service for which we don't have an integration, You can create your own integration by following these options: * With , you can use our lightweight Flex tool (recommended) or, to build a complete [on-host integration](/docs/integrations/host-integrations/getting-started/introduction-host-integrations), see our [Integrations SDK](/docs/integrations/integrations-sdk/getting-started/introduction-infrastructure-integrations-sdk). * For telemetry (metrics, traces) monitoring solutions, use our [Telemetry SDKs](/docs/data-ingest-apis/get-data-new-relic/new-relic-sdks/telemetry-sdks-send-custom-telemetry-data-new-relic). @@ -35,10 +36,10 @@ Make sure your system meets these requirements: * Linux * macOS * Windows - 3. See the [Requirements for the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/requirements-infrastructure-agent/) document to make sure your system and any on-host integrations you configure meet the requirements. + 3. See the [requirements for the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/requirements-infrastructure-agent/) document to make sure your system and any on-host integrations you configure meet the requirements. 4. Flex comes bundled with our [infrastructure agent](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/) version 1.10.7 or higher running on Linux, Windows, or Kubernetes. -See the [Identify outdated agent versions from the UI](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/#check-version) document to check your version or the [Update the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/) document if you need to update it. +See the [identify outdated agent versions from the UI](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/#check-version) document to check your version or the [update the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/) document if you need to update it. ## Installation [#installation] @@ -82,7 +83,7 @@ Follow these steps to install New Relic Flex: ``` If you already have an `integrations` section in the file, add `nri-flex` to it. - 4. After a few minutes, go to New Relic and run this query: + 4. After a few minutes, go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Query your data** and run this query: ```sql FROM flexStatusSample @@ -138,7 +139,7 @@ Follow these steps to install New Relic Flex: } ``` - First, you need to tell Flex how to perform the above "table text to JSON" transformation by specifying the following: + First, you need to tell Flex how to perform the above table text to JSON transformation by specifying the following: * Name of the metric: `FileSystem` * Which command to run: `df -PT -B1 ...` @@ -312,12 +313,30 @@ To enable Flex, create a data section in the `configMap`, and add the infrastruc url: https://my-host:8443/admin/metrics.json ``` +## Sample configurations [#sample-configurations] + +Looking for different samples? Here are some example configurations to help you start with various data sources: + +* **Databases**: + + * [MySQL](https://github.com/newrelic/nri-flex/blob/master/examples/mysql-database-example.yml) + * [Oracle](https://github.com/newrelic/nri-flex/blob/master/examples/oracle-database-example.yml) + * [Postgres](https://github.com/newrelic/nri-flex/blob/master/examples/postgres-db-example.yml) + +* **Third-party APIs**: + * [JSON API](https://github.com/newrelic/nri-flex/blob/master/examples/http-json-example.yml) + * [Twilio](https://github.com/newrelic/nri-flex/blob/master/examples/twilio-status.yml) health status + +* **Command line utilities**: + * [AWS CLI](https://github.com/newrelic/nri-flex/blob/master/examples/aws-cli-example.yml) + * [Linux](https://github.com/newrelic/nri-flex/blob/master/examples/linux/linux-memory.yml) + * [Windows PowerShell](https://github.com/newrelic/nri-flex/blob/master/examples/windows/windows-iis-app-pool-status.yml) ## Troubleshooting [#troubleshooting] -I you have an issue with the Flex configuration, you can follow these basic troubleshooting steps: +I you've an issue with the Flex configuration, you can follow these basic troubleshooting steps: -* Test the configuration without the infrastructure agent: You can manually test a configuration file to ensure the output meets your expectations by running a command like this, replacing `` with the name of your config file: +* Test the configuration without the infrastructure agent: You can manually test a configuration file to ensure the output meets your expectations by running a command like this. Remember to replace `` with the name of your config file: ```shell # Linux default path: /opt/newrelic-infra/newrelic-integrations/bin/ @@ -329,9 +348,9 @@ I you have an issue with the Flex configuration, you can follow these basic trou This will give you an output showing debug logging and JSON payload that will be integrated with the infrastucture agent. Make sure Flex is obtaining and formatting your telemetry as expected before continue with the rest of the troubleshooting steps. Learn more about testing Flex configurations from the [GitHub repository](https://github.com/newrelic/nri-flex/blob/master/docs/troubleshooting.md#testing-a-config). -* Test with the infrastructure agent in `dry-run` mode: Use the [dry-run flag](/docs/infrastructure/host-integrations/troubleshooting/run-integrations-manually/) in the infrastructure agent to test your Flex configuration. Verify the output contains the telemetry you expect to be reported to New Relic. +* Test with the infrastructure agent in `dry-run` mode: Use the [`dry-run` flag](/docs/infrastructure/host-integrations/troubleshooting/run-integrations-manually/) in the infrastructure agent to test your Flex configuration. Verify the output contains the telemetry you expect to report to New Relic. -* Debug the integration with the infrastructure agent: Finally, ensure the agent is reporting the telemetry data as expected by [enabling debug logs](/docs/infrastructure/infrastructure-troubleshooting/troubleshoot-logs/generate-logs-troubleshooting-infrastructure/) in the infrastructure agent. +* Debug the integration with the infrastructure agent: Ensure the agent is reporting the telemetry data as expected by [enabling debug logs](/docs/infrastructure/infrastructure-troubleshooting/troubleshoot-logs/generate-logs-troubleshooting-infrastructure/) in the infrastructure agent. You can fetch the standalone binary from [here](https://github.com/newrelic/nri-flex/releases). See the [README](https://github.com/newrelic/nri-flex?tab=readme-ov-file#new-relic-flex) file to know more about Flex From b41aff712d31428532b90c6a79133b7f6731581a Mon Sep 17 00:00:00 2001 From: nbaenam Date: Fri, 25 Oct 2024 16:04:54 +0200 Subject: [PATCH 6/7] fix(PHP agent): Added a definition and fixing the capitalization --- .../troubleshooting/agent-overhead-reduction-tips.mdx | 4 ++-- src/nav/apm.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/apm/agents/php-agent/troubleshooting/agent-overhead-reduction-tips.mdx b/src/content/docs/apm/agents/php-agent/troubleshooting/agent-overhead-reduction-tips.mdx index fd8f05616bb..6063c3981b4 100644 --- a/src/content/docs/apm/agents/php-agent/troubleshooting/agent-overhead-reduction-tips.mdx +++ b/src/content/docs/apm/agents/php-agent/troubleshooting/agent-overhead-reduction-tips.mdx @@ -1,5 +1,5 @@ --- -title: PHP Agent overhead reduction tips +title: PHP agent overhead reduction tips type: troubleshooting tags: - Agents @@ -11,7 +11,7 @@ freshnessValidatedDate: 2024-10-21 ## Problem -Using the New Relic PHP agent results in overhead. +Using the New Relic PHP agent results in overhead. Performance overhead is anything that increases latency, CPU, or memory usage beyond what what would exist without the agent. ## Cause diff --git a/src/nav/apm.yml b/src/nav/apm.yml index eca9e3eab04..b06a8c3dc18 100644 --- a/src/nav/apm.yml +++ b/src/nav/apm.yml @@ -749,7 +749,7 @@ pages: path: /docs/apm/agents/php-agent/troubleshooting/performance-issues-long-running-task - title: Performance issues within AWS Fargate tasks path: /docs/apm/agents/php-agent/troubleshooting/fargate-nitro-clock-performance-impact - - title: PHP Agent overhead reduction tips + - title: PHP agent overhead reduction tips path: /docs/apm/agents/php-agent/troubleshooting/agent-overhead-reduction-tips - title: Protocol mismatch error path: /docs/apm/agents/php-agent/troubleshooting/protocol-mismatch-error From 10ae14eba12c4eb0c8a3598ffb00e012c10ee363 Mon Sep 17 00:00:00 2001 From: jcol <116673918+jeff-colucci@users.noreply.github.com> Date: Fri, 25 Oct 2024 12:59:57 -0500 Subject: [PATCH 7/7] Update flex-integration-tool-build-your-own-integration.mdx Small typo and style fixes --- .../flex-integration-tool-build-your-own-integration.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx index ab6055c806d..328f97b9cdd 100644 --- a/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx +++ b/src/content/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx @@ -15,9 +15,9 @@ redirects: freshnessValidatedDate: 2024-10-28 --- -New Relic provides [integrations and quickstarts](https://newrelic.com/instant-observability) for many popular services and frameworks. If you're already using New Relic and want to report data from a service for which we don't have an integration, You can create your own integration by following these options: +New Relic provides [integrations and quickstarts](https://newrelic.com/instant-observability) for many popular services and frameworks. If you're already using New Relic and want to report data from a service for which we don't have an integration, you can create your own integration by following these options: -* With , you can use our lightweight Flex tool (recommended) or, to build a complete [on-host integration](/docs/integrations/host-integrations/getting-started/introduction-host-integrations), see our [Integrations SDK](/docs/integrations/integrations-sdk/getting-started/introduction-infrastructure-integrations-sdk). +* With , you can use our lightweight Flex tool (recommended) or build a complete [on-host integration](/docs/integrations/host-integrations/getting-started/introduction-host-integrations) using our [Integrations SDK](/docs/integrations/integrations-sdk/getting-started/introduction-infrastructure-integrations-sdk). * For telemetry (metrics, traces) monitoring solutions, use our [Telemetry SDKs](/docs/data-ingest-apis/get-data-new-relic/new-relic-sdks/telemetry-sdks-send-custom-telemetry-data-new-relic). * Build a custom [New Relic app](/docs/new-relic-one/use-new-relic-one/build-new-relic-one/new-relic-one-build-your-own-custom-new-relic-one-application) that uses your own JavaScript UI functionality. @@ -37,7 +37,7 @@ Make sure your system meets these requirements: * Linux * macOS * Windows - 3. See the [requirements for the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/requirements-infrastructure-agent/) document to make sure your system and any on-host integrations you configure meet the requirements. + 3. See our [requirements for the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/get-started/requirements-infrastructure-agent/) doc to make sure your system and any on-host integrations you configure meet the requirements. 4. Flex comes bundled with our [infrastructure agent](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/) version 1.10.7 or higher running on Linux, Windows, or Kubernetes. See the [identify outdated agent versions from the UI](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/#check-version) document to check your version or the [update the infrastructure agent](/docs/infrastructure/install-infrastructure-agent/update-or-uninstall/update-infrastructure-agent/) document if you need to update it. @@ -335,7 +335,7 @@ Looking for different samples? Here are some example configurations to help you ## Troubleshooting [#troubleshooting] -I you've an issue with the Flex configuration, you can follow these basic troubleshooting steps: +If you encounter an issue with the Flex configuration, you can follow these basic troubleshooting steps: * Test the configuration without the infrastructure agent: You can manually test a configuration file to ensure the output meets your expectations by running a command like this. Remember to replace `` with the name of your config file: