-
Notifications
You must be signed in to change notification settings - Fork 197
[WIP] Add guides for collecting data using the nginx OTel input package #4725
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
base: main
Are you sure you want to change the base?
Conversation
✅ Vale Linting ResultsNo issues found on modified lines! The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale. |
c764290 to
b35fdaf
Compare
fc85b9a to
510c7f4
Compare
alexandra5000
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I didn't have time to review the last file yet! Hopefully my comments will be useful to you - some of them may apply to that file as well. I'll go back to it on Monday morning.
| ## Configure OpenTelemetry input packages | ||
| ## Hybrid agents [otel-integrations-hybrid-agents] | ||
|
|
||
| {{agent}} policies can include configurations for both ECS-based integrations and OpenTelemetry input packages, which essentially turns the enrolled {{agents}} into *hybrid agents*. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| {{agent}} policies can include configurations for both ECS-based integrations and OpenTelemetry input packages, which essentially turns the enrolled {{agents}} into *hybrid agents*. | |
| You can configure {{agent}} policies to use both ECS-based integrations and OpenTelemetry input packages. This effectively turns enrolled {{agents}} into hybrid agents. |
For more direct presentation of information.
|
|
||
| Hybrid agent policies are useful when you want to: | ||
|
|
||
| - Keep an ECS-based integration for one data type (for example, to ingest logs and use built-in dashboards) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not "Use" for both?
| - Keep an ECS-based integration for one data type (for example, to ingest logs and use built-in dashboards) | ||
| - Use an OpenTelemetry input package for another data type (for example, to collect metrics using OpenTelemetry standards) | ||
|
|
||
| This type of hybrid data collection provides flexibility without forcing a single ingestion model, and allows you to: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| This type of hybrid data collection provides flexibility without forcing a single ingestion model, and allows you to: | |
| This type of hybrid data collection provides flexibility without locking you into a single ingestion model, and allows you to: |
Forcing sounds unnecessarily brutal 😄
|
|
||
| The installation and configuration of OpenTelemetry input packages is similar to that of ECS-based integrations and allow you to specify the namespace, dataset name, data stream type, and more. For more information, refer to [Add an integration to an {{agent}} policy](/reference/fleet/add-integration-to-policy.md). | ||
| - Gradually migrate toward OpenTelemetry | ||
| - Standardize ingestion on OpenTelemetry receivers at scale |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Standardize ingestion on OpenTelemetry receivers at scale | |
| - Standardize ingestion using OpenTelemetry receivers at scale |
How about like this?
|
|
||
| ## Configure OpenTelemetry input packages [configure-otel-input-packages] | ||
|
|
||
| The installation and configuration of OpenTelemetry input packages are similar to those of ECS-based integrations, and allow you to specify the namespace, dataset name, data stream type, and more. For more information, refer to [Add an integration to an {{agent}} policy](/reference/fleet/add-integration-to-policy.md). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| The installation and configuration of OpenTelemetry input packages are similar to those of ECS-based integrations, and allow you to specify the namespace, dataset name, data stream type, and more. For more information, refer to [Add an integration to an {{agent}} policy](/reference/fleet/add-integration-to-policy.md). | |
| The installation and configuration of OpenTelemetry input packages are similar to those of ECS-based integrations, and allow you to specify the namespace, dataset name, data stream type, and more. For step-by-step instructions, refer to [Add an integration to an {{agent}} policy](/reference/fleet/add-integration-to-policy.md). |
| 7. Select **Save and continue**. | ||
| ::::{note} | ||
| The NGINX OpenTelemetry Assets content package, which includes relevant assets for visualizing OTel-based metrics, is automatically installed when data is ingested through the NGINX OpenTelemetry Input Package integration. You can then find the content package in the **Installed integrations** list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| The NGINX OpenTelemetry Assets content package, which includes relevant assets for visualizing OTel-based metrics, is automatically installed when data is ingested through the NGINX OpenTelemetry Input Package integration. You can then find the content package in the **Installed integrations** list. | |
| The NGINX OpenTelemetry Assets content package is installed automatically when data is ingested through this integration. You can find it under **Installed integrations** and use it to visualize OTel-based metrics. |
Reduce wordiness
| :::: | ||
| ::::{note} | ||
| OpenTelemetry input packages are distinct from [running {{agent}} as an EDOT Collector](/reference/fleet/otel-agent.md), and cannot be used with {{agent}} running in `otel` mode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's interesting. As far as I know the otel mode pretty soon will be the only one available for the EDOT Collector. Are we actually encouraging the use of contrib OTel Collector? Is this the only supported way of using these packages? If so, this guide could benefit from stating that explicitly somewhere at the beginning. I get you said "OpenTelemetry" at the beginning but it wasn't super clear to me that EDOT isn't supported in this case.
| ## Validate your data | ||
| After you apply the policy changes, validate both the ECS-based logs and the OTel-based metrics. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| After you apply the policy changes, validate both the ECS-based logs and the OTel-based metrics. | |
| After you apply the policy changes, validate that both the ECS-based logs and the OTel-based metrics are flowing in. |
Just for clarity what to validate exactly 🙂
| data_stream.dataset : "nginx.access" or "nginx.error" | ||
| ``` | ||
| 3. Go to **Dashboards**, then select **[Logs Nginx] Access and error logs** to view the dashboard installed with the Nginx integration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would that be the the ECS-based dashboard?
| Go to **Dashboards**, then select **[Metrics Nginx OTEL] Overview** to view the dashboard for visualizing OTel-based metrics. | ||
| This dashboard becomes available with the NGINX OpenTelemetry Assets content package, which is automatically installed when data is ingested trough the NGINX OpenTelemetry Input Package integration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe like this:
| This dashboard becomes available with the NGINX OpenTelemetry Assets content package, which is automatically installed when data is ingested trough the NGINX OpenTelemetry Input Package integration. | |
| This dashboard is provided by the NGINX OpenTelemetry Assets content package, installed automatically when data is ingested through the NGINX OpenTelemetry Input Package. |
?
Summary
This PR updates the Collect OpenTelemetry data with Elastic Agent integrations doc with more information on hybrid agents.
It also adds guides for configuring a hybrid Fleet-managed agent and a hybrid standalone agent to collect:
Resolves elastic/ingest-docs#1877
Generative AI disclosure
Tool(s) and model(s) used: Version: 2.3.41 with gpt-5.2