Skip to main content
Squasher has no Splunk HEC endpoint, so a HEC client cannot send to Squasher directly. Put an OpenTelemetry Collector in the middle: it receives HEC events and sends them to Squasher over OTLP.

What moves and what does not

Run both tools side by side

The Collector can send each event to Squasher and to Splunk. Point your HEC clients at the Collector, and keep the splunk_hec exporter in the config below until you turn off Splunk.

Switch the endpoint

1

Configure the Collector

Use a recent otelcol-contrib build. It includes the splunk_hec receiver and exporter.
otel-collector-config.yaml
The transform reads the level from a HEC field named level. Change the condition to match where your events keep it. Squasher opens issues for logs at ERROR or FATAL.
2

Start the Collector

Set SQUASHER_API_KEY and SPLUNK_HEC_TOKEN in the Collector’s environment, then start it:
3

Point your HEC clients at the Collector

Change the HEC URL in each client from Splunk to the Collector, for example http://otel-collector:8088/services/collector/event. Keep the Authorization: Splunk ... header. The clients do not need other changes.
4

Send a test event

Select Logs in the Squasher sidebar to see the log, then Issues to see the issue.
By default, the splunk_hec receiver does not check HEC tokens. Run the Collector on a private network, or put it behind a proxy that checks them.

Check parity

Compare Splunk and Squasher for at least one week that includes a deploy:
  • The number of events per sourcetype each hour.
  • The events at error level, and the issues that they opened in Squasher.
  • The host.name and com.splunk.sourcetype values on the logs.

Turn off Splunk

  1. Recreate the Splunk alerts that you need as monitors and notification routes.
  2. Remove the splunk_hec exporter from the Collector, and restart it.
  3. Remove the HEC tokens that no client uses anymore.

Next steps

OpenTelemetry

Send logs, traces, and metrics over OTLP.

HTTP API

Post JSON logs to Squasher without a Collector.

Add monitors

Open incidents from log queries and checks.

Set up notifications

Send incidents to Slack, email, or PagerDuty.