On This Page

Home / Stream/ Integrations/ Sources/Sysdig Cloud NSS Source

Sysdig Cloud NSS Source

Cribl Stream supports receiving CSV and raw JSON data from Sysdig Cloud Network Security Services (Cloud NSS) over the HTTP Event Collector (HEC) protocol. This Source supports Cloud NSS HEC feeds, but it doesn’t support Syslog NSS feeds.

Type: Push | TLS Support: Yes | Event Breaker Support: No

Prerequisites

Ensure your firewall allows inbound traffic from Sysdig’s region-specific outbound IP addresses. For the full list, see SaaS Regions and IP Ranges in the Sysdig documentation.

Configure Cribl Stream to receive data from Sysdig Cloud NSS

  1. On the top bar, select Products, and then select Cribl Stream. Under Worker Groups, select a Worker Group. Next, you have two options:
    • To configure via QuickConnect, navigate to Routing > QuickConnect. Select Add Source and select the Source you want from the list, choosing either Select Existing or Add New.
    • To configure via the Routes, select Data > Sources. Select Sysdig Cloud NSS, and then select Add Source.
  2. In the New Source modal, configure the following under General Settings:
    • Input ID: Enter a unique name to identify this Source definition. If you clone this Source, Cribl Stream adds -CLONE to the original Input ID.
    • Enabled: Toggle on to enable this Source. Defaults to toggled on.
    • Description: Enter a description for this Source.
    • Address: Enter the hostname or IP address on which to listen for HTTP or HTTPS data. Defaults to 0.0.0.0. Supports IPv4 and IPv6 addresses.
    • Port: Enter the port number on which to listen.
    • HEC endpoint: Enter the absolute path on which to listen for Sysdig HEC API requests. The path must begin with /. Defaults to /services/collector. This Source supports the /event and /raw endpoints.
  3. Optionally, configure the following:
    • Allowed indexes: Enter values to allow in the HEC event index field. Supports wildcards. Leave blank to skip validation. These values can expand index validation at the token level.
    • Tags: Add tags that you can use to filter and group Sources. These tags aren’t added to processed events.
  4. Optionally, adjust the TLS, Persistent Queue, Processing, Auth Tokens, and Advanced settings, or Connected Destinations.
  5. Select Save, then Commit & Deploy.

TLS Settings (Server Side)

Enabled: Toggle on to enable Transport Layer Security (TLS). Defaults to toggled off. When toggled on, configure these settings:

  • Certificate: Select an existing certificate name from the drop-down, or add a new certificate by selecting Create. See Add a TLS Certificate to a Worker Group for details.
  • Private key path: Enter the server path containing the private key in Privacy-Enhanced Mail (PEM) format. You can reference $ENV_VARS.
  • Passphrase: Enter the passphrase used to decrypt the private key.
  • Certificate path: Enter the server path containing certificates in PEM format. You can reference $ENV_VARS.
  • CA certificate path: Enter the server path containing certificate authority (CA) certificates in PEM format. You can reference $ENV_VARS.
  • Authenticate client (mutual auth): Toggle on to require clients to present their certificates. Defaults to toggled off. When toggled on:
    • Validate client certificates: Toggle on to reject certificates that aren’t authorized by a CA in the CA certificate path or by another trusted CA. Defaults to toggled on.
    • Common name: Enter a regex that matches allowable common names in peer certificates’ subject attributes. Defaults to /.*/.
  • Minimum TLS version: Select the minimum TLS version to accept.
  • Maximum TLS version: Select the maximum TLS version to accept.

Persistent Queue Settings

In the Persistent Queue Settings tab, you can optionally specify persistent queue storage, using the following controls. Persistent queue buffers and preserves incoming events when a downstream Destination has an outage or experiences backpressure.

Before enabling persistent queue, learn more about persistent queue behavior and how to optimize it with your system:

On Cribl-managed Cloud Workers (with an Enterprise plan), this tab exposes only the Enable persistent queue toggle. If enabled, PQ is automatically configured in Always On mode, with a maximum queue size of 1 GB disk space allocated per PQ-enabled Source, per Worker Process.

The 1 GB limit is on uncompressed inbound data, and the queue does not perform any compression. This limit is not configurable. For configurable queue size, compression, mode, and other options below, use a hybrid Group.

All other settings described in this section apply to on-prem and hybrid deployments only.

Enable persistent queue: Default is toggled off. When toggled on:

Mode: Select a condition for engaging persistent queues.

  • Always On: This default option will always write events to the persistent queue, before forwarding them to the Cribl Stream data processing engine.
  • Smart: This option will engage PQ only when the Source detects backpressure from the Cribl Stream data processing engine. Smart mode only engages when necessary, such as when a downstream Destination becomes blocked and the Buffer size limit reaches its limit. When persistent queue is set to Smart mode, Cribl Stream attempts to flush the queue when every new event arrives. The only time events stay in the buffer is when a downstream Destination becomes blocked.

Deprecation Notice

To improve data integrity, Smart mode is deprecated for Source persistent queue on hybrid and on-prem deployments. In January 2027, affected configurations will automatically migrate to Always On mode. Consider updating existing configurations to Always On mode prior to the automatic migration date. Before changing the configuration:

Buffer size limit (bytes): The maximum memory to buffer events before flushing them to persistent queue on disk. Enter a value with a unit suffix. For example: 64KB, 1MB, or 10MB. Spaces between the number and unit are allowed (such as 64 KB). Units are case-insensitive. Plain byte values (like 65536) are accepted, but decimals (like 0.5MB) are not. The valid range is 64KB to 10MB. Values outside this range are rounded to the nearest limit. Defaults to 1MB.

Deprecation Notice

The Buffer size limit (bytes) setting replaces the deprecated Max buffer size setting to provide more predictable memory management in version 4.18.0. The Max buffer size setting will be removed in version 4.19.1. For upgraded Worker Groups and Fleets, the new byte-based limit defaults to 1MB. Update your configurations to the new byte-based limit to ensure optimal memory stability.

Commit frequency: The number of events to send downstream before committing that Cribl Stream has read them. Defaults to 42.

File size limit: The maximum data volume to store in each queue file before closing it and (optionally) applying the configured Compression. Enter a numeral with units of KB, MB, and so on. If not specified, Cribl Stream applies the default 10 MB. When you save the configuration, File size limit must be greater than or equal to Buffer size limit (bytes). Cribl Stream rejects invalid combinations.

Queue size limit: The maximum amount of disk space that the queue is allowed to consume on each Worker Process. Once this limit is reached, this Source stops queueing data and applies the Queue-full behavior. Required, and defaults to 5 GB. Accepts positive numbers with units of KB, MB, GB, and so on. Can be set as high as 1 TB, unless you’ve configured a different Worker Process PQ size limit in Group or Fleet settings.

Queue file path: The location for the persistent queue files. Defaults to $CRIBL_HOME/state/queues. To this field’s specified path, Cribl Stream appends /<worker-id>/inputs/<input-id>.

Compression: Optional codec to compress the persisted data after a file closes. Defaults to None; Gzip is also available.

Queue-full behavior: Whether to block or drop events when the queue begins to exert backpressure. A queue begins to exert backpressure when the disk is low or at full capacity.

  • Block (Default): Does not accept new data until the queue has capacity. When the sender supports backpressure signaling, Cribl Stream returns block signals to the sender.
  • Drop new data: Discards incoming events while leaving the contents of the persistent queue unchanged.

In Cribl Stream 4.1 and newer, the Source persistent queue default Mode is Always on, to best ensure events’ delivery. For details on optimizing this selection, see Optimize Source Persistent Queues.

You can optimize Workers’ startup connections and CPU load at Group/Fleet settings > Worker Processes.

Processing Settings

Fields

Add fields to each event using Eval-like functionality:

  • Field Name: Enter the field name.
  • Value: Enter a JavaScript expression that determines the field’s value.

Fields configured here can be overridden by fields added at the token or request level.

Pre-Processing

From the Pipeline list, select one Pipeline or Pack to process data before sending it through Routes.

Auth Tokens

Add one or more tokens that Sysdig can use to authenticate. If you don’t configure a token, the Source permits unauthorized access.

Authentication method: Select Secret to use a text secret. This Source doesn’t support manually entered tokens.

Token secret (text secret): Select an existing text secret or select Create text secret to create a new one.

Enable token: Toggle on to allow client access with this token. Defaults to toggled on.

Description: Enter a description for the token. The description becomes the token’s display name.

Allowed indexes: Enter the index values permitted for events ingested with this token. Supports multiple values and wildcards.

Fields: Add fields to events that reference this token. Each field is a Field Name and Value pair. These fields can be overridden by fields at the request level.

Advanced Settings

