2009-04-06 Sancho Lerena <slerena@artica.es>
* godmode/setup/setup.php * godmode/setup/setup_visuals.php * include/config_process.php, * include/functions_config.php: Added new parameter for status icons. Old config (fontpath and attachment dir are now manageable in setup). * include/functions_ui.php, godmode/servers/modificar_server.php operation/agentes/status_monitor.php operation/agentes/estado_agente.php operation/agentes/bulbs.php operation/agentes/estado_monitores.php operation/agentes/tactical.php operation/servers/view_server.php: Added support for custom status images. * images/status_sets: Added three new status images pack: Default color icons, faces and color with text. * reporting/fgraph.php: Temporal FIX for problem in access graphs that takes 100% Apache CPU !!!. Need final fix for this. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1598 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
|
@ -1,3 +1,27 @@
|
||||||
|
2009-04-06 Sancho Lerena <slerena@artica.es>
|
||||||
|
|
||||||
|
* godmode/setup/setup.php
|
||||||
|
* godmode/setup/setup_visuals.php
|
||||||
|
* include/config_process.php,
|
||||||
|
* include/functions_config.php: Added new parameter for status icons.
|
||||||
|
Old config (fontpath and attachment dir are now manageable in setup).
|
||||||
|
|
||||||
|
* include/functions_ui.php,
|
||||||
|
godmode/servers/modificar_server.php
|
||||||
|
operation/agentes/status_monitor.php
|
||||||
|
operation/agentes/estado_agente.php
|
||||||
|
operation/agentes/bulbs.php
|
||||||
|
operation/agentes/estado_monitores.php
|
||||||
|
operation/agentes/tactical.php
|
||||||
|
operation/servers/view_server.php: Added support for custom status
|
||||||
|
images.
|
||||||
|
|
||||||
|
* images/status_sets: Added three new status images pack: Default color
|
||||||
|
icons, faces and color with text.
|
||||||
|
|
||||||
|
* reporting/fgraph.php: Temporal FIX for problem in access graphs that
|
||||||
|
takes 100% Apache CPU !!!. Need final fix for this.
|
||||||
|
|
||||||
2009-04-03 Sancho Lerena <slerena@artica.es>
|
2009-04-03 Sancho Lerena <slerena@artica.es>
|
||||||
|
|
||||||
* include/functions_alerts.php: Fixed another notice.
|
* include/functions_alerts.php: Fixed another notice.
|
||||||
|
|
|
@ -84,7 +84,7 @@ if (isset($_GET["server"])) {
|
||||||
$table->width = "90%";
|
$table->width = "90%";
|
||||||
$table->class = "databox";
|
$table->class = "databox";
|
||||||
$table->align = array ('',"center","center","center","center","center","center","center");
|
$table->align = array ('',"center","center","center","center","center","center","center");
|
||||||
$table->head = array (__('Name'),__('Status'),__('IP Address'),__('Description'),__('Type'),__('Started'),__('Updated'),__('Delete'));
|
$table->head = array (__('Name'),__('Status'),__('Description'),__('Type'),__('Started'),__('Updated'),__('Delete'));
|
||||||
|
|
||||||
foreach ($result as $row) {
|
foreach ($result as $row) {
|
||||||
$server = "";
|
$server = "";
|
||||||
|
@ -104,10 +104,16 @@ if (isset($_GET["server"])) {
|
||||||
$server .= '<img src="images/binary.png" /> ';
|
$server .= '<img src="images/binary.png" /> ';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if ($row['status'] == 0) {
|
||||||
|
$server_status = print_status_image(STATUS_SERVER_DOWN, '', true);
|
||||||
|
} else {
|
||||||
|
$server_status = print_status_image(STATUS_SERVER_OK, '', true);
|
||||||
|
}
|
||||||
|
|
||||||
$table->data[] = array (
|
$table->data[] = array (
|
||||||
'<a href="index.php?sec=gservers&sec2=godmode/servers/modificar_server&server='.$row["id_server"].'"><b>'.$row["name"].'</b></a>',
|
'<a href="index.php?sec=gservers&sec2=godmode/servers/modificar_server&server='.$row["id_server"].'"><b>'.$row["name"].'</b></a>',
|
||||||
'<img src="images/dot_'.(($row["status"] == 0) ? 'red' : 'green').'.png">',
|
$server_status,
|
||||||
$row["ip_address"],
|
|
||||||
substr($row["description"],0,25),
|
substr($row["description"],0,25),
|
||||||
$server,
|
$server,
|
||||||
human_time_comparation ($row["laststart"]),
|
human_time_comparation ($row["laststart"]),
|
||||||
|
|
|
@ -93,6 +93,14 @@ $table->data[19][1] = print_checkbox ('https', 1, $config["https"], true);
|
||||||
$table->data[20][0] = __('Compact CSS and JS into header');
|
$table->data[20][0] = __('Compact CSS and JS into header');
|
||||||
$table->data[20][1] = print_checkbox ('compact_header', 1, $config["compact_header"], true);
|
$table->data[20][1] = print_checkbox ('compact_header', 1, $config["compact_header"], true);
|
||||||
|
|
||||||
|
|
||||||
|
$table->data[25][0] = __('Font path');
|
||||||
|
$table->data[25][1] = print_input_text ('fontpath', $config["fontpath"], '', 50, 255, true);
|
||||||
|
|
||||||
|
$table->data[26][0] = __('Attachment store');
|
||||||
|
$table->data[26][1] = print_input_text ('attachment_store', $config["attachment_store"], '', 50, 255, true);
|
||||||
|
|
||||||
|
|
||||||
enterprise_hook ('load_snmpforward_enterprise');
|
enterprise_hook ('load_snmpforward_enterprise');
|
||||||
|
|
||||||
echo '<form id="form_setup" method="POST" action="index.php?sec=gsetup&sec2=godmode/setup/setup">';
|
echo '<form id="form_setup" method="POST" action="index.php?sec=gsetup&sec2=godmode/setup/setup">';
|
||||||
|
|
|
@ -72,6 +72,14 @@ $table->data[7][1] = print_input_text ('block_size', $config["block_size"], '',
|
||||||
$table->data[8][0] = __('Use round corners');
|
$table->data[8][0] = __('Use round corners');
|
||||||
$table->data[8][1] = print_checkbox ('round_corner', 1, $config["round_corner"], true);
|
$table->data[8][1] = print_checkbox ('round_corner', 1, $config["round_corner"], true);
|
||||||
|
|
||||||
|
$table->data[9][0] = __('Status Icon set');
|
||||||
|
$iconsets["default"] = __('Colors (Default)');
|
||||||
|
$iconsets["faces"] = __('Faces');
|
||||||
|
$iconsets["color_text"] = __('Color and text');
|
||||||
|
|
||||||
|
$table->data[9][1] = print_select ($iconsets, 'status_images_set', $config["status_images_set"], '', '', '', true);
|
||||||
|
|
||||||
|
|
||||||
echo '<form id="form_setup" method="POST" action="index.php?sec=gsetup&sec2=godmode/setup/setup_visuals">';
|
echo '<form id="form_setup" method="POST" action="index.php?sec=gsetup&sec2=godmode/setup/setup_visuals">';
|
||||||
print_input_hidden ('update_config', 1);
|
print_input_hidden ('update_config', 1);
|
||||||
print_table ($table);
|
print_table ($table);
|
||||||
|
|
After Width: | Height: | Size: 572 B |
After Width: | Height: | Size: 696 B |
After Width: | Height: | Size: 688 B |
After Width: | Height: | Size: 528 B |
After Width: | Height: | Size: 460 B |
After Width: | Height: | Size: 817 B |
After Width: | Height: | Size: 659 B |
After Width: | Height: | Size: 433 B |
After Width: | Height: | Size: 460 B |
After Width: | Height: | Size: 572 B |
After Width: | Height: | Size: 460 B |
After Width: | Height: | Size: 817 B |
After Width: | Height: | Size: 572 B |
After Width: | Height: | Size: 460 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 193 B |
After Width: | Height: | Size: 199 B |
After Width: | Height: | Size: 199 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 218 B |
After Width: | Height: | Size: 218 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
|
@ -22,18 +22,6 @@ $pandora_version = 'v3.0-dev';
|
||||||
|
|
||||||
$config['start_time'] = microtime (true);
|
$config['start_time'] = microtime (true);
|
||||||
|
|
||||||
// Next is the directory where "/attachment" directory is placed, to upload files stores.
|
|
||||||
// This MUST be writtable by http server user, and should be in pandora root.
|
|
||||||
// By default, Pandora adds /attachment to this, so by default is the pandora console home dir
|
|
||||||
|
|
||||||
$config['attachment_store'] = $config['homedir'].'/attachment';
|
|
||||||
|
|
||||||
// Default font used for graphics (a Free TrueType font included with Pandora FMS)
|
|
||||||
$config['fontpath'] = $config['homedir'].'/reporting/FreeSans.ttf';
|
|
||||||
|
|
||||||
// Style (pandora by default)
|
|
||||||
$config['style'] = 'pandora';
|
|
||||||
|
|
||||||
//Non-persistent connection. If you want persistent conn change it to mysql_pconnect()
|
//Non-persistent connection. If you want persistent conn change it to mysql_pconnect()
|
||||||
$config['dbconnection'] = mysql_connect ($config["dbhost"], $config["dbuser"], $config["dbpass"]);
|
$config['dbconnection'] = mysql_connect ($config["dbhost"], $config["dbuser"], $config["dbpass"]);
|
||||||
if (! $config['dbconnection']) {
|
if (! $config['dbconnection']) {
|
||||||
|
|
|
@ -107,6 +107,7 @@ function update_config () {
|
||||||
update_config_value ('https', (bool) get_parameter ('https'));
|
update_config_value ('https', (bool) get_parameter ('https'));
|
||||||
update_config_value ('compact_header', (bool) get_parameter ('compact_header'));
|
update_config_value ('compact_header', (bool) get_parameter ('compact_header'));
|
||||||
update_config_value ('round_corner', (bool) get_parameter ('round_corner'));
|
update_config_value ('round_corner', (bool) get_parameter ('round_corner'));
|
||||||
|
update_config_value ('status_images_set', (string) get_parameter ('status_images_set', $config["status_images_set"]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -212,6 +213,10 @@ function process_config () {
|
||||||
update_config_value ('compact_header', false);
|
update_config_value ('compact_header', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isset ($config['status_images_set'])) {
|
||||||
|
update_config_value ('status_images_set', 'default');
|
||||||
|
}
|
||||||
|
|
||||||
if (isset ($_SESSION['id_usuario']))
|
if (isset ($_SESSION['id_usuario']))
|
||||||
$config["id_user"] = $_SESSION["id_usuario"];
|
$config["id_user"] = $_SESSION["id_usuario"];
|
||||||
|
|
||||||
|
@ -225,6 +230,22 @@ function process_config () {
|
||||||
require_once ($config["homedir"]."/include/auth/".$config["auth"]["scheme"].".php");
|
require_once ($config["homedir"]."/include/auth/".$config["auth"]["scheme"].".php");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Next is the directory where "/attachment" directory is placed, to upload files stores.
|
||||||
|
// This MUST be writtable by http server user, and should be in pandora root.
|
||||||
|
// By default, Pandora adds /attachment to this, so by default is the pandora console home dir
|
||||||
|
if (!isset ($config['attachment_store'])) {
|
||||||
|
update_config_value ( 'attachment_store', $config['homedir'].'/attachment');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset ($config['fontpath'])) {
|
||||||
|
update_config_value ( 'fontpath', $config['homedir'].'/reporting/FreeSans.ttf');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset ($config['style'])) {
|
||||||
|
update_config_value ( 'style', 'pandora');
|
||||||
|
}
|
||||||
|
|
||||||
/* Finally, check if any value was overwritten in a form */
|
/* Finally, check if any value was overwritten in a form */
|
||||||
update_config ();
|
update_config ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -325,22 +325,23 @@ function format_alert_row ($alert, $compound = false, $agent = true, $url = '')
|
||||||
|
|
||||||
$data[3] = print_timestamp ($alert["last_fired"], true);
|
$data[3] = print_timestamp ($alert["last_fired"], true);
|
||||||
|
|
||||||
$options = array ();
|
|
||||||
$options["height"] = 18;
|
$status = STATUS_ALERT_NOT_FIRED;
|
||||||
$options["width"] = 40;
|
$title = "";
|
||||||
|
|
||||||
if ($alert["times_fired"] > 0) {
|
if ($alert["times_fired"] > 0) {
|
||||||
$options["src"] = "images/pixel_red.png";
|
$status = STATUS_ALERT_FIRED;
|
||||||
$options["title"] = __('Alert fired').' '.$alert["times_fired"].' '.__('times');
|
$title = __('Alert fired').' '.$alert["times_fired"].' '.__('times');
|
||||||
} elseif ($alert["disabled"] > 0) {
|
} elseif ($alert["disabled"] > 0) {
|
||||||
$options["src"] = "images/pixel_gray.png";
|
$status = STATUS_ALERT_DISABLED;
|
||||||
$options["title"] = __('Alert disabled');
|
$title = __('Alert disabled');
|
||||||
} else {
|
} else {
|
||||||
$options["src"] = "images/pixel_green.png";
|
$status = STATUS_ALERT_NOT_FIRED;
|
||||||
$options["title"] = __('Alert not fired');
|
$title = __('Alert not fired');
|
||||||
}
|
}
|
||||||
|
|
||||||
$data[4] = print_image ($options["src"], true, $options);
|
$data[4] = print_status_image($status, $title, true);
|
||||||
|
|
||||||
|
|
||||||
if ($compound) {
|
if ($compound) {
|
||||||
$data[5] = print_checkbox ("validate_compound[]", $alert["id"], false, true);
|
$data[5] = print_checkbox ("validate_compound[]", $alert["id"], false, true);
|
||||||
|
@ -1011,4 +1012,56 @@ function format_filesize ($bytes) {
|
||||||
|
|
||||||
return format_numeric ($bytes / pow ($con, $log), 1).' '.$strs[$log];
|
return format_numeric ($bytes / pow ($con, $log), 1).' '.$strs[$log];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current path to the selected image set to show the
|
||||||
|
* status of agents and alerts.
|
||||||
|
*
|
||||||
|
* @return array An array with the image path, image width and image height.
|
||||||
|
*/
|
||||||
|
function get_status_images_path()
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
$imageset = $config["status_images_set"];
|
||||||
|
|
||||||
|
if (strpos($imageset, ",") === false) $imageset .= ",40x18";
|
||||||
|
list($imageset, $sizes) = split(",", $imageset, 2);
|
||||||
|
|
||||||
|
if (strpos($sizes, "x") === false) $sizes .= "x18";
|
||||||
|
list($imagewidth, $imageheight) = split("x", $sizes, 2); // 40x18
|
||||||
|
|
||||||
|
$imagespath = "images/status_sets/$imageset";
|
||||||
|
|
||||||
|
return array($imagespath);
|
||||||
|
}
|
||||||
|
|
||||||
|
define('STATUS_MODULE_OK', 'module_ok.png');
|
||||||
|
define('STATUS_MODULE_CRITICAL', 'module_critical.png');
|
||||||
|
define('STATUS_MODULE_WARNING', 'module_warning.png');
|
||||||
|
|
||||||
|
define('STATUS_AGENT_CRITICAL', 'agent_critical.png');
|
||||||
|
define('STATUS_AGENT_WARNING', 'agent_warning.png');
|
||||||
|
define('STATUS_AGENT_DOWN', 'agent_down.png');
|
||||||
|
define('STATUS_AGENT_OK', 'agent_ok.png');
|
||||||
|
define('STATUS_AGENT_NO_DATA', 'agent_no_data.png');
|
||||||
|
define('STATUS_AGENT_NO_MONITORS', 'agent_no_monitors.png');
|
||||||
|
|
||||||
|
define('STATUS_ALERT_FIRED', 'alert_fired.png');
|
||||||
|
define('STATUS_ALERT_NOT_FIRED', 'alert_not_fired.png');
|
||||||
|
define('STATUS_ALERT_DISABLED', 'alert_disabled.png');
|
||||||
|
|
||||||
|
define('STATUS_SERVER_OK', 'server_ok.png');
|
||||||
|
define('STATUS_SERVER_DOWN', 'server_down.png');
|
||||||
|
|
||||||
|
function print_status_image($type, $title = "", $return = false)
|
||||||
|
{
|
||||||
|
list($imagepath) = get_status_images_path();
|
||||||
|
|
||||||
|
$imagepath .= "/" . $type;
|
||||||
|
|
||||||
|
return print_image ($imagepath, $return, array ("border" => 0, "title" => $title));
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -16,25 +16,24 @@
|
||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<table cellpadding='3' cellspacing='3'>
|
<table cellpadding='3' cellspacing='3'>
|
||||||
<tr><td class='f9i'>
|
<tr>
|
||||||
<img src='images/pixel_green.png' width=40 height=18> ".__('All Monitors OK')."</td>
|
<td class='f9i'>" . print_status_image(STATUS_AGENT_OK, __('All Monitors OK'), true) . __('All Monitors OK') . "</td>
|
||||||
<td class='f9i'>
|
<td class='f9i'>" . print_status_image(STATUS_MODULE_CRITICAL, __('At least one monitor fails'), true) . __('At least one monitor fails') . "</td>
|
||||||
<img src='images/pixel_red.png' width=40 height=18> ".__('At least one monitor fails')."</td>
|
<td class='f9i'>" . print_status_image(STATUS_MODULE_WARNING, __('Change between Green/Red state'), true) . __('Change between Green/Red state') . "</td>
|
||||||
<td class='f9i'>
|
|
||||||
<img src='images/pixel_yellow.png' width=40 height=18> ".__('Change between Green/Red state')."</td>
|
<td class='f9i'>" . print_status_image(STATUS_ALERT_FIRED, __('Alert fired'), true) . __('Alert fired') . "</td>
|
||||||
<td class='f9i'>
|
<td class='f9i'>" . print_status_image(STATUS_ALERT_DISABLED, __('Alert disabled'), true) . __('Alerts disabled') . "</td>
|
||||||
<img src='images/pixel_red.png' width=20 height=10> ".__('Alert fired')."</td>
|
|
||||||
<tr><td class='f9i'>
|
<tr>
|
||||||
<img src='images/pixel_gray.png' width=40 height=18> ".__('Agent without monitors')."</td>
|
|
||||||
<td class='f9i'>
|
<td class='f9i'>" . print_status_image(STATUS_AGENT_NO_MONITORS, __('Agent without monitors'), true) . __('Agent without monitors') . "</td>
|
||||||
<img src='images/pixel_blue.png' width=40 height=18> ".__('Agent without data')."</td>
|
<td class='f9i'>" . print_status_image(STATUS_AGENT_NO_DATA, __('Agent without data'), true) . __('Agent without data') . "</td>
|
||||||
<td class='f9i'>
|
<td class='f9i'>" . print_status_image(STATUS_AGENT_DOWN, __('Agent down'), true) . __('Agent down') . "</td>
|
||||||
<img src='images/pixel_fucsia.png' width=40 height=18> ".__('Agent down')."</td>
|
|
||||||
<td class='f9i'>
|
<td class='f9i'>" . print_status_image(STATUS_ALERT_NOT_FIRED, __('Alert not fired'), true) . __('Alert not fired') . "</td>
|
||||||
<img src='images/pixel_green.png' width=20 height=10> ".__('Alert not fired')."</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
";
|
";
|
||||||
|
|
|
@ -304,31 +304,32 @@ if ($agents !== false) {
|
||||||
if ($monitor_down > 0)
|
if ($monitor_down > 0)
|
||||||
echo " <span class='grey'> : ".$monitor_down."</span>";
|
echo " <span class='grey'> : ".$monitor_down."</span>";
|
||||||
echo "</td>";
|
echo "</td>";
|
||||||
|
|
||||||
|
|
||||||
echo "<td class='$tdcolor' align='center'>";
|
echo "<td class='$tdcolor' align='center'>";
|
||||||
if ($numero_modulos > 0){
|
if ($numero_modulos > 0){
|
||||||
if ($agent_down > 0) {
|
if ($agent_down > 0) {
|
||||||
echo '<img src="images/pixel_fucsia.png" width="40" height="18" title="'.__('Agent down').'" />';
|
print_status_image(STATUS_AGENT_DOWN, __('Agent down'));
|
||||||
} elseif ($monitor_critical > 0) {
|
} elseif ($monitor_critical > 0) {
|
||||||
echo '<img src="images/pixel_red.png" width="40" height="18" title="'.__('At least one module in CRITICAL status').'" />';
|
print_status_image(STATUS_AGENT_CRITICAL, __('At least one module in CRITICAL status'));
|
||||||
} elseif ($monitor_warning > 0) {
|
} elseif ($monitor_warning > 0) {
|
||||||
echo '<img src="images/pixel_yellow.png" width="40" height="18" title="'.__('At least one module in WARNING status').'" />';
|
print_status_image(STATUS_AGENT_WARNING, __('At least one module in WARNING status'));
|
||||||
} else {
|
} else {
|
||||||
echo '<img src="images/pixel_green.png" width="40" height="18" title="'.__('All Monitors OK').'" />';
|
print_status_image(STATUS_AGENT_OK, __('All Monitors OK'));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo '<img src="images/pixel_blue.png" width="40" height="18" title="'.__('Agent without data').'" />';
|
print_status_image(STATUS_AGENT_NO_DATA, __('Agent without data'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// checks if an alert was fired recently
|
// checks if an alert was fired recently
|
||||||
echo "<td class='$tdcolor' align='center'>";
|
echo "<td class='$tdcolor' align='center'>";
|
||||||
if (give_disabled_group ($id_grupo)) {
|
if (give_disabled_group ($id_grupo)) {
|
||||||
echo "<img src='images/pixel_gray.png' width=20 height=9>";
|
print_status_image(STATUS_ALERT_DISABLED, __('Alert disabled'));
|
||||||
} else {
|
} else {
|
||||||
if (check_alert_fired ($id_agente) == 1)
|
if (check_alert_fired ($id_agente) == 1)
|
||||||
echo '<img src="images/pixel_red.png" width="20" height="9" title="'.__('Alert fired').'" />';
|
print_status_image(STATUS_ALERT_FIRED, __('Alert fired'));
|
||||||
else
|
else
|
||||||
echo '<img src="images/pixel_green.png" width="20" height="9" title="'.__('Alert not fired').'" />';
|
print_status_image(STATUS_ALERT_NOT_FIRED, __('Alert not fired'));
|
||||||
}
|
}
|
||||||
echo "</td>";
|
echo "</td>";
|
||||||
echo "<td class='$tdcolor'>";
|
echo "<td class='$tdcolor'>";
|
||||||
|
|
|
@ -54,6 +54,8 @@ $table->head[4] = __('Status');
|
||||||
$table->head[5] = __('Interval');
|
$table->head[5] = __('Interval');
|
||||||
$table->head[6] = __('Last contact');
|
$table->head[6] = __('Last contact');
|
||||||
|
|
||||||
|
$table->align = array("left","left","left","left","center");
|
||||||
|
|
||||||
foreach ($modules as $module) {
|
foreach ($modules as $module) {
|
||||||
$data = array ();
|
$data = array ();
|
||||||
if (($module["id_modulo"] != 1) && ($module["id_tipo_modulo"] != 100)) {
|
if (($module["id_modulo"] != 1) && ($module["id_tipo_modulo"] != 100)) {
|
||||||
|
@ -72,20 +74,31 @@ foreach ($modules as $module) {
|
||||||
|
|
||||||
$data[2] = substr ($module["nombre"], 0, 25);
|
$data[2] = substr ($module["nombre"], 0, 25);
|
||||||
$data[3] = substr ($module["descripcion"], 0, 35);
|
$data[3] = substr ($module["descripcion"], 0, 35);
|
||||||
|
|
||||||
|
|
||||||
|
$status = STATUS_MODULE_WARNING;
|
||||||
|
$title = "";
|
||||||
|
|
||||||
if ($module["estado"] == 2) {
|
if ($module["estado"] == 2) {
|
||||||
$data[4] = '<img src="images/pixel_yellow.png" width="40" height="18" title="'.__('WARNING'). ' : ';
|
$status = STATUS_MODULE_WARNING;
|
||||||
|
$title = __('WARNING');
|
||||||
} elseif ($module["estado"] == 1) {
|
} elseif ($module["estado"] == 1) {
|
||||||
$data[4] = '<img src="images/pixel_red.png" width="40" height="18" title="'.__('CRITICAL'). ' : ';
|
$status = STATUS_MODULE_CRITICAL;
|
||||||
|
$title = __('CRITICAL');
|
||||||
} else {
|
} else {
|
||||||
$data[4] = '<img src="images/pixel_green.png" width="40" height="18" title="'.__('NORMAL'). ' : ';
|
$status = STATUS_MODULE_OK;
|
||||||
|
$title = __('NORMAL');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_numeric($module["datos"])) {
|
if (is_numeric($module["datos"])) {
|
||||||
$data[4] .= format_for_graph($module["datos"]). '">';
|
$title .= " : " . format_for_graph($module["datos"]);
|
||||||
} else {
|
} else {
|
||||||
$data[4] .= substr(salida_limpia($module["datos"]),0,42) . '">';
|
$title .= " : " . substr(salida_limpia($module["datos"]),0,42);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$data[4] = print_status_image($status, $title, true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($module["module_interval"] > 0) {
|
if ($module["module_interval"] > 0) {
|
||||||
$data[5] = $module["module_interval"];
|
$data[5] = $module["module_interval"];
|
||||||
|
|
|
@ -233,11 +233,11 @@ foreach ($result as $row) {
|
||||||
$data[4] = $row["agent_interval"];
|
$data[4] = $row["agent_interval"];
|
||||||
|
|
||||||
if ($row["estado"] == 0) {
|
if ($row["estado"] == 0) {
|
||||||
$data[5] = '<img src="images/pixel_green.png" width="40" height="18" title="'.$row["datos"].'">';
|
$data[5] = print_status_image(STATUS_MODULE_OK, $row["datos"], true);
|
||||||
} elseif ($row["estado"] == 1) {
|
} elseif ($row["estado"] == 1) {
|
||||||
$data[5] = '<img src="images/pixel_red.png" width="40" height="18" title="'.$row["datos"].'">';
|
$data[5] = print_status_image(STATUS_MODULE_CRITICAL, $row["datos"], true);
|
||||||
} else {
|
} else {
|
||||||
$data[5] = '<img src="images/pixel_yellow.png" width="40" height="18" title="'.$row["datos"].'">';
|
$data[5] = print_status_image(STATUS_MODULE_WARNING, $row["datos"], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$seconds = get_system_time () - $row["utimestamp"];
|
$seconds = get_system_time () - $row["utimestamp"];
|
||||||
|
|
|
@ -185,9 +185,9 @@ foreach ($serverinfo as $server) {
|
||||||
$data[0] = $server["name"];
|
$data[0] = $server["name"];
|
||||||
|
|
||||||
if ($server["status"] == 0){
|
if ($server["status"] == 0){
|
||||||
$data[1] = print_image ("images/pixel_red.png", true, array ("width" => 20, "height" => 20));
|
$data[1] = print_status_image(STATUS_SERVER_DOWN, '', true);
|
||||||
} else {
|
} else {
|
||||||
$data[1] = print_image ("images/pixel_green.png", true, array ("width" => 20, "height" => 20));
|
$data[1] = print_status_image(STATUS_SERVER_OK, '', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$data[2] = print_image ("reporting/fgraph.php?tipo=progress&percent=".$server["load"]."&height=20&width=80",
|
$data[2] = print_image ("reporting/fgraph.php?tipo=progress&percent=".$server["load"]."&height=20&width=80",
|
||||||
|
|
|
@ -65,9 +65,9 @@ foreach ($servers as $server) {
|
||||||
$data[0] = "<b>".$server['name']."</b>";
|
$data[0] = "<b>".$server['name']."</b>";
|
||||||
|
|
||||||
if ($server['status'] == 0) {
|
if ($server['status'] == 0) {
|
||||||
$data[1] = print_image ("images/pixel_red.png", true, array ("width" => 10, "height" => 10));
|
$data[1] = print_status_image(STATUS_SERVER_DOWN, '', true);
|
||||||
} else {
|
} else {
|
||||||
$data[1] = print_image ("images/pixel_green.png", true, array ("width" => 10, "height" => 10));
|
$data[1] = print_status_image(STATUS_SERVER_OK, '', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load
|
// Load
|
||||||
|
|
|
@ -429,6 +429,11 @@ function graphic_agentmodules ($id_agent, $width, $height) {
|
||||||
|
|
||||||
function graphic_agentaccess ($id_agent, $width, $height, $period = 0) {
|
function graphic_agentaccess ($id_agent, $width, $height, $period = 0) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
/* BROKEN: Need to fix, it gets 100% CPU of Apache !!!*/
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
/*
|
||||||
|
|
||||||
$resolution = $config["graph_res"] * ($period * 2 / $width); // Number of "slices" we want in graph
|
$resolution = $config["graph_res"] * ($period * 2 / $width); // Number of "slices" we want in graph
|
||||||
|
|
||||||
|
@ -450,9 +455,15 @@ function graphic_agentaccess ($id_agent, $width, $height, $period = 0) {
|
||||||
"utimestamp < $date"),
|
"utimestamp < $date"),
|
||||||
array ('utimestamp'));
|
array ('utimestamp'));
|
||||||
|
|
||||||
|
|
||||||
if ($result === false)
|
if ($result === false)
|
||||||
$result = array ();
|
$result = array ();
|
||||||
|
|
||||||
|
|
||||||
|
// SEEMS that problem is below
|
||||||
|
// it get's 100% cpu on apache and problem is localed here, I don't exactly
|
||||||
|
// why or what is happening here, but i'm sure that the problem is here.
|
||||||
|
|
||||||
$max_value = 0;
|
$max_value = 0;
|
||||||
foreach ($result as $access) {
|
foreach ($result as $access) {
|
||||||
$utimestamp = $access['utimestamp'];
|
$utimestamp = $access['utimestamp'];
|
||||||
|
@ -463,7 +474,7 @@ function graphic_agentaccess ($id_agent, $width, $height, $period = 0) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
$engine = get_graph_engine ($period);
|
$engine = get_graph_engine ($period);
|
||||||
|
|
||||||
$engine->width = $width;
|
$engine->width = $width;
|
||||||
|
|