Cacti / plugin_syslog

Syslog Plugin for Cacti
GNU General Public License v2.0
21 stars 16 forks source link

[Syslog] SQL error after choose device #67

Closed yingbaiibm closed 5 years ago

yingbaiibm commented 5 years ago

To Reproduce Steps to reproduce the behavior: 1) Set syslog alert rule and trigger it 2) Go to syslog -> Alert Logs page 3) Change device filter and click go 4) Page can not show correct info and log has error

2019/03/07 16:35:48 - ERROR PHP NOTICE in Plugin 'syslog': Undefined index: header in file: /var/www/html/cacti/plugins/syslog/syslog_reports.php on line: 592 2019/03/07 16:35:48 - CMDPHP PHP ERROR NOTICE Backtrace: (/var/www/html/cacti/plugins/syslog/syslog_reports.php[50]:syslog_report(), /var/www/html/cacti/plugins/syslog/syslog_reports.php[592]:CactiErrorHandler()) 2019/03/07 16:37:37 - CMDPHP ERROR: A DB Row Failed!, Error: Unknown column 'host_id' in 'where clause' 2019/03/07 16:37:37 - CMDPHP SQL Backtrace: (/var/www/html/cacti/plugins/syslog/syslog.php[98]:syslog_messages(), /var/www/html/cacti/plugins/syslog/syslog.php[1331]:get_syslog_messages(), /var/www/html/cacti/plugins/syslog/syslog.php[804]:syslog_db_fetch_assoc(), /plugins/syslog/database.php[101]:db_fetch_assoc(), /lib/database.php[450]:db_fetch_assoc_prepared(), /lib/database.php[464]:db_execute_prepared()) 2019/03/07 16:37:37 - CMDPHP ERROR: A DB Cell Failed!, Error: Unknown column 'host_id' in 'where clause' 2019/03/07 16:37:37 - CMDPHP SQL Backtrace: (/var/www/html/cacti/plugins/syslog/syslog.php[98]:syslog_messages(), /var/www/html/cacti/plugins/syslog/syslog.php[1367]:syslog_db_fetch_cell(), /plugins/syslog/database.php[72]:db_fetch_cell(), /lib/database.php[360]:db_fetch_cell_prepared(), /lib/database.php[376]:db_execute_prepared()) 2019/03/07 16:37:37 - ERROR PHP WARNING in Plugin 'syslog': Invalid argument supplied for foreach() in file: /var/www/html/cacti/plugins/syslog/syslog.php on line: 1479 2019/03/07 16:37:37 - CMDPHP PHP ERROR WARNING Backtrace: (/var/www/html/cacti/plugins/syslog/syslog.php[98]:syslog_messages(), /var/www/html/cacti/plugins/syslog/syslog.php[1479]:CactiErrorHandler()) 2019/03/07 16:37:42 - CMDPHP ERROR: A DB Row Failed!, Error: Unknown column 'sl.host' in 'where clause'

Screenshots Screen Shot 2019-03-07 at 4 41 11 PM Screen Shot 2019-03-07 at 4 44 23 PM

Desktop (please complete the following information):

yingbaiibm commented 5 years ago

Still has problem

  1. Go to Syslog - system logs page, choose a device and click go, error exist. 2019/05/17 10:24:55 - CMDPHP DEBUG: (SELECT syslog., syslog_programs.program, 'main' AS mtype FROM cacti.syslog AS syslog LEFT JOIN cacti.syslog_programs ON syslog.program_id=syslog_programs.program_id WHERE host_id IN(1) AND logtime BETWEEN '2019-05-16 10:24:42' AND '2019-05-17 10:24:42' ) UNION (SELECT syslog., syslog_programs.program, 'remove' AS mtype FROM cacti.syslog_removed AS syslog LEFT JOIN cacti.syslog_programs ON syslog.program_id=syslog_programs.program_id WHERE host_id IN(1) AND logtime BETWEEN '2019-05-16 10:24:42' AND '2019-05-17 10:24:42') ORDER BY logtime DESC LIMIT 0,30 2019/05/17 10:24:55 - CMDPHP SQL Backtrace: (/plugins/syslog/syslog.php[98]:syslog_messages(), /plugins/syslog/syslog.php[1437]:get_syslog_messages(), /plugins/syslog/syslog.php[783]:sql_hosts_where(), /plugins/syslog/functions.php[566]:db_fetch_cell(), /lib/database.php[358]:db_fetch_cell_prepared(), /lib/database.php[374]:db_execute_prepared()) 2019/05/17 10:24:55 - CMDPHP ERROR: A DB Cell Failed!, Error: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound

  2. Go to Syslog - Alert logs, choose a device and click go, error exist 2019/05/17 10:28:10 - CMDPHP SQL Backtrace: (/plugins/syslog/syslog.php[98]:syslog_messages(), /plugins/syslog/syslog.php[1473]:syslog_db_fetch_cell(), /plugins/syslog/database.php[77]:db_fetch_cell(), /lib/database.php[358]:db_fetch_cell_prepared(), /lib/database.php[374]:db_execute_prepared()) 2019/05/17 10:28:10 - CMDPHP ERROR: A DB Cell Failed!, Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AND logtime BETWEEN '2019-05-16 10:28:05' AND '2019-05-17 10:28:05'' at line 1 2019/05/17 10:28:10 - CMDPHP SQL Backtrace: (/plugins/syslog/syslog.php[98]:syslog_messages(), /plugins/syslog/syslog.php[1437]:get_syslog_messages(), /plugins/syslog/syslog.php[926]:syslog_db_fetch_assoc(), /plugins/syslog/database.php[106]:db_fetch_assoc(), /lib/database.php[448]:db_fetch_assoc_prepared(), /lib/database.php[462]:db_execute_prepared()) 2019/05/17 10:28:10 - CMDPHP ERROR: A DB Row Failed!, Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AND logtime BETWEEN '2019-05-16 10:28:05' AND '2019-05-17 10:28:05' ORDER BY lo' at line 1 2019/05/17 10:28:10 - CMDPHP DEBUG: SELECT syslog.*, sf.facility, sp.priority, spr.program, sa.name, sa.severity FROMcacti.syslog_logsAS syslog LEFT JOINcacti.syslog_facilitiesAS sf ON syslog.facility_id=sf.facility_id LEFT JOINcacti.syslog_prioritiesAS sp ON syslog.priority_id=sp.priority_id LEFT JOINcacti.syslog_alertAS sa ON syslog.alert_id=sa.id LEFT JOINcacti.syslog_programsAS spr ON syslog.program_id=spr.program_id WHERE AND logtime BETWEEN '2019-05-16 10:28:05' AND '2019-05-17 10:28:05' ORDER BYlogtimeDESC LIMIT 0,30 2019/05/17 10:28:06 - CMDPHP DEBUG: SELECT syslog.*, sf.facility, sp.priority, spr.program, sa.name, sa.severity FROMcacti.syslog_logsAS syslog LEFT JOINcacti.syslog_facilitiesAS sf ON syslog.facility_id=sf.facility_id LEFT JOINcacti.syslog_prioritiesAS sp ON syslog.priority_id=sp.priority_id LEFT JOINcacti.syslog_alertAS sa ON syslog.alert_id=sa.id LEFT JOINcacti.syslog_programsAS spr ON syslog.program_id=spr.program_id WHERE logtime BETWEEN '2019-05-16 10:28:05' AND '2019-05-17 10:28:05' ORDER BYlogtime` DESC LIMIT 0,30

yingbaiibm commented 5 years ago

@cigamit Still has problem when choosing device using latest code

019/05/21 11:25:56 - CMDPHP SQL Backtrace: (/plugins/syslog/syslog.php[98]:syslog_messages(), /plugins/syslog/syslog.php[1467]:get_syslog_messages(), /plugins/syslog/syslog.php[783]:sql_hosts_where(), /plugins/syslog/functions.php[566]:db_fetch_cell_prepared(), /lib/database.php[378]:db_execute_prepared())

2019/05/21 11:25:56 - CMDPHP ERROR: A DB Cell Failed!, Error: Unknown column 'id' in 'where clause'

cigamit commented 5 years ago

Okay, that's resolved now.

yingbaiibm commented 5 years ago

passed retest