I'm no expert just so you know, but I believe this to be related to low level discovery. In our environment we have switch gear with 240+ ports and I believe that discovery is struggling for some reason. I got this from my zabbix server log:
4021:20110429:075938.614 [Z3005] Query failed: [1205] Lock wait timeout exceeded; try restarting transaction [update ids set nextid=nextid+1 where nodeid=0 and table_name='items' and field_name='itemid']
4002:20110429:075955.631 [Z3005] Query failed: [1205] Lock wait timeout exceeded; try restarting transaction [update ids set nextid=nextid+1 where nodeid=0 and table_name='items' and field_name='itemid']
4007:20110429:080011.648 [Z3005] Query failed: [1205] Lock wait timeout exceeded; try restarting transaction [update ids set nextid=nextid+1 where nodeid=0 and table_name='items' and field_name='itemid']
4012:20110429:080027.666 [Z3005] Query failed: [1205] Lock wait timeout exceeded; try restarting transaction [update ids set nextid=nextid+1 where nodeid=0 and table_name='items' and field_name='itemid']
4011:20110429:084341.457 [Z3005] Query failed: [1205] Lock wait timeout exceeded; try restarting transaction [update ids set nextid=nextid+1 where nodeid=0 and table_name='functions' and field_name='functionid']
I've tweaked mysql with:
innodb_file_per_table
innodb_lock_wait_timeout=10000 (I think that's the max from pokin around on the net)
But in the long run its still occuring.
I've got 6 items being discovery per interface and 7 triggers on top of those items...