Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(OTEL): audit of OTEL docs #18627

Merged
merged 32 commits into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
2ffc9f0
fix(OTEL): edits to OTEL intro doc
ally-sassman Sep 10, 2024
550d5d9
Other fixes to overview page, updated yml naming
ally-sassman Sep 10, 2024
3723d47
fix(OTEL): updates to getting started overview
ally-sassman Sep 10, 2024
2a4cb11
fix(OTEL): add tiles
ally-sassman Sep 10, 2024
2f37aaf
Update opentelemetry-get-started-intro.mdx
ally-sassman Sep 10, 2024
a591ab0
update links on data overview page
ally-sassman Sep 10, 2024
029322c
other fixes
ally-sassman Sep 10, 2024
56441c8
Other fixes
ally-sassman Sep 17, 2024
511990b
Update opentelemetry-data-overview.mdx
ally-sassman Sep 26, 2024
7a79fb3
revert yml changes
ally-sassman Sep 26, 2024
ad7b013
uppercase all references of "Collector"
ally-sassman Sep 26, 2024
dfc31bc
improve troubleshooting page
ally-sassman Sep 26, 2024
ed40507
other fixes
ally-sassman Sep 26, 2024
ea790dc
Merge branch 'develop' into OTEL-doc-review
ally-sassman Sep 26, 2024
60bccfc
Update opentelemetry-otlp.mdx
ally-sassman Sep 26, 2024
bfecb66
remove space between api and sdk
ally-sassman Sep 26, 2024
4e31f04
Update opentelemetry-best-practices-traces.mdx
ally-sassman Sep 26, 2024
7533801
remove collector titlecase from non-OTel references
ally-sassman Sep 26, 2024
dc78891
fix last remaining collector references
ally-sassman Sep 26, 2024
af1d7d8
Update src/content/docs/apm/agents/ruby-agent/configuration/ruby-agen…
ally-sassman Sep 26, 2024
0a24074
Update apm-agent-security-python.mdx
ally-sassman Sep 26, 2024
c9a55b2
Merge branch 'OTEL-doc-review' of https://github.com/newrelic/docs-we…
ally-sassman Sep 26, 2024
6f540b5
Update src/content/docs/serverless-function-monitoring/aws-lambda-mon…
ally-sassman Sep 26, 2024
c396eee
Update src/nav/opentelemetry.yml
ally-sassman Sep 26, 2024
5373ff8
Update src/nav/opentelemetry.yml
ally-sassman Sep 26, 2024
8269a0c
update screenshot
ally-sassman Sep 26, 2024
5628c94
Merge branch 'OTEL-doc-review' of https://github.com/newrelic/docs-we…
ally-sassman Sep 26, 2024
f47549b
merge changes from #18683
ally-sassman Sep 27, 2024
275eb36
remove slash from apis/sdks references
ally-sassman Sep 27, 2024
d63d714
add missing lowercased collector references
ally-sassman Sep 27, 2024
5dc2ea5
Apply suggestions from code review
ally-sassman Sep 27, 2024
b725826
fix(OTEL): Fixing a popover
Sep 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Ensure you have the prerequisites outlined in the [New Relic OpenTelemetry docum
2. Copy the `Dockerfile.ubuntu`, `docker-compose-collector.yaml`, and the `config.dev.yaml` example files to the root of the directory cloned in step 1.
3. Edit `config.dev.yaml` with your [license key](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key) and [endpoint](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/opentelemetry-setup/#review-settings).
4. Run `docker-compose -f docker-compose-collector.yaml up`.
5. Verify the two containers are running, one for the collector and one for the C++ application.
5. Verify the two containers are running, one for the Collector and one for the C++ application.

### 2. Run the C++ application [#run-app]

Expand Down Expand Up @@ -89,7 +89,7 @@ services:
- ./config.dev.yaml:/etc/otel-collector-config.yml
ports:
- "1888:1888" # pprof extension
- "8888:8888" # Prometheus metrics exposed by the collector
- "8888:8888" # Prometheus metrics exposed by the Collector
- "8889:8889" # Prometheus exporter metrics
- "13133:13133" # health_check extension
- "9411" # Zipkin receiver
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1095,7 +1095,7 @@ This section defines the Node.js agent variables in the order they typically app
</tbody>
</table>

When enabled, the agent logs the payloads it sends to the collector. This data is included in the main log file even when logging level is set to the lowest level.
When enabled, the agent logs the payloads it sends to the Collector. This data is included in the main log file even when logging level is set to the lowest level.
</Collapser>

<Collapser
Expand Down Expand Up @@ -1136,7 +1136,7 @@ This section defines the Node.js agent variables in the order they typically app
</tbody>
</table>

The agent sends several different types of data to the collector in separate payloads. By default, all of them are included in the log file. This option makes it possible to limit logging only to specific types of data.
The agent sends several different types of data to the Collector in separate payloads. By default, all of them are included in the log file. This option makes it possible to limit logging only to specific types of data.

Valid values include:

Expand Down Expand Up @@ -1667,7 +1667,7 @@ You can [manage how error are handled](/docs/agents/manage-apm-agents/agent-data
</tbody>
</table>

A JavaScript object describing a list of classes tied to error messages for the collector to ignore. The following configuration would ignore all errors of the type `Error` with the exact (case-sensitive) message strings of `Undefined` and `Out of time`:
A JavaScript object describing a list of classes tied to error messages for the Collector to ignore. The following configuration would ignore all errors of the type `Error` with the exact (case-sensitive) message strings of `Undefined` and `Out of time`:

```js
error_collector: {
Expand Down Expand Up @@ -1820,7 +1820,7 @@ You can [manage how error are handled](/docs/agents/manage-apm-agents/agent-data
</tbody>
</table>

A javascript object describing a list of javascript classes tied to javascript error messages for the collector to ignore. The following configuration.
A javascript object describing a list of javascript classes tied to javascript error messages for the Collector to ignore. The following configuration.

```js
error_collector: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Error codes will automatically appear in the site source code and in your Node.j
</td>

<td>
The Node.js agent has not yet done a "handshake" with the collector. The app was started and a user hit the site before the collector could talk to the agent. This may occur because:
The Node.js agent has not yet done a "handshake" with the Collector. The app was started and a user hit the site before the Collector could talk to the agent. This may occur because:

* The browser page loaded before the agent made its initial connection to New Relic.
* The license key is invalid.
Expand All @@ -103,7 +103,7 @@ Error codes will automatically appear in the site source code and in your Node.j
</td>

<td>
Browser monitoring has been disabled on the collector side. For example, the collector did not return enough data for browser monitoring to be enabled. This is a collector issue, because [some server-side configuration settings](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#methods-and-precedence) for Node.js currently are not available.
Browser monitoring has been disabled on the Collector side. For example, the Collector did not return enough data for browser monitoring to be enabled. This is a collector issue, because [some server-side configuration settings](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#methods-and-precedence) for Node.js currently are not available.
</td>
</tr>
</tbody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -949,7 +949,7 @@ For more information about ways to start the daemon and when to use an external
</tbody>
</table>

Sets the name and optional port of the collector host which the daemon will contact to verify your <InlinePopover type="licenseKey"/> and send agent data.
Sets the name and optional port of the Collector host which the daemon will contact to verify your <InlinePopover type="licenseKey"/> and send agent data.

This is either just the name of the host or the name and port number in the form `"hostname:port"`. Specifying a port number of `0` will use the default port, which is 80.

Expand Down Expand Up @@ -2776,7 +2776,7 @@ The values of these settings are used to control various tracer features.
</tbody>
</table>

Span events are reported for [distributed tracing](#inivar-distributed-enabled). This value sets the maximum number of span events sent to the collector per harvest cycle. A value of `0` will use the agent default of `2000`. The maximum setting is `10000`.
Span events are reported for [distributed tracing](#inivar-distributed-enabled). This value sets the maximum number of span events sent to the Collector per harvest cycle. A value of `0` will use the agent default of `2000`. The maximum setting is `10000`.
</Collapser>

<Collapser
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ A sample daemon configuration file was created during installation. To manually

This configuration setting is only available in PHP agent versions lower than 8.0. Versions 8.0 and higher will ignore this setting and always use HTTPS encryption to communicate with New Relic.

When set to `yes`, the proxy will only use a secure connection to communicate with the collector. While the setting specifies SSL, the setting refers to HTTPS encryption to the latest industry standards. The agent communicates with New Relic via HTTPS by default, and New Relic requires HTTPS for all traffic to New Relic and the New Relic REST API.
When set to `yes`, the proxy will only use a secure connection to communicate with the Collector. While the setting specifies SSL, the setting refers to HTTPS encryption to the latest industry standards. The agent communicates with New Relic via HTTPS by default, and New Relic requires HTTPS for all traffic to New Relic and the New Relic REST API.

Can be enabled or disabled on the command line by the daemon `--tls` option. Setting this value on the command line will override the value set in `newrelic.cfg`
</Collapser>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ If you need different security settings than default or high-security mode, you

If you use this to set the name of the audit log file, the agent will log details of messages passed back and forth between the monitored process and the data collector.

You can then evaluate the information that the agent sends to the collector to see if it includes sensitive information.
You can then evaluate the information that the agent sends to the Collector to see if it includes sensitive information.
</td>
</tr>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ Registers the Python agent immediately. Used for manual initialization of agent.

## Description

When [`initialize`](/docs/agents/python-agent/python-agent-api/initialize) is called, it sets up the Python agent but does not register the agent with the [collector](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#collector). This call registers the agent with the collector.
When [`initialize`](/docs/agents/python-agent/python-agent-api/initialize) is called, it sets up the Python agent but does not register the agent with the [collector](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#collector). This call registers the agent with the Collector.

This is primarily used for non-web [background transactions](/docs/agents/python-agent/python-agent-api/background_task) instrumented using the API. When used with non-web transactions, call `register_application` as soon as possible after the `initialize` call.

For web transactions, the agent normally registers automatically when the first web request or background task occurs the agent receives its [server-side configuration](/docs/agents/manage-apm-agents/configuration/configure-agent#ssc) from the collector. Because registration can take a second or so, details are usually lost from the earliest transactions. You can collect all of this data by forcing registration with `register_application`, though doing so means your app may wait for registration to complete before serving any web requests or running background tasks.
For web transactions, the agent normally registers automatically when the first web request or background task occurs the agent receives its [server-side configuration](/docs/agents/manage-apm-agents/configuration/configure-agent#ssc) from the Collector. Because registration can take a second or so, details are usually lost from the earliest transactions. You can collect all of this data by forcing registration with `register_application`, though doing so means your app may wait for registration to complete before serving any web requests or running background tasks.

If the script itself runs the WSGI server, call `register_application` from the main program thread in the main script file. If you use Apache/mod_wsgi or uWSGI, make the call from the WSGI script file and place the call immediately after `initialize`<DNT>**.**</DNT>

Expand All @@ -43,7 +43,7 @@ For Gunicorn: The deadlock issue just described can also occur when using Gunico

### Call after worker process fork [#worker-processes]

If you're recording transactions in child worker process, do not call `register_application` in the parent process before the child worker processes are forked. If you were to call `register_application` before forking, the background agent thread would be killed when the process is forked. Since the parent thread is reporting data to the collector, the agent will not be able to report data from child worker process.
If you're recording transactions in child worker process, do not call `register_application` in the parent process before the child worker processes are forked. If you were to call `register_application` before forking, the background agent thread would be killed when the process is forked. Since the parent thread is reporting data to the Collector, the agent will not be able to report data from child worker process.

## Parameters

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ These settings are available for agent configuration. Some settings depend on yo
</tbody>
</table>

The exit handler that sends all cached data to the collector before shutting down is forcibly installed. This is true even when it detects scenarios where it generally should not be. The known use case for this option is when Sinatra runs as an embedded service within another framework. The agent detects the Sinatra app and skips the `at_exit` handler as a result. Sinatra classically runs the entire application in an `at_exit` block and would otherwise misbehave if the agent's `at_exit` handler was also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.
The exit handler that sends all cached data to the Collector before shutting down is forcibly installed. This is true even when it detects scenarios where it generally should not be. The known use case for this option is when Sinatra runs as an embedded service within another framework. The agent detects the Sinatra app and skips the `at_exit` handler as a result. Sinatra classically runs the entire application in an `at_exit` block and would otherwise misbehave if the agent's `at_exit` handler was also installed in those circumstances. Note: `send_data_on_exit` should also be set to `true` in tandem with this setting.

</Collapser>

Expand Down Expand Up @@ -471,7 +471,7 @@ These settings are available for agent configuration. Some settings depend on yo
</tbody>
</table>

Defines the maximum number of seconds the agent should spend attempting to connect to the collector.
Defines the maximum number of seconds the agent should spend attempting to connect to the Collector.
</Collapser>

<Collapser id="allow_all_headers" title="allow_all_headers">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ The following instructions will guide you through setting up external services.

If your APM service is connected to an OpenTelemetry service (upstream or downstream), that OpenTelemetry service will not show up in the view for that APM service. This is because, when viewing an APM service, this feature uses metrics which are only reported by APM agents. When viewing an OpenTelemetry service, the APM service will show up as a connection.

The quality of the information you see depends on the sampling strategy you are using in the collector. See the following section about using sampling to control what you see in the UI.
The quality of the information you see depends on the sampling strategy you are using in the Collector. See the following section about using sampling to control what you see in the UI.
ally-sassman marked this conversation as resolved.
Show resolved Hide resolved
ally-sassman marked this conversation as resolved.
Show resolved Hide resolved

<Callout variant="tip">
If you send 100% of your OpenTelemetry data to our Trace API, we store 100% of that data, unless you have a specific rate limit for your organization, or if you send enough data to trigger our default rate limit.
Expand Down Expand Up @@ -348,7 +348,7 @@ The following instructions will guide you through setting up external services.
This section only applies if your services are sending data to New Relic via an OpenTelemetry Collector. This is because the data isn’t being sampled in an OpenTelemetry Collector.
</Callout>

For OpenTelemetry, all external services views are populated by sampled traces, which means that you may not see enough useful data. To resolve this, you can change the sampling in the collector to allow more data into New Relic.
For OpenTelemetry, all external services views are populated by sampled traces, which means that you may not see enough useful data. To resolve this, you can change the sampling in the Collector to allow more data into New Relic.

See [Sampling](https://opentelemetry.io/docs/concepts/sampling/) for more information.
</TabsPageItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,11 @@ The following attributes are required in the APM service entity to display the K

### OpenTelemetry instrumentation [#otel-instrumentation]

The [OpenTelemetry collector](/docs/opentelemetry/get-started/collector-processing/opentelemetry-collector-processing-intro/) offers a Kubernetes attributes processor that enrich APM telemetry with Kubernetes metadata.
The [OpenTelemetry Collector](/docs/opentelemetry/get-started/collector-processing/opentelemetry-collector-processing-intro/) offers a Kubernetes attributes processor that enrich APM telemetry with Kubernetes metadata.

1. You need to define an environment variable in your deployment manifest.

2. Adjust the configuration of the collector to retrieve the appropriate Kubernetes metadata using this APM environment variable.
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/).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2130,7 +2130,7 @@ Metrics can also be enriched with extended cloud metadata (including custom reso
id="is_integrations_only"
title="is_integrations_only"
>
Use this setting if you're instrumenting the host from a source other than the infrastructure agent (for example, an OpenTelemetry collector or Prometheus node exporter) and you want to keep using the infrastructure agent on-host integrations to monitor other infrastructure services.
Use this setting if you're instrumenting the host from a source other than the infrastructure agent (for example, an OpenTelemetry Collector or Prometheus node exporter) and you want to keep using the infrastructure agent on-host integrations to monitor other infrastructure services.
When enabled, the agent reports host inventory and integrations telemetry (event metrics and inventory) decorated with host metadata, but host metrics (CPU, memory, disk, network, processes) are disabled.

<table>
Expand Down
Loading
Loading