Add filter by priority to syslog

This commit is contained in:
Florian Beer
2016-08-05 13:34:23 +02:00
parent eac28226a9
commit a7a8c55eb5
3 changed files with 39 additions and 1 deletions

View File

@ -17,6 +17,11 @@ if (is_numeric($_POST['device'])) {
$param[] = $_POST['device']; $param[] = $_POST['device'];
} }
if ($_POST['priority']) {
$where .= ' AND S.priority = ?';
$param[] = $_POST['priority'];
}
if (!empty($_POST['from'])) { if (!empty($_POST['from'])) {
$where .= ' AND timestamp >= ?'; $where .= ' AND timestamp >= ?';
$param[] = $_POST['from']; $param[] = $_POST['from'];
@ -64,7 +69,8 @@ $sql = "SELECT S.*, DATE_FORMAT(timestamp, '".$config['dateformat']['mysql']['co
foreach (dbFetchRows($sql, $param) as $syslog) { foreach (dbFetchRows($sql, $param) as $syslog) {
$dev = device_by_id_cache($syslog['device_id']); $dev = device_by_id_cache($syslog['device_id']);
$response[] = array( $response[] = array(
'timestamp' => $syslog['date'], 'priority' => generate_priority_icon($syslog['priority']),
'timestamp' => '<div style="white-space:nowrap;">'.$syslog['date'].'</div>',
'device_id' => generate_device_link($dev, shorthost($dev['hostname'])), 'device_id' => generate_device_link($dev, shorthost($dev['hostname'])),
'program' => $syslog['program'], 'program' => $syslog['program'],
'msg' => htmlspecialchars($syslog['msg']), 'msg' => htmlspecialchars($syslog['msg']),

View File

@ -16,6 +16,7 @@ $pagetitle[] = 'Syslog';
<table id="syslog" class="table table-hover table-condensed table-striped"> <table id="syslog" class="table table-hover table-condensed table-striped">
<thead> <thead>
<tr> <tr>
<th data-column-id="priority">&nbsp;</th>
<th data-column-id="timestamp" data-order="desc">Datetime</th> <th data-column-id="timestamp" data-order="desc">Datetime</th>
<th data-column-id="device_id">Hostname</th> <th data-column-id="device_id">Hostname</th>
<th data-column-id="program">Program</th> <th data-column-id="program">Program</th>
@ -67,6 +68,21 @@ var grid = $("#syslog").bootgrid({
"</select>"+ "</select>"+
"</div>"+ "</div>"+
"<div class=\"form-group\">"+ "<div class=\"form-group\">"+
"<select name=\"priority\" id=\"priority\" class=\"form-control input-sm\">"+
"<option value=\"\">All Priorities</option>"+
<?php
foreach (dbFetchRows('SELECT DISTINCT `priority` FROM `syslog` ORDER BY `level`') as $data) {
echo '"<option value=\"'.$data['priority'].'\"';
if ($data['priority'] == $vars['priority']) {
echo ' selected';
}
echo '>'.$data['priority'].'</option>"+';
}
?>
"</select>"+
"</div>"+
"<div class=\"form-group\">"+
"<input name=\"from\" type=\"text\" class=\"form-control input-sm\" id=\"dtpickerfrom\" maxlength=\"16\" value=\"<?php echo $vars['from']; ?>\" placeholder=\"From\" data-date-format=\"YYYY-MM-DD HH:mm\">"+ "<input name=\"from\" type=\"text\" class=\"form-control input-sm\" id=\"dtpickerfrom\" maxlength=\"16\" value=\"<?php echo $vars['from']; ?>\" placeholder=\"From\" data-date-format=\"YYYY-MM-DD HH:mm\">"+
"</div>"+ "</div>"+
"<div class=\"form-group\">"+ "<div class=\"form-group\">"+
@ -83,6 +99,7 @@ var grid = $("#syslog").bootgrid({
id: "syslog", id: "syslog",
device: '<?php echo htmlspecialchars($vars['device']); ?>', device: '<?php echo htmlspecialchars($vars['device']); ?>',
program: '<?php echo htmlspecialchars($vars['program']); ?>', program: '<?php echo htmlspecialchars($vars['program']); ?>',
priority: '<?php echo htmlspecialchars($vars['priority']); ?>',
to: '<?php echo htmlspecialchars($vars['to']); ?>', to: '<?php echo htmlspecialchars($vars['to']); ?>',
from: '<?php echo htmlspecialchars($vars['from']); ?>', from: '<?php echo htmlspecialchars($vars['from']); ?>',
}; };

View File

@ -16,6 +16,21 @@
* the source code distribution for details. * the source code distribution for details.
*/ */
function generate_priority_icon($priority) {
$map = array(
"emerg" => "server_delete",
"alert" => "cancel",
"crit" => "application_lightning",
"err" => "application_delete",
"warning" => "application_error",
"notice" => "application_edit",
"info" => "application",
"debug" => "bug",
);
return '<img src="images/16/' . $map[$priority] .'.png" title="' . $priority . '">';
}
function format_number_short($number, $sf) { function format_number_short($number, $sf) {
// This formats a number so that we only send back three digits plus an optional decimal point. // This formats a number so that we only send back three digits plus an optional decimal point.
// Example: 723.42 -> 723 72.34 -> 72.3 2.23 -> 2.23 // Example: 723.42 -> 723 72.34 -> 72.3 2.23 -> 2.23