-
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?
Changes from all commits
08e1f5b
b94a78d
5c7c341
ddc8ae1
53ea4f4
ee37fac
003ab0d
93b8bbe
28de80a
110fbdc
72306ae
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -39,3 +39,195 @@ You can validate that metrics are successfully exported by using the methods bel | |||||||||||||||||||||||||||||||
| ```text | ||||||||||||||||||||||||||||||||
| Everything is ready. Begin running and processing data. | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ### Custom OTel Configuration | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| 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](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 as root `vim /etc/nginx-agent/nginx-agent.conf` | ||||||||||||||||||||||||||||||||
| 2. Add the collector property | ||||||||||||||||||||||||||||||||
| 3. Save and restart the NGINX agent service `sudo systemctl restart nginx-agent` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
aphralG marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| collector: | ||||||||||||||||||||||||||||||||
| additional_config_paths: | ||||||||||||||||||||||||||||||||
| - "/etc/nginx-agent/my_config.yaml" | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| #### Example usage | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{< call-out "important" >}} NGINX Agent uses `/default` for naming its default processors, exporters and pipelines using the same naming in your own config might cause issues with sending metrics to your management plane {{< /call-out >}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - **Add Prometheus Exporter** | ||||||||||||||||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Needless list indentation, and bold pseudo-heading. The latter would be picked up by Markdown linting. |
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{< tabs name="prometheus-exporter" >}} | ||||||||||||||||||||||||||||||||
| {{% tab name="NGINX Plus" %}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| prometheus: | ||||||||||||||||||||||||||||||||
| endpoint: "127.0.0.1:5643" | ||||||||||||||||||||||||||||||||
| resource_to_telemetry_conversion: | ||||||||||||||||||||||||||||||||
| enabled: true | ||||||||||||||||||||||||||||||||
aphralG marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||||
| namespace: test-space | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| service: | ||||||||||||||||||||||||||||||||
| pipelines: | ||||||||||||||||||||||||||||||||
| metrics/prometheus-example-pipeline: | ||||||||||||||||||||||||||||||||
| receivers: | ||||||||||||||||||||||||||||||||
| - nginxplus | ||||||||||||||||||||||||||||||||
| processors: | ||||||||||||||||||||||||||||||||
| - resource/default | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| - prometheus | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{% /tab %}} | ||||||||||||||||||||||||||||||||
| {{% tab name="NGINX OSS" %}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| prometheus: | ||||||||||||||||||||||||||||||||
| endpoint: "127.0.0.1:5643" | ||||||||||||||||||||||||||||||||
| resource_to_telemetry_conversion: | ||||||||||||||||||||||||||||||||
| enabled: true | ||||||||||||||||||||||||||||||||
aphralG marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||||
| namespace: test-space | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| service: | ||||||||||||||||||||||||||||||||
| pipelines: | ||||||||||||||||||||||||||||||||
| metrics/prometheus-example-pipeline: | ||||||||||||||||||||||||||||||||
| receivers: | ||||||||||||||||||||||||||||||||
| - nginx | ||||||||||||||||||||||||||||||||
| processors: | ||||||||||||||||||||||||||||||||
| - resource/default | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| - prometheus | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{% /tab %}} | ||||||||||||||||||||||||||||||||
| {{< /tabs >}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Excess empty line. |
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - **Third-party OTel Collector** | ||||||||||||||||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Needless list indentation, and bold pseudo-heading. The latter would be picked up by Markdown linting. |
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{< tabs name="third-party-collector" >}} | ||||||||||||||||||||||||||||||||
| {{% tab name="NGINX Plus" %}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| otlp/local-collector: | ||||||||||||||||||||||||||||||||
| endpoint: "my-local-collector.com:443" | ||||||||||||||||||||||||||||||||
| timeout: 10s | ||||||||||||||||||||||||||||||||
| retry_on_failure: | ||||||||||||||||||||||||||||||||
| enabled: true | ||||||||||||||||||||||||||||||||
| initial_interval: 10s | ||||||||||||||||||||||||||||||||
| max_interval: 60s | ||||||||||||||||||||||||||||||||
| max_elapsed_time: 10m | ||||||||||||||||||||||||||||||||
| tls: | ||||||||||||||||||||||||||||||||
| insecure: true | ||||||||||||||||||||||||||||||||
|
Comment on lines
+125
to
+132
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| service: | ||||||||||||||||||||||||||||||||
| pipelines: | ||||||||||||||||||||||||||||||||
| metrics/otlp-example-pipeline: | ||||||||||||||||||||||||||||||||
| receivers: | ||||||||||||||||||||||||||||||||
| - nginxplus | ||||||||||||||||||||||||||||||||
| processors: | ||||||||||||||||||||||||||||||||
| - resource/default | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| - otpl/local-collector | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{% /tab %}} | ||||||||||||||||||||||||||||||||
| {{% tab name="NGINX OSS" %}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| otlp/local-collector: | ||||||||||||||||||||||||||||||||
| endpoint: "my-local-collector.com:443" | ||||||||||||||||||||||||||||||||
| timeout: 10s | ||||||||||||||||||||||||||||||||
| retry_on_failure: | ||||||||||||||||||||||||||||||||
| enabled: true | ||||||||||||||||||||||||||||||||
| initial_interval: 10s | ||||||||||||||||||||||||||||||||
| max_interval: 60s | ||||||||||||||||||||||||||||||||
| max_elapsed_time: 10m | ||||||||||||||||||||||||||||||||
| tls: | ||||||||||||||||||||||||||||||||
| insecure: true | ||||||||||||||||||||||||||||||||
|
Comment on lines
+152
to
+159
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| service: | ||||||||||||||||||||||||||||||||
| pipelines: | ||||||||||||||||||||||||||||||||
| metrics/otlp-example-pipeline: | ||||||||||||||||||||||||||||||||
| receivers: | ||||||||||||||||||||||||||||||||
| - nginx | ||||||||||||||||||||||||||||||||
| processors: | ||||||||||||||||||||||||||||||||
| - resource/default | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| - otpl/local-collector | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{% /tab %}} | ||||||||||||||||||||||||||||||||
| {{< /tabs >}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Excess empty line |
||||||||||||||||||||||||||||||||
| - **Add Debug Exporter** | ||||||||||||||||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Needless list indentation, and bold pseudo-heading. The latter would be picked up by Markdown linting. |
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{< tabs name="debug-exporter" >}} | ||||||||||||||||||||||||||||||||
| {{% tab name="NGINX Plus" %}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| debug: | ||||||||||||||||||||||||||||||||
| verbosity: detailed | ||||||||||||||||||||||||||||||||
| sampling_initial: 5 | ||||||||||||||||||||||||||||||||
| sampling_thereafter: 200 | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| service: | ||||||||||||||||||||||||||||||||
| pipelines: | ||||||||||||||||||||||||||||||||
| metrics/debug-example-pipeline: | ||||||||||||||||||||||||||||||||
| receivers: | ||||||||||||||||||||||||||||||||
| - nginxplus | ||||||||||||||||||||||||||||||||
| processors: | ||||||||||||||||||||||||||||||||
| - resource/default | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| - debug | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{% /tab %}} | ||||||||||||||||||||||||||||||||
| {{% tab name="NGINX OSS" %}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| debug: | ||||||||||||||||||||||||||||||||
| verbosity: detailed | ||||||||||||||||||||||||||||||||
| sampling_initial: 5 | ||||||||||||||||||||||||||||||||
| sampling_thereafter: 200 | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| service: | ||||||||||||||||||||||||||||||||
| pipelines: | ||||||||||||||||||||||||||||||||
| metrics/debug-example-pipeline: | ||||||||||||||||||||||||||||||||
| receivers: | ||||||||||||||||||||||||||||||||
| - nginx | ||||||||||||||||||||||||||||||||
| processors: | ||||||||||||||||||||||||||||||||
| - resource/default | ||||||||||||||||||||||||||||||||
| exporters: | ||||||||||||||||||||||||||||||||
| - debug | ||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| {{% /tab %}} | ||||||||||||||||||||||||||||||||
| {{< /tabs >}} | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
Comment on lines
+222
to
+223
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Excess empty lines |
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| ### Troubleshooting | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| 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` | ||||||||||||||||||||||||||||||||
| 1. Change the log property | ||||||||||||||||||||||||||||||||
| ```yaml | ||||||||||||||||||||||||||||||||
| log: | ||||||||||||||||||||||||||||||||
| level: debug | ||||||||||||||||||||||||||||||||
|
Comment on lines
+227
to
+233
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Not being prescriptive about editor, removing the list since it's just 2 items. |
||||||||||||||||||||||||||||||||
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.
Automatic Hugo list enumeration.