Our Zabbix frontend shows SNMP availability status of several hosts that seems to be monitored well as "unknown", Zabbix API also returns snmp_available=0, because zabbix_proxy set "unknown status" of SNMP agent availability for these hosts.
But I can see actual latest data collected from those hosts with SNMP and I'm in doubt: how to debug that situation, how Zabbix server or Zabbix proxy makes a decision that some hosts' SNMP agent status is unknown? What SNMP checks does it performs to know, whether host is available by SNMP or no? Where [in source codes of Zabbix] can I look for real internal implementation of these checks? I was trying to search in checks_internal.c, but no luck (and "item" parameter of get_value_internal function written by Alexei Vladishev seems to be described in a very unclear manner: "item - item we are interested in").
So... how to do the same checks as Zabbix does when investigating whether host is available or not - by hand?