Two issues i have highlighted from what you have shared, the fortiGate logs are not being captured by Wazuh and the test log is indexed but not visible in the GUI.
Since nothing appears in archives.log or archives.json based on what you have shared, this is not a decoder or rule problem yet. The log has not reached Analysisd. tcpdump only proves the packets reached the network interface, it does not prove wazuh-remoted accepted them.
Please check the Wazuh node that HAProxy is forwarding to:
ss -tlnp | grep ':514'
cat /var/ossec/logs/ossec.log | grep -Ei "remoted|syslog|514|allowed|denied"
Also confirm the <remote> block exists on every worker that can receive traffic from HAProxy:
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>tcp</protocol>
<allowed-ips>HA-PROXY-IP</allowed-ips>
</remote>
You need to explicitly define the protocol as TCP so it does not parse TCP over UDP.
Now do a test through the HAProxy IP or even on the Wazuh manager nodes with a sample syslog message:
printf '<134>Jul 21 12:00:00 fgt-test msg="PROD_DIRECT_MASTER"\n' | nc -v -q1 <MASTER_IP> 514
printf '<134>Jul 21 12:00:00 fgt-test msg="PROD_DIRECT_W1"\n' | nc -v -q1 <WORKER1_IP> 514
grep PROD_DIRECT /var/ossec/logs/archives/archives.json
First check ss -tlnp | grep ':514' on every node, make sure the remote block is also active and configured as described above.
Do same on HA proxy too: printf '<134>Jul 21 12:00:00 fgt-test msg="PROD_VIA_LB"\n' | nc -v -q1 <HAPROXY_VIP> 514
If this test appears in archives, Wazuh and HAProxy are okay, you then need to check the FortiGate TCP syslog format/framing. If it does not appear, then we need to look at Wazuh <remote> config, HAProxy backend, allowed IP, or listener.
Sample from my side:
root@waz:/# ss -tlnp | grep ':514'
LISTEN 0 128
0.0.0.0:514 0.0.0.0:* users:(("wazuh-remoted",pid=159617,fd=4))
root@waz:/# printf '<134>Jul 21 12:00:00 fgt-test date=2026-07-21 msg="WAZUH_NC_TEST_999"\n' | nc -q1 192.168.140.131 514
root@waz:/# printf '<134>Jul 21 12:00:00 fgt-test date=2026-07-21 msg="WAZUH_NC_TEST_999"\n' | nc -v -q1 192.168.140.131 514
Connection to 192.168.140.131 514 port [tcp/shell] succeeded!
root@waz:/# grep WAZUH_NC_TEST_999 /var/ossec/logs/archives/archives.json
{"timestamp":"2026-07-21T15:10:36.976+0000","agent":{"id":"000","name":"waz"},"manager":{"name":"waz"},"id":"1784646636.468921","full_log":"Jul 21 12:00:00 fgt-test date=2026-07-21 msg=\"WAZUH_NC_TEST_999\"","predecoder":{"timestamp":"Jul 21 12:00:00","hostname":"fgt-test"},"decoder":{},"location":"192.168.140.131"}
{"timestamp":"2026-07-21T15:10:49.447+0000","agent":{"id":"000","name":"waz"},"manager":{"name":"waz"},"id":"1784646649.468921","full_log":"Jul 21 12:00:00 fgt-test date=2026-07-21 msg=\"WAZUH_NC_TEST_999\"","predecoder":{"timestamp":"Jul 21 12:00:00","hostname":"fgt-test"},"decoder":{},"location":"192.168.140.131"}
root@waz:/#
Please let me know what you find.