Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 405092 Details for
Bug 552030
net-analyzer/cacti-spine-0.8.8d - In file included from sql.c:34:0: common.h:140:39: fatal error: ucd-snmp/ucd-snmp-config.h: No such file or directory
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
SPINE: Poller[0] FATAL: MySQL Error:'1054', Message:'Unknown column 'polling_time' in 'field list'' (Spine thread)
cacti-spine-0.8.8d-unneeded-commit.patch (text/plain), 8.77 KB, created by
Tomasz Chilinski
on 2015-06-13 18:51:30 UTC
(
hide
)
Description:
SPINE: Poller[0] FATAL: MySQL Error:'1054', Message:'Unknown column 'polling_time' in 'field list'' (Spine thread)
Filename:
MIME Type:
Creator:
Tomasz Chilinski
Created:
2015-06-13 18:51:30 UTC
Size:
8.77 KB
patch
obsolete
>--- spine/branches/0.8.8/poller.c 2014/11/12 02:38:23 7495 >+++ spine/branches/0.8.8/poller.c 2015/01/12 18:06:06 7679 >@@ -168,6 +168,7 @@ > MYSQL mysql; > MYSQL_RES *result; > MYSQL_ROW row; >+ MYSQL_FIELD *field; > > db_connect(set.dbdb, &mysql); > >@@ -217,7 +218,8 @@ > "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 " >+ "total_polls, failed_polls, availability, snmp_sysUptimeInstance, snmp_sysDescr, snmp_sysObjectID, " >+ "snmp_sysContact, snmp_sysName, snmp_sysLocation" > " FROM host" > " WHERE id=%i", host_id); > >@@ -287,7 +289,8 @@ > "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 " >+ "total_polls, failed_polls, availability, snmp_sysUptimeInstance, snmp_sysDescr, snmp_sysObjectID, " >+ "snmp_sysContact, snmp_sysName, snmp_sysLocation" > " FROM host" > " WHERE id=%i", host_id); > >@@ -376,38 +379,44 @@ > > if (row) { > /* initialize variables first */ >- host->id = 0; >- host->hostname[0] = '\0'; >- host->snmp_session = NULL; >- host->snmp_community[0] = '\0'; >- host->snmp_version = 1; >- host->snmp_username[0] = '\0'; >- host->snmp_password[0] = '\0'; >- host->snmp_auth_protocol[0] = '\0'; >- host->snmp_priv_passphrase[0] = '\0'; >- host->snmp_priv_protocol[0] = '\0'; >- host->snmp_context[0] = '\0'; >- host->snmp_port = 161; >- host->snmp_timeout = 500; >- host->snmp_retries = set.snmp_retries; >- host->max_oids = 10; >- host->availability_method = 0; >- host->ping_method = 0; >- host->ping_port = 23; >- host->ping_timeout = 500; >- host->ping_retries = 2; >- host->status = HOST_UP; >- host->status_event_count = 0; >- host->status_fail_date[0] = '\0'; >- host->status_rec_date[0] = '\0'; >- host->status_last_error[0] = '\0'; >- host->min_time = 0; >- host->max_time = 0; >- host->cur_time = 0; >- host->avg_time = 0; >- host->total_polls = 0; >- host->failed_polls = 0; >- host->availability = 100; >+ host->id = 0; // 0 >+ host->hostname[0] = '\0'; // 1 >+ host->snmp_session = NULL; // - >+ host->snmp_community[0] = '\0'; // 2 >+ host->snmp_version = 1; // 3 >+ host->snmp_username[0] = '\0'; // 4 >+ host->snmp_password[0] = '\0'; // 5 >+ host->snmp_auth_protocol[0] = '\0'; // 6 >+ host->snmp_priv_passphrase[0] = '\0'; // 7 >+ host->snmp_priv_protocol[0] = '\0'; // 8 >+ host->snmp_context[0] = '\0'; // 9 >+ host->snmp_port = 161; // 10 >+ host->snmp_timeout = 500; // 11 >+ host->snmp_retries = set.snmp_retries; // - >+ host->max_oids = 10; // 12 >+ host->availability_method = 0; // 13 >+ host->ping_method = 0; // 14 >+ host->ping_port = 23; // 15 >+ host->ping_timeout = 500; // 16 >+ host->ping_retries = 2; // 17 >+ host->status = HOST_UP; // 18 >+ host->status_event_count = 0; // 19 >+ host->status_fail_date[0] = '\0'; // 20 >+ host->status_rec_date[0] = '\0'; // 21 >+ host->status_last_error[0] = '\0'; // 22 >+ host->min_time = 0; // 23 >+ host->max_time = 0; // 24 >+ host->cur_time = 0; // 25 >+ host->avg_time = 0; // 26 >+ host->total_polls = 0; // 27 >+ host->failed_polls = 0; // 28 >+ host->availability = 100; // 29 >+ host->snmp_sysUpTimeInstance = 0; // 30 >+ host->snmp_sysDescr[0] = '\0'; // 31 >+ host->snmp_sysObjectID[0] = '\0'; // 32 >+ host->snmp_sysContact[0] = '\0'; // 33 >+ host->snmp_sysName[0] = '\0'; // 34 >+ host->snmp_sysLocation[0] = '\0'; // 35 > > /* populate host structure */ > host->ignore_host = FALSE; >@@ -451,6 +460,13 @@ > if (row[28] != NULL) host->failed_polls = atoi(row[28]); > if (row[29] != NULL) host->availability = atof(row[29]); > >+ if (row[30] != NULL) host->snmp_sysUpTimeInstance=atoi(row[30]); >+ if (row[31] != NULL) STRNCOPY(host->snmp_sysDescr, row[31]); >+ if (row[32] != NULL) STRNCOPY(host->snmp_sysObjectID, row[32]); >+ if (row[33] != NULL) STRNCOPY(host->snmp_sysContact, row[33]); >+ if (row[34] != NULL) STRNCOPY(host->snmp_sysName, row[34]); >+ if (row[35] != NULL) STRNCOPY(host->snmp_sysLocation, row[35]); >+ > /* correct max_oid bounds issues */ > if ((host->max_oids == 0) || (host->max_oids > 100)) { > SPINE_LOG(("Host[%i] TH[%i] WARNING: Max OIDS is out of range with value of '%i'. Resetting to default of 5", host_id, host_thread, host->max_oids)); >@@ -494,6 +510,12 @@ > host->ignore_host = FALSE; > if (host_thread == 1) { > update_host_status(HOST_UP, host, ping, host->availability_method); >+ >+ if (host->availability_method == AVAIL_SNMP) { >+ get_system_information(host, &mysql); >+ >+ >+ } > } > }else{ > host->ignore_host = TRUE; >@@ -509,7 +531,9 @@ > "SET status='%i', status_event_count='%i', status_fail_date='%s'," > " status_rec_date='%s', status_last_error='%s', min_time='%f'," > " max_time='%f', cur_time='%f', avg_time='%f', total_polls='%i'," >- " failed_polls='%i', availability='%.4f' " >+ " failed_polls='%i', availability='%.4f', snmp_sysDescr='%s', " >+ " snmp_sysObjectID='%s', snmp_sysUpTimeInstance='%i', " >+ " snmp_sysContact='%s', snmp_sysName='%s', snmp_sysLocation='%s' " > "WHERE id='%i'", > host->status, > host->status_event_count, >@@ -523,6 +547,12 @@ > host->total_polls, > host->failed_polls, > host->availability, >+ host->snmp_sysDescr, >+ host->snmp_sysObjectID, >+ host->snmp_sysUpTimeInstance, >+ host->snmp_sysContact, >+ host->snmp_sysName, >+ host->snmp_sysLocation, > host->id); > > db_insert(&mysql, update_sql); >@@ -1255,6 +1285,10 @@ > poll_time = get_time_as_double() - poll_time; > SPINE_LOG_MEDIUM(("Host[%i] TH[%i] Total Time: %5.2g Seconds", host_id, host_thread, poll_time)); > >+ query1[0] = '\0'; >+ snprintf(query1, BUFSIZE, "UPDATE host SET polling_time='%g' WHERE id=%i", poll_time, host_id); >+ db_query(&mysql, query1); >+ > mysql_close(&mysql); > > #ifndef OLD_MYSQL >@@ -1309,6 +1343,50 @@ > > } > >+void get_system_information(host_t *host, MYSQL *mysql) { >+ snmp_oids_t *snmp_oids; >+ >+ if (set.mibs) { >+ int num_oids = 6; >+ >+ /* create an array for snmp oids */ >+ snmp_oids = (snmp_oids_t *) calloc(num_oids, sizeof(snmp_oids_t)); >+ >+ /* initialize all the memory to insure we don't get issues */ >+ memset(snmp_oids, 0, sizeof(snmp_oids_t)*num_oids); >+ >+ STRNCOPY(snmp_oids[0].oid, ".1.3.6.1.2.1.1.1.0"); >+ STRNCOPY(snmp_oids[1].oid, ".1.3.6.1.2.1.1.2.0"); >+ STRNCOPY(snmp_oids[2].oid, ".1.3.6.1.2.1.1.3.0"); >+ STRNCOPY(snmp_oids[3].oid, ".1.3.6.1.2.1.1.4.0"); >+ STRNCOPY(snmp_oids[4].oid, ".1.3.6.1.2.1.1.5.0"); >+ STRNCOPY(snmp_oids[5].oid, ".1.3.6.1.2.1.1.6.0"); >+ snmp_get_multi(host, snmp_oids, num_oids); >+ >+ mysql_real_escape_string(mysql, host->snmp_sysDescr, snmp_oids[0].result, strlen(snmp_oids[0].result)); >+ mysql_real_escape_string(mysql, host->snmp_sysObjectID, snmp_oids[1].result, strlen(snmp_oids[1].result)); >+ host->snmp_sysUpTimeInstance = atoi(snmp_oids[2].result); >+ mysql_real_escape_string(mysql, host->snmp_sysContact, snmp_oids[3].result, strlen(snmp_oids[3].result)); >+ mysql_real_escape_string(mysql, host->snmp_sysName, snmp_oids[4].result, strlen(snmp_oids[4].result)); >+ mysql_real_escape_string(mysql, host->snmp_sysLocation, snmp_oids[5].result, strlen(snmp_oids[5].result)); >+ }else{ >+ int num_oids = 1; >+ >+ /* create an array for snmp oids */ >+ snmp_oids = (snmp_oids_t *) calloc(num_oids, sizeof(snmp_oids_t)); >+ >+ /* initialize all the memory to insure we don't get issues */ >+ memset(snmp_oids, 0, sizeof(snmp_oids_t)*num_oids); >+ >+ STRNCOPY(snmp_oids[0].oid, ".1.3.6.1.2.1.1.3.0"); >+ snmp_get_multi(host, snmp_oids, num_oids); >+ >+ host->snmp_sysUpTimeInstance = atoi(snmp_oids[2].result); >+ } >+ >+ free(snmp_oids); >+} >+ > /*! \fn int validate_result(char *result) > * \brief validates the output from the polling action is valid > * \param result the value to be checked for legality
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 552030
:
405088
|
405090
|
405092
|
405094
|
405096