Although I am specifying 15 threads, it only runs one thread. Any ideas?
Do you only have one device? NetMRG starts a thread for each device, limiting the number of concurrent threads to the number specified in the configuration.
If you have more than one device, and you have a newer linux distro (like Redhat 9, or Fedora), `ps` hides threads from you. You'll need to use the 'm' flag to show them, like this
1677 ? S 0:01 crond
26635 ? S 0:00 \_ CROND
26636 ? S 0:00 \_ /bin/sh /usr/bin/netmrg_cron.sh
26638 ? R 0:00 \_ /usr/bin/netmrg-gatherer
26639 ? S 0:00 \_ sh -c /usr/bin/rrdtool - >/dev/null
26640 ? S 0:00 | \_ /usr/bin/rrdtool -
26643 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26646 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26686 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26697 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26704 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26709 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26719 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26727 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26729 ? S 0:00 \_ /usr/bin/netmrg-gatherer
26731 ? S 0:00 \_ /usr/bin/netmrg-gatherer[/code1ccde701462]
Yes, I have only one device that has 47 sub-devices. So that's why I get just one thread. Each subdeivces has 6 SNMP gets and it is taking 30 seconds to get it done, for only 20 subdevices.
It is a storage that has 47 LUNs and I can't colletct using NetMrg snmp module, because SNMP uptime for this device returns 0. So I have a script colleting the data.
Cant I have multiuple threads by sub-devices?
[quote8cc7674202="dirty_al"]Cant I have multiuple threads by sub-devices?[/quote8cc7674202]
Currently, no. That would be threads-of-threads for us, and I'm not sure how much we like that at this point.
[quote8cc7674202="dirty_al"]because SNMP uptime for this device returns 0.[/quote8cc7674202]
Don't mean to hijack your thread, but we'd really like to get to the bottom of this. Can you give us any information about your target host (OS, kernel version, net-snmp version, distribution + version, whether any of these are compiled from source). With all our boxes we update, we haven't been able to reproduce this bug yet.
The system where netmrg is installed is running Net-SNMP 5.1, kernel 2.4.24 and id a RedHat 7.2.
The device that is returning SNMP uptime 0 is a HITACHI-DF500F storage and it returns so
SNMPv2-MIBsysDescr.0 = STRING HITACHI DF500F Ver 055G/M
SNMPv2-MIBsysObjectID.0 = OID SNMPv2-SMIenterprises.184.108.40.206.2
SNMPv2-MIBsysUpTime.0 = Timeticks (0) 00000.00
It's uptime is actually always zero, but it returns 0. Cant netmrg check if it's responding negleting the fact that the uptime is zero?
I think we're going to add a checkbox to ignore the snmp uptime value for a device. You can monitor the progress in bug#202
Of course, we just had a release today, so you'll have to get this feature out of CVS when it goes in (snapshot tarballs are available).