Sorry for my English
Pryambula:
I use Cacti for monitoring special objects . I use only ScriptServer and everything works well. Net-SNMP is not installed.
An additional need to monitor multiple (~ 15) of network devices via SNMP and return the total value of more than one OID.
I decided to do it well with ScriptServer, everything works well.
Problem:
Some devices that need to monitor SNMP, do not respond to UDP-ping, so I decided to use these devices ICMP-ping.
Here and there is a problem. Cacti reports on the page 'Devices', which host is down but actually host pingable.
I launched the spine in debug mode in the console.
Host [17] - good host
Host [18] - problem host
Part of the output when Ping Method-> UDP-ping for Host [18]:
Part of the output when Ping Method-> ICMP-ping for Host [18]:...
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 0
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEBUG: In Poller, About to Start Polling of Host
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEBUG: Valid Thread to be Created
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 1
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT id, hostname, snmp_community, snmp_version, snmp_username, snmp_password, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context, snmp_port, snmp_timeout, max_oids, availability_method, ping_method, ping_port, ping_timeout, ping_retries, status, status_event_count, status_fail_date, status_rec_date, status_last_error, min_time, max_time, cur_time, avg_time, total_polls, failed_polls, availability FROM host WHERE id=17'
12/19/2009 03:15:43 PM - SPINE: Poller[0] Host[17] DEBUG: UDP Host Alive, Try Count:1, Time:30.9999 ms
12/19/2009 03:15:43 PM - SPINE: Poller[0] Host[17] PING: Result UDP: Host is Alive
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE host SET status='3', status_event_count='0', status_fail_date='2009-12-19 10:18:00', status_rec_date='2009-12-19 10:23:00', status_last_error='UDP: Ping timed out', min_time='0.000000', max_time='46.999930', cur_time='30.999900', avg_time='1.061077', total_polls='11799', failed_polls='270', availability='97.7117' WHERE id='17''
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT data_query_id, action, op, assert_value, arg1 FROM poller_reindex WHERE host_id=17'
12/19/2009 03:15:43 PM - SPINE: Poller[0] Host[17] Host has no information for recache.
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT snmp_port, count(snmp_port) FROM poller_item WHERE host_id=17 AND rrd_next_step < 0 GROUP BY snmp_port'
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT action, hostname, snmp_community, snmp_version, snmp_username, snmp_password, rrd_name, rrd_path, arg1, arg2, arg3, local_data_id, rrd_num, snmp_port, snmp_timeout, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context FROM poller_item WHERE host_id=17 and rrd_next_step <=0 ORDER by snmp_port'
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_next_step-60 WHERE host_id=17'
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_step-60 WHERE rrd_next_step < 0 and host_id=17'
12/19/2009 03:15:43 PM - SPINE: Poller[0] Host[17] NOTE: There are '1' Polling Items for this Host
12/19/2009 03:15:43 PM - SPINE: Poller[0] Host[17] DS[132] SS[1] SERVER: D:/!statistica/wwwroot/cacti/scripts/ss_ac_ip.php ss_ac_ip 10.254.252.10, output: increc:725223 incdis:0 outreq:720752 outdis:0
12/19/2009 03:15:43 PM - SPINE: Poller[0] DEVDBG: SQL:'INSERT INTO poller_output (local_data_id, rrd_name, time, output) VALUES (132,'','2009-12-19 15:15:43','increc:725223 incdis:0 outreq:720752 outdis:0')'
12/19/2009 03:15:44 PM - SPINE: Poller[0] Host[17] DEBUG: HOST COMPLETE: About to Exit Host Polling Thread Function
12/19/2009 03:15:44 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 0
12/19/2009 03:15:44 PM - SPINE: Poller[0] DEBUG: In Poller, About to Start Polling of Host
12/19/2009 03:15:44 PM - SPINE: Poller[0] DEBUG: Valid Thread to be Created
12/19/2009 03:15:44 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT id, hostname, snmp_community, snmp_version, snmp_username, snmp_password, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context, snmp_port, snmp_timeout, max_oids, availability_method, ping_method, ping_port, ping_timeout, ping_retries, status, status_event_count, status_fail_date, status_rec_date, status_last_error, min_time, max_time, cur_time, avg_time, total_polls, failed_polls, availability FROM host WHERE id=18'
12/19/2009 03:15:44 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 1
12/19/2009 03:15:46 PM - SPINE: Poller[0] Host[18] DEBUG: UDP Timeout, Try Count:1, Time:2000.0000 ms
12/19/2009 03:15:48 PM - SPINE: Poller[0] Host[18] DEBUG: UDP Timeout, Try Count:2, Time:2000.0000 ms
12/19/2009 03:15:48 PM - SPINE: Poller[0] Host[18] PING Result: UDP: Ping timed out
12/19/2009 03:15:48 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE host SET status='1', status_event_count='5', status_fail_date='2009-12-19 15:13:00', status_rec_date='2009-12-19 15:07:00', status_last_error='UDP: Ping timed out', min_time='0.000000', max_time='1062.000040', cur_time='891.000030', avg_time='2.481000', total_polls='3716', failed_polls='240', availability='93.5414' WHERE id='18''
12/19/2009 03:15:48 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT snmp_port, count(snmp_port) FROM poller_item WHERE host_id=18 AND rrd_next_step < 0 GROUP BY snmp_port'
12/19/2009 03:15:48 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT action, hostname, snmp_community, snmp_version, snmp_username, snmp_password, rrd_name, rrd_path, arg1, arg2, arg3, local_data_id, rrd_num, snmp_port, snmp_timeout, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context FROM poller_item WHERE host_id=18 and rrd_next_step <=0 ORDER by snmp_port'
12/19/2009 03:15:48 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_next_step-60 WHERE host_id=18'
12/19/2009 03:15:48 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_step-60 WHERE rrd_next_step < 0 and host_id=18'
12/19/2009 03:15:48 PM - SPINE: Poller[0] Host[18] DEBUG: HOST COMPLETE: About to Exit Host Polling Thread Function
...
Q: Why...
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 0
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEBUG: In Poller, About to Start Polling of Host
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEBUG: Valid Thread to be Created
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 1
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT id, hostname, snmp_community, snmp_version, snmp_username, snmp_password, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context, snmp_port, snmp_timeout, max_oids, availability_method, ping_method, ping_port, ping_timeout, ping_retries, status, status_event_count, status_fail_date, status_rec_date, status_last_error, min_time, max_time, cur_time, avg_time, total_polls, failed_polls, availability FROM host WHERE id=17'
12/19/2009 03:30:33 PM - SPINE: Poller[0] Host[17] DEBUG: UDP Host Alive, Try Count:1, Time:0.0000 ms
12/19/2009 03:30:33 PM - SPINE: Poller[0] Host[17] PING: Result UDP: Host is Alive
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE host SET status='3', status_event_count='0', status_fail_date='2009-12-19 10:18:00', status_rec_date='2009-12-19 10:23:00', status_last_error='UDP: Ping timed out', min_time='0.000000', max_time='46.999930', cur_time='0.000000', avg_time='1.066298', total_polls='11816', failed_polls='270', availability='97.7150' WHERE id='17''
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT data_query_id, action, op, assert_value, arg1 FROM poller_reindex WHERE host_id=17'
12/19/2009 03:30:33 PM - SPINE: Poller[0] Host[17] Host has no information for recache.
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT snmp_port, count(snmp_port) FROM poller_item WHERE host_id=17 AND rrd_next_step < 0 GROUP BY snmp_port'
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT action, hostname, snmp_community, snmp_version, snmp_username, snmp_password, rrd_name, rrd_path, arg1, arg2, arg3, local_data_id, rrd_num, snmp_port, snmp_timeout, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context FROM poller_item WHERE host_id=17 and rrd_next_step <=0 ORDER by snmp_port'
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_next_step-60 WHERE host_id=17'
12/19/2009 03:30:33 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_step-60 WHERE rrd_next_step < 0 and host_id=17'
12/19/2009 03:30:33 PM - SPINE: Poller[0] Host[17] DEBUG: HOST COMPLETE: About to Exit Host Polling Thread Function
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 0
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEBUG: In Poller, About to Start Polling of Host
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEBUG: Valid Thread to be Created
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEBUG: The Value of Active Threads is 1
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT id, hostname, snmp_community, snmp_version, snmp_username, snmp_password, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context, snmp_port, snmp_timeout, max_oids, availability_method, ping_method, ping_port, ping_timeout, ping_retries, status, status_event_count, status_fail_date, status_rec_date, status_last_error, min_time, max_time, cur_time, avg_time, total_polls, failed_polls, availability FROM host WHERE id=18'
12/19/2009 03:30:34 PM - SPINE: Poller[0] Host[18] DEBUG: ICMP Host Alive, Try Count:1, Time:0.0000 ms
12/19/2009 03:30:34 PM - SPINE: Poller[0] Host[18] PING: Result ICMP: Host is Alive
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE host SET status='2', status_event_count='1', status_fail_date='2009-12-19 15:26:00', status_rec_date='2009-12-19 15:30', status_last_error='ICMP: Ping timed out', min_time='0.000000', max_time='1172.000170', cur_time='0.000000', avg_time='4.922807', total_polls='3733', failed_polls='248', availability='93.3565' WHERE id='18''
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT data_query_id, action, op, assert_value, arg1 FROM poller_reindex WHERE host_id=18'
12/19/2009 03:30:34 PM - SPINE: Poller[0] Host[18] Host has no information for recache.
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT snmp_port, count(snmp_port) FROM poller_item WHERE host_id=18 AND rrd_next_step < 0 GROUP BY snmp_port'
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEVDBG: SQL:'SELECT action, hostname, snmp_community, snmp_version, snmp_username, snmp_password, rrd_name, rrd_path, arg1, arg2, arg3, local_data_id, rrd_num, snmp_port, snmp_timeout, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context FROM poller_item WHERE host_id=18 and rrd_next_step <=0 ORDER by snmp_port'
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_next_step-60 WHERE host_id=18'
12/19/2009 03:30:34 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=rrd_step-60 WHERE rrd_next_step < 0 and host_id=18'
12/19/2009 03:30:34 PM - SPINE: Poller[0] Host[18] DEBUG: HOST COMPLETE: About to Exit Host Polling Thread Function
...
when the host is alive? I think should be status = '3 ' in this command.... DEVDBG: SQL:' UPDATE host SET status = '2'...
This record is permanently recorded in the database regardless of the number of ping this hostname. Any ideas?
Cacti : Version 0.8.7e
Spine : Version 0.8.7e
OS : Windows 2k3
Method: Spine
Thank you for reply