PDA

View Full Version : 1.1beta2 snmpv3


fab
21-10-2005, 18:49
Hi,

I'm having here troubles with snmpv3 getting to work with zabbix. IMHO it seems that a lot of snmpv3 specific code is actually missing in zabbix?

I'm talking about stuff like poller.c and checks_snmp.c where a lot of if() functions just look for ITEM_TYPE_SNMPv1 or ITEM_TYPE_SNMPv2c.

Can anyone decline or acknowledge that?

fab.

James Wells
22-10-2005, 01:14
Greetings,

I could be mistaken, but I thought that the only real difference between SNMP v2c and SNMP3 was the extended authentication mechanisms. As I said, I could be mistaken, but if not, then yes, Zabbix already has support for it.

Looking at the code for the poller.c, it shows support for the v3 extended authentication mechanism, and support for v1 and v2c responses / values.

fab
24-10-2005, 12:36
Greetings,

I could be mistaken, but I thought that the only real difference between SNMP v2c and SNMP3 was the extended authentication mechanisms. As I said, I could be mistaken, but if not, then yes, Zabbix already has support for it.

Looking at the code for the poller.c, it shows support for the v3 extended authentication mechanism, and support for v1 and v2c responses / values.

snmp v3 is indeed just a small framework upgrade and mainly the extended auth mechanism. My Problem is, that as soon as I want a v3 check being made zabbix says in the log that type 6 is not supported.

Looking around in the C code searching for the error message lead me to the poller.c.

To be exact:

# This is poller.c line 90
else
{
zabbix_log(LOG_LEVEL_WARNING, "Not supported item type:%d",item->type);
zabbix_syslog("Not supported item type:%d",item->type);
res=NOTSUPPORTED;
}


Gives me that log entry. A closer look to the forgoing if() Shows that poller.c only checks for SNMPv1 and SNMPv2 as possible type.


# This is poller.c line 71
else if( (item->type == ITEM_TYPE_SNMPv1) || (item->type == ITEM_TYPE_SNMPv2c))
{
#ifdef HAVE_SNMP
res=get_value_snmp(result,result_str,item,error, max_error_len);
#else
zabbix_log(LOG_LEVEL_WARNING, "Support of SNMP parameters was no compiled in");
zabbix_syslog("Support of SNMP parameters was no compiled in. Cannot process [%s:%s]", item->host, item->key);
res=NOTSUPPORTED;
#endif


This is just an example. I found similiar code in checks_snmp.c and my guess is that's why I can't check snmpv3 items.

Regards,
fab.