Emit per-token request metrics: Toggle on to emit per-token <prefix>.http.perToken and summary <prefix>.http.summary request metrics. Defaults to toggled off.

Show originating IP: Toggle on to extract the client IP address and port from PROXY protocol v1 or v2. When enabled, Cribl Stream ignores the X-Forwarded-For header. Defaults to toggled off.

Capture request headers: Toggle on to add request headers to events in the __headers field. Defaults to toggled off.

CORS allowed origins: Enter HTTP origins to which Cribl Stream sends Cross-Origin Resource Sharing (CORS) Access-Control-Allow-* headers. Supports wildcards.

CORS allowed headers: Enter HTTP headers that Cribl Stream sends to allowed origins as Access-Control-Allow-Headers in a CORS preflight response. Enter * to allow all headers.

Active request limit: Enter the maximum number of active requests allowed per Worker Process. Defaults to 256. Enter 0 for unlimited. This setting is available only for on-prem deployments.

Activity log sample rate: Enter how often Cribl Stream logs request activity at the info level. Defaults to 100, which logs every 100th request. The minimum value is 1.

Requests-per-socket limit: Enter the maximum number of requests allowed per socket before Cribl Stream instructs the client to close the connection. Defaults to 0, which allows unlimited requests.

Socket timeout (seconds): Enter how long Cribl Stream waits before treating an inactive socket as timed out. Defaults to 0, which waits indefinitely.

Request timeout (seconds): Enter how long Cribl Stream waits for an incoming request to complete before aborting it. Defaults to 0, which disables the timeout.

Keep-alive timeout (seconds): Enter how long Cribl Stream waits for more data after sending the last response. Defaults to 5 seconds. The minimum is 1 second, and the maximum is 600 seconds.

IP allowlist regex: Enter a regex that matches IP addresses whose messages Cribl Stream processes, unless the denylist also matches. Defaults to /.*/.

IP denylist regex: Enter a regex that matches IP addresses whose messages Cribl Stream ignores. The denylist takes precedence over the allowlist. Defaults to /^$/.

Environment: If you’re using GitOps, enter the Git branch on which to enable this configuration. Leave blank to enable the configuration everywhere.

Connected Destinations

Select Send to Routes to enable conditional routing, filtering, and cloning of this Source’s data via the Routing table.

Select QuickConnect to send this Source’s data to one or more Destinations via independent, direct connections.

Configure Sysdig Cloud NSS to forward data

After configuring this Source, create a Cloud NSS HEC feed in Sysdig Secure:

  • Set API URL to http(s)://<host>:<port><hec-endpoint>. Replace <host>, <port>, and <hec-endpoint> with the values you configured for this Source. Use https:// if you enabled TLS on this Source.
  • Set the Authorization request header to a token you created in the Auth Tokens settings.

Send data to the HEC endpoints

This Source supports the HEC /event and /raw endpoints. It doesn’t support HEC indexer acknowledgements.

Append an endpoint to the configured HEC endpoint path:

  • Send structured HEC JSON events to /event.
  • Send CSV or raw JSON data to /raw.

The Source doesn’t expose the /ack endpoint because Sysdig Cloud NSS doesn’t support HEC indexer acknowledgements.

Internal Fields

Cribl Stream uses internal fields to help process data from this Source:

  • __headers: Contains request headers when Capture request headers is toggled on.
  • __hecToken: Contains the HEC token associated with the event.
  • __inputId: Identifies the Source in the format sysdig_hec:<input-id>.
  • __ctrlFields: Contains fields used internally to control event processing.
  • __srcIpPort: Contains the source IP address and port.
  • __TZ: Contains time zone information used while processing the event.

Troubleshooting

The Source’s configuration modal has helpful tabs for troubleshooting:

Live Data: Try capturing live data to see real-time events as they are ingested. On the Live Data tab, click Start Capture to begin viewing real-time data.

Logs: Review and search the logs that provide detailed information about the ingestion process, including any errors or warnings that may have occurred.

You can also view the Monitoring page that provides a comprehensive overview of data volume and rate, helping you identify ingestion issues. Analyze the graphs showing events and bytes in/out over time.

Common Issues

“Missing required option: hecAPI!”

Configure HEC endpoint with an absolute path that begins with /. The default path is /services/collector.

“ACK is disabled”

Sysdig Cloud NSS doesn’t support HEC indexer acknowledgements. Send data to the /event or /raw endpoint without requesting acknowledgements.