Skip to main content
The collector receives HSM syslog on a UDP port, parses each message into fields, and exports the result to Observe over OTLP. Deploy the collector before you enable forwarding on the HSM. UDP is best effort, so any message the HSM sends before the listener exists is lost.

Use the udplog receiver, not the syslog receiver

The HSM emits a non-standard RFC 3164 variant with no hostname field and no tag field. The collector’s syslog receiver accepts these messages without reporting an error, but it discards the useful structure: it produces no hostname and collapses the entire event into one string. This guide therefore takes the raw datagram with the udplog receiver and applies an explicit regular expression. For the message anatomy and a side-by-side comparison of both approaches, see Appendix A: Futurex syslog message format.
If you configure the syslog receiver with protocol: rfc3164, the integration appears to work. Records reach Observe and no errors appear in the collector log. Only when you try to filter or chart the data do you discover that device, service, level, and event are all trapped inside a single unparsed string.

Configuration

Save the following as otel-collector.yaml. Change listen_address if you chose a different port.
Collector versions from v0.159.0 onward log a deprecation warning for the otlphttp exporter name and prefer otlp_http. The otlphttp name still works and remains compatible with older collectors, so this guide keeps it. If you standardize on a recent collector, rename it.
The memory_limiter processor must be listed first in the pipeline so that it can reject data before other processors allocate memory.

Run the collector

Both methods below read the token from the environment so it never appears in the configuration file.

Docker

Pin the image tag rather than using latest, so a future release cannot change parsing behavior without your knowledge.

systemd

Install the Contrib binary, then create /etc/systemd/system/otelcol-observe.service:
Enable and start it:

Confirm the collector started

The receiver logs a line confirming the stanza receiver started. If the collector exits immediately, the configuration failed to load. Check for indentation errors and confirm you are running the Contrib distribution, because the core distribution has no udplog receiver.

Restrict access to the listener

The syslog listener accepts unauthenticated UDP from any host that can reach it. Restrict it to the HSM addresses at the host firewall. For example, with firewalld:
Replace 10.0.0.10 with the address of each HSM that forwards logs.