Skip to content

docs(nim): add NIM OTel setup steps to NGF security events page - #2304

Open
devbgv wants to merge 1 commit into
mainfrom
bgv-nim-otel-enable
Open

devbgv wants to merge 1 commit into
mainfrom
bgv-nim-otel-enable

Conversation

@devbgv

@devbgv devbgv commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Improves the setup experience for viewing NGINX Gateway Fabric security
events in NGINX Instance Manager by surfacing required NIM-side
configuration in the setup guide rather than only in troubleshooting.

Changes

ngf-security-events.md

Added a new Configure NGINX Instance Manager section between
Requirements and the NGF-side export steps. It covers:

  • Enabling the embedded OpenTelemetry collector (collector_config.enable: true in nms.conf)
  • Creating /etc/nms/otel-collector-config.yaml with the OTLP receiver,
    batch/secevt processors, and debug exporter pipeline
  • Restarting the NMS service
  • Verifying port 4317 (gRPC) is reachable from the Kubernetes cluster

troubleshooting.md

Updated the NGINX Gateway Fabric security events don't appear in the
dashboard
resolution to direct readers to the setup page first, making
it clear the troubleshooting checklist applies after setup is complete —
not as a substitute for it.

Previously, the only place these NIM configuration steps appeared was in
the troubleshooting guide. Users following the setup flow had no
indication that OTel needed to be explicitly enabled and configured on
the NIM side, leading to a broken experience that only surfaced at
troubleshooting time.

Move NIM-side OpenTelemetry configuration from troubleshooting into the
setup guide for viewing NGINX Gateway Fabric security events. Add step
to create /etc/nms/otel-collector-config.yaml with the OTLP receiver
pipeline. Update troubleshooting section to reference the setup page.
@devbgv
devbgv requested a review from a team as a code owner September 22, 2026 05:08
@github-actions github-actions Bot added documentation Improvements or additions to documentation product/nim Issues related to NGINX Instance Manager labels Sep 22, 2026
@github-actions

Copy link
Copy Markdown

Deploy Preview will be available once build job completes!

Name Link
😎 Deploy Preview https://frontdoor-test-docs.nginx.com/previews/docs/2304/

### Resolution

Check the following on NGINX Instance Manager, in order:
First, make sure you've completed all NIM-side setup steps described in [Configure NGINX Instance Manager]({{< ref "/nim/security-monitoring/ngf-security-events.md#configure-nginx-instance-manager" >}}), including enabling the OpenTelemetry collector and creating the collector configuration file.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

f5-product-names, enable-disable, sentence-length: "NIM-side" abbreviates a product name — don't abbreviate NGINX product names. "enabling" should read "turning on" to match how both pages describe this collector as "turned on". The sentence also runs past the 20-word task limit, so split it:

First, complete the setup steps on NGINX Instance Manager. See [Configure NGINX Instance Manager]({{< ref "/nim/security-monitoring/ngf-security-events.md#configure-nginx-instance-manager" >}}). These include turning on the OpenTelemetry collector and creating the collector configuration file.


Before NGINX Gateway Fabric can send security events to NGINX Instance Manager, configure NGINX Instance Manager to receive them.

### Enable the OpenTelemetry collector

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

enable-disable: use "turn on" instead of "enable". The troubleshooting page describes this same collector as "turned on", so this heading reads better as Turn on the OpenTelemetry collector. Leave the collector_config.enable: true config value unchanged, since it must match the config key.

logs:
receivers: [otlp]
processors: [batch, secevt]
exporters: [debug]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technical accuracy, for a subject matter expert to confirm (flagged separately from style): this pipeline's only exporter is debug, which writes events to the collector's log output. The page's stated outcome is that events appear in the Security Dashboard. Confirm whether the secevt processor delivers events to Security Monitoring on its own, or whether the pipeline also needs an exporter that forwards events to NGINX Instance Manager. As written, someone who copies this config may see events logged but not shown in the dashboard.

@promptless

promptless Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

This pull request adds a Configure NGINX Instance Manager section to the NGINX Gateway Fabric security events page and repoints the troubleshooting resolution to it.

Style findings

  • f5-product-names: troubleshooting.md uses "NIM-side". Don't abbreviate NGINX product names — write "NGINX Instance Manager".
  • enable-disable: the heading "Enable the OpenTelemetry collector" and the phrase "enabling the OpenTelemetry collector" should use "turn on", matching how both pages already describe the collector as "turned on". The collector_config.enable: true config value stays as-is.
  • sentence-length: the new troubleshooting intro sentence runs past the 20-word task limit. Split it (see the inline suggestion).
  • Minor: ngf-security-events.md adds a --- horizontal rule before Set up event export from NGINX Gateway Fabric, but the page separates its other sections with headings alone. Consider removing it.

Technical accuracy

  1. The OTel pipeline exports only to debug, which logs events rather than forwarding them, but the page states events appear in the Security Dashboard. Confirm whether the secevt processor delivers events to Security Monitoring on its own, or whether the pipeline needs an exporter that sends to NGINX Instance Manager.
  2. Confirm the NGINX Instance Manager configuration against NIM 2.23: the collector_config.enable key in /etc/nms/nms.conf, the structure of /etc/nms/otel-collector-config.yaml (OTLP receiver on ports 4317/4318, batch and secevt processors), and sudo systemctl restart nms. This review couldn't check them against an available product source.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation product/nim Issues related to NGINX Instance Manager

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant