What I have done in a similar situation (albeit only a single client and not checked by SNMP but with an installed Checkmk agent):
- regularly (e.g. every minute) run the agent (from cron) and write the output to a local file
- copy the agent ouput to some file in the checkmk site’s tmp folder
- create a rule in the WATO ruleset “Individual program call instead of agent access” →
cat ~/tmp/HOSTNAME.agent-output
- since the server can’t even ping the client, also create a rule in the WATO ruleset “Host Check Command” to Use a custom check plugin:
check_file_age -w 90 -c 120 -f ~/tmp/HOSTNAME.agent-output
(host is alive if it has recently copied its agent output to the site’s tmp dir)