As you can see in the iptables -v -L output, the NFQUEUE rule starts with two zero’s: one counts packets, the other bytes. As long as these are 0 Suricata will not receive any traffic.
Can you explain the network topology of your test? What host (+ip) is running Suricata, what host is running hping, what host has the webserver?
The jq errors are odd. They suggest a malformed eve.json file. I would suggest deleting it for now. If it comes back, we can investigate it.
So Suricata runs on the 192.168.2.1 server? If so you need iptables rules in the INPUT and OUTPUT chains, not the forward. There is no routing through that box, all traffic as a local destination and origin.