Skip to main content
This page shows you how to set up an OpenTelemetry Collector that receives this organisation’s security events and forwards them to your SIEM. There is one setup for each of Splunk, Microsoft Sentinel, Elastic and QRadar. They all share the same receiving half. The product sends standard OpenTelemetry logs, so there is nothing product-specific to install. You need the Collector’s contrib distribution, otelcol-contrib, which includes an exporter for each SIEM below. These configurations were tested with version 0.162.0.
The exporters belong to their vendors. Each vendor maintains its own exporter and changes it on its own schedule. If a setting below stops being accepted, check that exporter’s page in the Collector contrib repository. It will be more up to date than this page.

The receiving half

Every setup below starts with this. It accepts OTLP over HTTPS and turns away any request without the right token:
Make up a long random token and give it to the Collector as ASSET_INFINITY_STREAM_TOKEN. Then, on Security events: The address must start with https:// and be reachable from the internet. The certificate must be one a public client trusts, because the product will not send to a certificate it cannot verify. Each setup below adds an exporters section and a service section to this. Save both halves in one file, or pass them as two files with two --config options.

Splunk

The splunk_hec exporter sends to Splunk’s HTTP Event Collector. In Splunk, create an HTTP Event Collector token that can write to the index you want to use. Then add:
Each event arrives with the sentence as the event text, and with every attribute as an indexed field:

Microsoft Sentinel

The azuremonitor exporter sends to Application Insights. Create a workspace-based Application Insights resource in the Log Analytics workspace that Sentinel uses, and copy its connection string. Then add:
Events land in the workspace’s AppTraces table. The sentence is in Message, and every attribute is in Properties. Analytics rules query them like any other table:
If your team already sends syslog to Sentinel through the Azure Monitor Agent, the QRadar setup works too. Point it at the agent’s syslog port instead.

Elastic

The elasticsearch exporter writes to Elasticsearch, including Elastic Cloud. Create an API key that can write to logs-* data streams. Then add:
Events are written to the logs-generic.otel-default data stream in the OpenTelemetry layout. Record attributes are under attributes, and the organisation is under resource.attributes:

QRadar and other syslog SIEMs

The syslog exporter sends RFC 5424 syslog over TLS. It does not send the event itself, only a few named attributes. So a transform processor first gives each event a syslog shape:
  • the product as the app name
  • the organisation’s code as the host name
  • the event type as the message ID
  • a key=value line as the message
processors is written out again here because this adds to the one in the receiving half. Merge the two, keeping batch. QRadar receives lines like this one:
In QRadar, add a log source for the Collector that uses the TLS Syslog protocol. Then map src and user as custom properties, so rules can use them.

A SIEM that accepts OpenTelemetry directly

Some SIEMs and log platforms accept OTLP over HTTPS themselves. For one of those, you don’t need a Collector. Put the platform’s OTLP logs address, header and credential straight into Security events.

Sending only the security events

Changes to data are most of the trail. If your SIEM should receive only sign-ins, refusals and lockouts, add a filter before the exporter. It drops every event whose type starts with RECORD_:
Add filter/security-only to the start of the pipeline’s processors list.

What each event carries

Each event is one OpenTelemetry log record. Its body is the one-line sentence, such as “Locked after 5 failed sign-ins, until 2026-09-30 14:05 UTC”. Its event name is asset_infinity.audit. followed by the event type. Its severity is always INFO, because an audit event records what happened, and your SIEM’s own rules decide which events matter. Attributes follow the OpenTelemetry semantic conventions where one exists. Everything else is under asset_infinity.. An attribute that has no value for a particular event is left out, not sent empty. Three resource attributes say where every event in a request came from:

Checking it works

  1. Start the Collector with your configuration.
  2. On Security events, save the address, header and credential. Tick Send events to this collector.
  3. Click Send a test event. The event reads “Test event from Asset Infinity. If this reached your SIEM, the stream is connected.” Search your SIEM for it.
If the test is refused, the reason from your Collector appears under the form: A test that is accepted but never shows up in your SIEM is a problem between the Collector and the SIEM. The Collector’s own log will say which.