Skip to main content

SolarWinds

NudgeBee integrates with SolarWinds Observability SaaS (SWO) to query logs, metrics, and APM traces from your SolarWinds environment. This lets NudgeBee surface correlated telemetry during incident investigation without moving data out of your SolarWinds account.


Prerequisites

Before configuring the integration, ensure you have:

  • A SolarWinds Observability SaaS account
  • A SolarWinds API Access Token (see Step 1 — this is different from an Ingestion token)
  • Your account's data center region

Step 1: Create a SolarWinds API Access Token

NudgeBee queries SolarWinds using an API Access Token (not an Ingestion/OTLP token). Using the wrong token type will result in a 403 permission error.

  1. In SolarWinds, go to Settings > API Tokens
  2. Click Add API Token
  3. Set the token type to API Access (not Ingestion)
  4. Give it a name — e.g., nudgebee-integration
  5. Copy the generated token value

Reference: SolarWinds API Tokens documentation


Step 2: Configure the Integration in NudgeBee

Navigate to Integrations > Observability tab and select SolarWinds to open the configuration form.

Configuration Fields

  • Integration Config Name

    • A descriptive label for this integration (e.g., Production SolarWinds).
    • Useful when managing multiple SolarWinds integrations.
  • Account Id

    • Select the NudgeBee account to link with this SolarWinds integration from the dropdown.
  • API Token * (Required)

    • The API Access Token generated in Step 1.
    • NudgeBee validates the token on save by calling /v1/metrics?pageSize=1.
    • 401 = token is invalid or expired. 403 = wrong token type (Ingestion instead of API Access).
  • Data Center * (Required)

    • The region where your SolarWinds account is hosted. Select from the dropdown:
    OptionRegionAPI Base URL
    na-01North America 1 (default)api.na-01.cloud.solarwinds.com
    na-02North America 2api.na-02.cloud.solarwinds.com
    eu-01Europeapi.eu-01.cloud.solarwinds.com
    ap-01Asia Pacificapi.ap-01.cloud.solarwinds.com
    • To find your region: check the URL in your browser when logged in to SolarWinds (e.g., na-01.cloud.solarwinds.com).
  • Default Log Provider

    • Toggle on to make SolarWinds the default log source for all NudgeBee queries.
  • Default Metrics Provider

    • Toggle on to make SolarWinds the default metrics source.
  • Default Traces Provider

    • Toggle on to make SolarWinds the default APM trace source.

What Gets Connected

Once configured, NudgeBee queries three signal types from the SolarWinds API:

SignalSolarWinds APINotes
LogsGET /v1/logsSyslog-format entries with hostname, severity, program
MetricsGET /v1/metrics/{metricName}/measurementsTime-series with OTel attribute grouping
Traces (APM)GET /v1/metrics/trace.service.traced_response_time/measurementsPer-request response times from APM

Log Field Mappings

NudgeBee Filter FieldSolarWinds Field
messagemessage
severityseverity
podhostname
containerprogram
timestamptime

Note: SolarWinds logs do not include a native namespace field. NudgeBee resolves namespace context via the Entities API (/v1/entities?type=KubernetesPod).

Supported log filter operators: exact match, wildcard (*value*), negation (-), boolean (AND/OR), comparison (>, >=, <, <=), IN lists, IS EMPTY, IS NOT EMPTY

Metrics Available

NudgeBee queries these Kubernetes metric families from SolarWinds:

CategoryMetric
Node CPUk8s.node.cpu.usage.seconds.rate
Node Memoryk8s.node.memory.working_set
Node Capacityk8s.node.cpu.allocatable, k8s.node.memory.allocatable
Node Filesystemk8s.node.fs.usage
Pod CPUk8s.pod.cpu.usage.seconds.rate
Pod Memoryk8s.pod.memory.working_set
Container Requestsk8s.container.spec.cpu.requests, k8s.container.spec.memory.requests
Container Limitsk8s.container.spec.cpu.limit, k8s.container.spec.memory.limit
Cluster Totalsk8s.cluster.spec.cpu.requests, k8s.cluster.spec.memory.requests
APM Throughputtrace.service.traced_response_time

Metrics support aggregations: AVG (default), MAX, MIN, SUM, COUNT.

Trace Field Mappings (APM)

SolarWinds traces are accessed through the APM metrics API using per-request trace.service.traced_response_time measurements:

NudgeBee FieldSolarWinds Attribute
workload_nameservice.name
span_namesw.transaction
status_codeotel.status_code (UNSET, OK, ERROR)

APM Limitations:

  • No individual span/trace ID queries — traces are aggregated per service and transaction
  • P95/P99 percentile latency is not available; only AVG, COUNT, MAX are supported
  • Filter operators OR and NOT are not supported for trace queries

Kubernetes Data Collection Setup

For NudgeBee to query your Kubernetes telemetry from SolarWinds, your cluster must be sending data via the SolarWinds Kubernetes agent.

Data flow:

Kubernetes cluster


SolarWinds Kubernetes Agent (OTel-based)


SolarWinds Observability SaaS ←── NudgeBee queries via API

Setup steps:

  1. Log in to SolarWinds Observability and navigate to Add Data > Kubernetes
  2. Follow the guided setup to deploy the SolarWinds agent via Helm or YAML manifest
  3. The agent automatically collects:
    • Node and pod CPU/memory metrics (via kube-state-metrics and cAdvisor)
    • Container logs (forwarded as syslog-format entries)
    • APM traces (if you instrument your services with OpenTelemetry)
  4. Verify data appears in SolarWinds under Infrastructure > Kubernetes within a few minutes

Reference: SolarWinds Kubernetes Monitoring setup


Verify the Integration

  1. Save the configuration. A validation call to /v1/metrics?pageSize=1 runs automatically. Resolve any 401/403 errors before proceeding.
  2. Navigate to any Kubernetes workload in NudgeBee.
  3. Open the Logs tab — confirm pod logs from SolarWinds appear.
  4. Open the Metrics tab — confirm CPU and memory metrics are populated.
  5. Open the Traces tab — confirm APM response time data appears (requires OTel-instrumented services).

Notes

  • Token type matters: NudgeBee requires an API Access token, not an Ingestion token. A 403 error typically means you used the wrong type.
  • Logs and namespace: SolarWinds syslog entries do not carry a Kubernetes namespace field. NudgeBee resolves namespace from the Entities API automatically.
  • APM traces: SolarWinds does not expose individual span queries. NudgeBee uses the trace.service.traced_response_time metric for trace grouping and latency data.
  • Pagination: All queries use cursor-based pagination (skipToken) with a maximum of 50 pages per query to prevent runaway requests.
  • Metric aggregations: Aggregation type names are case-sensitive in the SolarWinds API — always uppercase (e.g., AVG, not avg).
  • To receive SolarWinds alerts as NudgeBee incidents, see the SolarWinds Webhook integration.