Skip to content

Commit 4475bae

Browse files
committed
Fixing Issue #134
Syslog Search to include Program column - Reports
1 parent f0287ab commit 4475bae

File tree

3 files changed

+52
-19
lines changed

3 files changed

+52
-19
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@
1212

1313
* issue#133: Saving Settings on the Syslog Tab are not retained in latest Cacti
1414

15+
* feature#134: Syslog Search to include Program column - Reports
16+
1517
* feature: Migrate all Syslog Images to Fontawesome Glyphs
1618

19+
1720
--- 2.9 ---
1821

1922
* issue#120: SQL syntax error for syslog when click browser back button

setup.php

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -402,12 +402,15 @@ function syslog_setup_table_new($options) {
402402

403403
/* validate some simple information */
404404
$mysqlVersion = syslog_get_mysql_version('syslog');
405-
$truncate = ((isset($options['upgrade_type']) && $options['upgrade_type'] == 'truncate') ? true:false);
406-
$engine = ((isset($options['engine']) && $options['engine'] == 'innodb') ? 'InnoDB':'MyISAM');
407-
$partitioned = ((isset($options['db_type']) && $options['db_type'] == 'part') ? true:false);
405+
$truncate = isset($options['upgrade_type']) && $options['upgrade_type'] == 'truncate' ? true:false;
406+
$engine = isset($options['engine']) && $options['engine'] == 'innodb' ? 'InnoDB':'MyISAM';
407+
$partitioned = isset($options['db_type']) && $options['db_type'] == 'part' ? true:false;
408408
$syslogexists = sizeof(syslog_db_fetch_row("SHOW TABLES FROM `" . $syslogdb_default . "` LIKE 'syslog'"));
409409

410-
if ($truncate) syslog_db_execute("DROP TABLE IF EXISTS `" . $syslogdb_default . "`.`syslog`");
410+
if ($truncate) {
411+
syslog_db_execute("DROP TABLE IF EXISTS `" . $syslogdb_default . "`.`syslog`");
412+
}
413+
411414
if (!$partitioned) {
412415
syslog_db_execute("CREATE TABLE IF NOT EXISTS `" . $syslogdb_default . "`.`syslog` (
413416
facility_id int(10) unsigned default NULL,
@@ -427,7 +430,10 @@ function syslog_setup_table_new($options) {
427430
syslog_create_partitioned_syslog_table($engine, $options['days']);
428431
}
429432

430-
if ($truncate) syslog_db_execute("DROP TABLE IF EXISTS `" . $syslogdb_default . "`.`syslog_alert`");
433+
if ($truncate) {
434+
syslog_db_execute("DROP TABLE IF EXISTS `" . $syslogdb_default . "`.`syslog_alert`");
435+
}
436+
431437
syslog_db_execute("CREATE TABLE IF NOT EXISTS `" . $syslogdb_default . "`.`syslog_alert` (
432438
`id` int(10) NOT NULL auto_increment,
433439
`hash` varchar(32) NOT NULL default '',
@@ -1049,6 +1055,7 @@ function syslog_config_arrays () {
10491055
'messagec' => __('Contains', 'syslog'),
10501056
'messagee' => __('Ends with', 'syslog'),
10511057
'host' => __('Hostname is', 'syslog'),
1058+
'program' => __('Program is', 'syslog'),
10521059
'facility' => __('Facility is', 'syslog'),
10531060
'sql' => __('SQL Expression', 'syslog')
10541061
);

syslog_process.php

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,11 @@
263263
$syslog_xferred = $syslog_items['xferred'];
264264

265265
/* send out the alerts */
266-
$query = syslog_db_fetch_assoc('SELECT * FROM `' . $syslogdb_default . "`.`syslog_alert` WHERE enabled='on'");
267-
$syslog_alerts = sizeof($query);
266+
$query = syslog_db_fetch_assoc('SELECT *
267+
FROM `' . $syslogdb_default . "`.`syslog_alert`
268+
WHERE enabled='on'");
269+
270+
$syslog_alerts = sizeof($query);
268271

269272
if (read_config_option('syslog_html') == 'on') {
270273
$html = true;
@@ -307,30 +310,36 @@
307310
$th_sql = '';
308311

309312
if ($alert['type'] == 'facility') {
310-
$sql = 'SELECT * FROM `' . $syslogdb_default . '`.`syslog_incoming`
313+
$sql = 'SELECT *
314+
FROM `' . $syslogdb_default . '`.`syslog_incoming`
311315
WHERE ' . $syslog_incoming_config['facilityField'] . ' = ' . db_qstr($alert['message']) . '
312316
AND status = ' . $uniqueID;
313317
} else if ($alert['type'] == 'messageb') {
314-
$sql = 'SELECT * FROM `' . $syslogdb_default . '`.`syslog_incoming`
318+
$sql = 'SELECT *
319+
FROM `' . $syslogdb_default . '`.`syslog_incoming`
315320
WHERE ' . $syslog_incoming_config['textField'] . '
316321
LIKE ' . db_qstr($alert['message'] . '%') . '
317322
AND status = ' . $uniqueID;
318323
} else if ($alert['type'] == 'messagec') {
319-
$sql = 'SELECT * FROM `' . $syslogdb_default . '`.`syslog_incoming`
324+
$sql = 'SELECT *
325+
FROM `' . $syslogdb_default . '`.`syslog_incoming`
320326
WHERE ' . $syslog_incoming_config['textField'] . '
321327
LIKE ' . db_qstr('%' . $alert['message'] . '%') . '
322328
AND status = ' . $uniqueID;
323329
} else if ($alert['type'] == 'messagee') {
324-
$sql = 'SELECT * FROM `' . $syslogdb_default . '`.`syslog_incoming`
330+
$sql = 'SELECT *
331+
FROM `' . $syslogdb_default . '`.`syslog_incoming`
325332
WHERE ' . $syslog_incoming_config['textField'] . '
326333
LIKE ' . db_qstr('%' . $alert['message']) . '
327334
AND status = ' . $uniqueID;
328335
} else if ($alert['type'] == 'host') {
329-
$sql = 'SELECT * FROM `' . $syslogdb_default . '`.`syslog_incoming`
336+
$sql = 'SELECT *
337+
FROM `' . $syslogdb_default . '`.`syslog_incoming`
330338
WHERE ' . $syslog_incoming_config['hostField'] . ' = ' . db_qstr($alert['message']) . '
331339
AND status = ' . $uniqueID;
332340
} else if ($alert['type'] == 'sql') {
333-
$sql = 'SELECT * FROM `' . $syslogdb_default . '`.`syslog_incoming`
341+
$sql = 'SELECT *
342+
FROM `' . $syslogdb_default . '`.`syslog_incoming`
334343
WHERE (' . $alert['message'] . ')
335344
AND status=' . $uniqueID;
336345
}
@@ -617,42 +626,56 @@
617626
$sql = '';
618627
$reptext = '';
619628
if ($syslog_report['type'] == 'messageb') {
620-
$sql = 'SELECT sl.*, sh.host FROM `' . $syslogdb_default . '`.`syslog` AS sl
629+
$sql = 'SELECT sl.*, sh.host
630+
FROM `' . $syslogdb_default . '`.`syslog` AS sl
621631
INNER JOIN `' . $syslogdb_default . '`.`syslog_hosts` AS sh
622632
ON sl.host_id = sh.host_id
623633
WHERE message LIKE ' . db_qstr($syslog_report['message'] . '%');
624634
}
625635

626636
if ($syslog_report['type'] == 'messagec') {
627-
$sql = 'SELECT sl.*, sh.host FROM `' . $syslogdb_default . '`.`syslog` AS sl
637+
$sql = 'SELECT sl.*, sh.host
638+
FROM `' . $syslogdb_default . '`.`syslog` AS sl
628639
INNER JOIN `' . $syslogdb_default . '`.`syslog_hosts` AS sh
629640
ON sl.host_id = sh.host_id
630641
WHERE message LIKE ' . db_qstr('%' . $syslog_report['message'] . '%');
631642
}
632643

633644
if ($syslog_report['type'] == 'messagee') {
634-
$sql = 'SELECT sl.*, sh.host FROM `' . $syslogdb_default . '`.`syslog` AS sl
645+
$sql = 'SELECT sl.*, sh.host
646+
FROM `' . $syslogdb_default . '`.`syslog` AS sl
635647
INNER JOIN `' . $syslogdb_default . '`.`syslog_hosts` AS sh
636648
ON sl.host_id = sh.host_id
637649
WHERE message LIKE ' . db_qstr('%' . $syslog_report['message']);
638650
}
639651

640652
if ($syslog_report['type'] == 'host') {
641-
$sql = 'SELECT sl.*, sh.host FROM `' . $syslogdb_default . '`.`syslog` AS sl
653+
$sql = 'SELECT sl.*, sh.host
654+
FROM `' . $syslogdb_default . '`.`syslog` AS sl
642655
INNER JOIN `' . $syslogdb_default . '`.`syslog_hosts` AS sh
643656
ON sl.host_id = sh.host_id
644657
WHERE sh.host = ' . db_qstr($syslog_report['message']);
645658
}
646659

647660
if ($syslog_report['type'] == 'facility') {
648-
$sql = 'SELECT sl.*, sf.facility FROM `' . $syslogdb_default . '`.`syslog` AS sl
661+
$sql = 'SELECT sl.*, sf.facility
662+
FROM `' . $syslogdb_default . '`.`syslog` AS sl
649663
INNER JOIN `' . $syslogdb_default . '`.`syslog_facilities` AS sf
650664
ON sl.facility_id = sf.facility_id
651665
WHERE sf.facility = ' . db_qstr($syslog_report['message']);
652666
}
653667

668+
if ($syslog_report['type'] == 'program') {
669+
$sql = 'SELECT sl.*, sp.program
670+
FROM `' . $syslogdb_default . '`.`syslog` AS sl
671+
INNER JOIN `' . $syslogdb_default . '`.`syslog_programs` AS sp
672+
ON sl.program_id = sp.program_id
673+
WHERE sp.program = ' . db_qstr($syslog_report['message']);
674+
}
675+
654676
if ($syslog_report['type'] == 'sql') {
655-
$sql = 'SELECT * FROM `' . $syslogdb_default . '`.`syslog`
677+
$sql = 'SELECT *
678+
FROM `' . $syslogdb_default . '`.`syslog`
656679
WHERE (' . $syslog_report['message'] . ')';
657680
}
658681

0 commit comments

Comments
 (0)