Troubleshoot the Sekoia.io Forwarder
Use this procedure when the Sekoia.io Forwarder is not receiving events, does not forward events, or fails to start. Check the local configuration and input traffic first, then verify the connection to the Sekoia regional endpoint.
Prerequisites
Before you start, make sure that:
- You have access to the forwarder host with
sudoprivileges. - You can read
docker-compose.ymlandintakes.yaml. - You know the source IP address, destination port, and protocol used by the affected log source.
Check the forwarder version
Sekoia releases new forwarder images regularly. Check the image tag in docker-compose.yml and compare it with the available versions in the GitHub Container Registry.
Check that the forwarder receives events
-
Enable debug logging for the affected intake in
intakes.yaml:- name: Techno2 protocol: tcp port: 20517 intake_key: INTAKE_KEY_FOR_TECHNO_2 debug: True -
Recreate the container:
sudo docker compose down sudo docker compose up -d -
Stream logs for the affected intake:
sudo docker compose logs -f | grep "YOUR_INTAKE_KEY"
If no events appear, check the following:
intakes.yamldeclares the protocol and port used by the source.- The same port is exposed in the
portssection ofdocker-compose.yml. For example, a port range from25020to25023requires at least"25020-25023:25020-25023". - A firewall allows traffic from the log source to the forwarder.
- The source sends events to the correct forwarder IP address and port.
To check whether traffic reaches the host, run:
sudo tcpdump -c 10 -nn src <remote_ip> -vv
Disable debug logging after testing.
Check for malformed Syslog messages
The Forwarder may receive an event but parse it incorrectly when the source sends an invalid or unexpected Syslog header. In this case, part of the message payload may be interpreted as the Syslog header, and the event may appear with a warning or error status.
-
Temporarily enable debug logging for the affected intake in
intakes.yaml:- name: Techno2 protocol: tcp port: 20517 intake_key: INTAKE_KEY_FOR_TECHNO_2 debug: True -
Recreate the container and inspect the input and output logs:
sudo docker compose down sudo docker compose up -d sudo docker compose logs -f -
Compare the message received in the
[Input INTAKE_KEY]log with the message sent in the[Output INTAKE_KEY]log. -
In Sekoia.io, inspect the native Syslog fields of the event and compare them with the original message generated by the source.
-
If the Syslog header is malformed, update the source configuration to generate a valid RFC 3164 or RFC 5424 message, then disable debug logging after testing.
Note
If the source sends JSON or another structured payload, make sure that the payload is not inserted into the Syslog header. The payload should remain in the message body.
Check connectivity to Sekoia
- Confirm that the intake key in
intakes.yamlis correct. -
Test the outbound connection to the regional endpoint:
sudo apt install telnet telnet intake.sekoia.io 10514 -
Confirm that a successful connection returns:
Connected to intake.sekoia.io. Escape character is '^]'. -
Remove Telnet after testing:
sudo apt remove telnet -
Check the Sekoia status page.
Use the endpoint for your region
Replace intake.sekoia.io with the regional host configured by REGION when you test a non-FRA1 deployment.
Check container logs
View all logs:
sudo docker compose logs
Stream logs while reproducing the issue:
sudo docker compose logs -f
Check the container status:
sudo docker compose ps
If the container fails after you add a custom rsyslog file, see Route multiple technologies through one port for syntax and listener checks.
Result
You have identified whether the problem is caused by the source configuration, the forwarder's port mapping, a firewall, an intake key, or the outbound connection to Sekoia.
Related articles
- Configure the Sekoia.io Forwarder: How to deploy and configure the forwarder.
- Route multiple technologies through one port: How to troubleshoot custom shared-port routing.
- Monitor the Sekoia.io Forwarder: How to send forwarder health metrics to Sekoia.