-
Notifications
You must be signed in to change notification settings - Fork 121
feat: Add custom OTel configuration section #1261
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
✅ Deploy Preview will be available once build job completes!
|
| ```yaml | ||
| collector: | ||
| additional_config_paths: | ||
| - "/my_config.yaml" |
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.
| - "/my_config.yaml" | |
| - "/etc/nginx-agent/my_config.yaml" |
| prometheus: | ||
| endpoint: "127.0.0.1:5643" | ||
| resource_to_telemetry_conversion: | ||
| enabled: true |
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.
| enabled: true | |
| enabled: true | |
| namespace: test-space |
| prometheus: | ||
| endpoint: "127.0.0.1:5643" | ||
| resource_to_telemetry_conversion: | ||
| enabled: true |
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.
| enabled: true | |
| enabled: true | |
| namespace: test-space |
| timeout: 10s | ||
| retry_on_failure: | ||
| enabled: true | ||
| initial_interval: 10s | ||
| max_interval: 60s | ||
| max_elapsed_time: 10m | ||
| tls: | ||
| insecure: true |
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.
| timeout: 10s | |
| retry_on_failure: | |
| enabled: true | |
| initial_interval: 10s | |
| max_interval: 60s | |
| max_elapsed_time: 10m | |
| tls: | |
| insecure: true |
| timeout: 10s | ||
| retry_on_failure: | ||
| enabled: true | ||
| initial_interval: 10s | ||
| max_interval: 60s | ||
| max_elapsed_time: 10m | ||
| tls: | ||
| insecure: true |
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.
| timeout: 10s | |
| retry_on_failure: | |
| enabled: true | |
| initial_interval: 10s | |
| max_interval: 60s | |
| max_elapsed_time: 10m | |
| tls: | |
| insecure: true |
| ### Custom OTel Configuration | ||
| NGINX Agent generates a default OpenTelemetry config to send metrics to your management plane located at `/etc/nginx-agent/opentelemetry-collector-agent.yaml`. An option is provided 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.
| NGINX Agent generates a default OpenTelemetry config to send metrics to your management plane located at `/etc/nginx-agent/opentelemetry-collector-agent.yaml`. An option is provided to | |
| NGINX Agent generates a default OpenTelemetry config (located at `/etc/nginx-agent/opentelemetry-collector-agent.yaml`) to send metrics to your management plane. An option is provided to |
| bring your own OpenTelemetry configs which will be merged with the NGINX Agent default config. | ||
| OpenTelemetry will merge your [OpenTelemetry Config](https://opentelemetry.io/docs/collector/configuration/). The **order of the OpenTelemetry config files matters**, the last config in the list will take priority over others listed if they have the same value configured. |
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 is a bit redundant (the part mentioning the config will be merged)
| bring your own OpenTelemetry configs which will be merged with the NGINX Agent default config. | |
| OpenTelemetry will merge your [OpenTelemetry Config](https://opentelemetry.io/docs/collector/configuration/). The **order of the OpenTelemetry config files matters**, the last config in the list will take priority over others listed if they have the same value configured. | |
| bring your own [OpenTelemetry configs](https://opentelemetry.io/docs/collector/configuration/) which will be merged with the NGINX Agent default config. | |
| The **order of the OpenTelemetry config files matters**: the last config in the list will take priority over others listed, if they have the same value configured. |
| To have NGINX Agent use your own OpenTelemetry config: | ||
| 1. Edit the configuration file `sudo vim /etc/nginx-agent/nginx-agent.conf` |
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.
| 1. Edit the configuration file `sudo vim /etc/nginx-agent/nginx-agent.conf` | |
| 1. Edit the configuration file as root `vim /etc/nginx-agent/nginx-agent.conf` |
| ### Troubleshooting | ||
| To view the merged OpenTelemetry configuration set the Agent log level to debug in `/etc/nginx-agent/nginx-agent.conf` and restart NGINX Agent |
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.
| To view the merged OpenTelemetry configuration set the Agent log level to debug in `/etc/nginx-agent/nginx-agent.conf` and restart NGINX Agent | |
| To view the merged OpenTelemetry configuration set the NGINX Agent log level to "debug" in `/etc/nginx-agent/nginx-agent.conf`, and restart NGINX Agent: |
| 1. Edit the configuration file `sudo vim /etc/nginx-agent/nginx-agent.conf` | ||
| 2. Change the log property | ||
| ```yaml | ||
| log: | ||
| level: debug | ||
| ``` | ||
| 3. Restart NGINX Agent | ||
| 4. View merged OpenTelemetry configuration `cat /var/lib/nginx-agent/opentelemetry-collector-agent-debug.yaml` |
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.
| 1. Edit the configuration file `sudo vim /etc/nginx-agent/nginx-agent.conf` | |
| 2. Change the log property | |
| ```yaml | |
| log: | |
| level: debug | |
| ``` | |
| 3. Restart NGINX Agent | |
| 4. View merged OpenTelemetry configuration `cat /var/lib/nginx-agent/opentelemetry-collector-agent-debug.yaml` | |
| 1. Edit the configuration file `sudo vim /etc/nginx-agent/nginx-agent.conf` | |
| 1. Change the log property | |
| ```yaml | |
| log: | |
| level: debug | |
| ``` | |
| 1. Restart NGINX Agent, run as root: | |
| ```shell | |
| systemctl restart nginx-agent | |
| ``` | |
| 1. View the merged OpenTelemetry configuration `cat /var/lib/nginx-agent/opentelemetry-collector-agent-debug.yaml` |
Proposed changes
Add section to OpenTelemetry Metrics on how to use a custom OpenTelemetry config with NGINX Agent.
A new feature will be added to the Agent where a user can bring there own OpenTelemetry config which will be merged with the Agents default config. This change documents how to use this feature and how to debug any issues the user might have with it.
This feature will be released in Agent 3.5 release
Checklist
Before sharing this pull request, I completed the following checklist:
Footnotes
Potentially sensitive information includes personally identify information (PII), authentication credentials, and live URLs. Refer to the style guide for guidance about placeholder content. ↩