Skip to content

[nginx_otel] Dashboard filters accumulate across tab navigation, breaking Request Health #20089

Description

@michaz

Navigating the tab bar between the three [Nginx OTel] dashboards leaves them broken, because dataset scope is enforced via a removable app-state filter that the Links panel carries over and never clears.

Repro

Open Request Health (works) → Server Internals (works) → back to Request Health → the log panels show no data.

Cause

  1. Each dashboard scopes data with a dashboard-level data_stream.dataset filter pill (not inside the Lens queries):
    • Request Health: ∈ {nginx.access.otel, nginx.error.otel, nginxreceiver.otel} (bool-should)
    • Server Internals: = nginxreceiver.otel (match_phrase)
    • Traffic & Capacity: ∈ {nginx.access.otel, nginxreceiver.otel} (bool-should)
  2. The tab bar is a Links panel; its dashboard links use the default useCurrentFilters: true, so navigating carries the current filter pills to the destination.
  3. Source and destination filters share meta.key = data_stream.dataset but differ in shape (bool-should vs match_phrase), so Kibana stacks them instead of deduping → they get AND-ed together.

Returning to Request Health leaves = nginxreceiver.otel AND ∈ {access, error, nginxreceiver}, whose intersection is nginxreceiver.otel only. Request Health's panels query the nginx.access / nginx.error log datasets, so they now match nothing. Server Internals masks the bug because its panels are the nginxreceiver metrics.

Confirmed against packages/nginx_otel/kibana/dashboard/*.json on main.

Suggested fix

  • Scope each Lens layer by dataset in its own query, rather than relying on a removable app-state filter; and/or
  • Set useCurrentFilters: false on the Links panel's dashboard links so navigation doesn't carry filters over.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions