Closed dream-hunter closed 1 year ago
I've got errors in log:
2022-12-29 08:14:05 - CMDPHP SQL Backtrace: (/plugins/syslog/syslog_process.php[156]:syslog_preprocess_incoming_records(), /plugins/syslog/functions.php[1686]:syslog_strip_incoming_domains(), /plugins/syslog/functions.php[1710]:syslog_db_execute(), /plugins/syslog/database.php[69]:db_execute(), /lib/database.php[272]:db_execute_prepared()) 2022-12-29 08:14:05 - CMDPHP ERROR: A DB Exec Failed!, Error: Incorrect database name '' 2022-12-29 08:14:05 - CMDPHP PHP ERROR WARNING Backtrace: (/plugins/syslog/syslog_process.php[156]:syslog_preprocess_incoming_records(), /plugins/syslog/functions.php[1686]:syslog_strip_incoming_domains(), /plugins/syslog/functions.php[1707]:CactiErrorHandler()) 2022-12-29 08:14:05 - ERROR PHP WARNING in Plugin 'syslog': Undefined variable $syslogdb_default in file: /usr/local/share/cacti/plugins/syslog/functions.php on line: 1707
2022-12-29 08:14:05 - CMDPHP SQL Backtrace: (/plugins/syslog/syslog_process.php[156]:syslog_preprocess_incoming_records(), /plugins/syslog/functions.php[1686]:syslog_strip_incoming_domains(), /plugins/syslog/functions.php[1710]:syslog_db_execute(), /plugins/syslog/database.php[69]:db_execute(), /lib/database.php[272]:db_execute_prepared())
2022-12-29 08:14:05 - CMDPHP ERROR: A DB Exec Failed!, Error: Incorrect database name ''
2022-12-29 08:14:05 - CMDPHP PHP ERROR WARNING Backtrace: (/plugins/syslog/syslog_process.php[156]:syslog_preprocess_incoming_records(), /plugins/syslog/functions.php[1686]:syslog_strip_incoming_domains(), /plugins/syslog/functions.php[1707]:CactiErrorHandler()) 2022-12-29 08:14:05 - ERROR PHP WARNING in Plugin 'syslog': Undefined variable $syslogdb_default in file: /usr/local/share/cacti/plugins/syslog/functions.php on line: 1707
Adding line in to the function syslog_strip_incoming_domains fixes bug:
global $syslogdb_default;
A final variant:
function syslog_strip_incoming_domains($uniqueID) { global $syslogdb_default; $syslog_domains = read_config_option('syslog_domains'); if ($syslog_domains != '') { $domains = explode(',', trim($syslog_domains)); foreach($domains as $domain) { syslog_db_execute('UPDATE `' . $syslogdb_default . "`.`syslog_incoming` SET host = SUBSTRING_INDEX(host, '.', 1) WHERE host LIKE '%$domain' AND `status` = $uniqueID"); } } }
Thanks for reporting this. It's been fixed.
I've got errors in log:
Adding line in to the function syslog_strip_incoming_domains fixes bug:
A final variant: