summaryrefslogtreecommitdiffstats
path: root/frontends/php
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-03-22 08:53:23 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-03-22 08:53:23 +0000
commit97583f76e5851df0c94ac1cb4d0f64ddf46a72e7 (patch)
tree0863d76cfa80dad985b671ab54f592f9f45d3f73 /frontends/php
parent81f73b9332fae92a2da659d9a4edf31e87ccbf57 (diff)
downloadzabbix-97583f76e5851df0c94ac1cb4d0f64ddf46a72e7.tar.gz
zabbix-97583f76e5851df0c94ac1cb4d0f64ddf46a72e7.tar.xz
zabbix-97583f76e5851df0c94ac1cb4d0f64ddf46a72e7.zip
- added viwer of dicovery events (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@3907 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php')
-rw-r--r--frontends/php/events.php111
-rw-r--r--frontends/php/include/defines.inc.php538
-rw-r--r--frontends/php/include/discovery.inc.php18
-rw-r--r--frontends/php/include/events.inc.php73
-rw-r--r--frontends/php/include/locales/en_gb.inc.php1
-rw-r--r--frontends/php/include/screens.inc.php2
6 files changed, 434 insertions, 309 deletions
diff --git a/frontends/php/events.php b/frontends/php/events.php
index 1029f80a..61cfe03c 100644
--- a/frontends/php/events.php
+++ b/frontends/php/events.php
@@ -22,6 +22,7 @@
require_once "include/config.inc.php";
require_once "include/hosts.inc.php";
require_once "include/events.inc.php";
+ require_once "include/discovery.inc.php";
$page["title"] = "S_LATEST_EVENTS";
$page["file"] = "events.php";
@@ -32,9 +33,16 @@ include_once "include/page_header.php";
?>
<?php
+ $allow_discovery = check_right_on_discovery(PERM_READ_ONLY);
+
+ $allowed_sources[] = EVENT_SOURCE_TRIGGERS;
+ if($allow_discovery)
+ $allowed_sources[] = EVENT_SOURCE_DISCOVERY;
+
define('PAGE_SIZE', 100);
// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION
$fields=array(
+ "source"=> array(T_ZBX_INT, O_OPT, P_SYS, IN($allowed_sources), NULL),
"groupid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL),
"hostid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL),
"start"=> array(T_ZBX_INT, O_OPT, P_SYS, BETWEEN(0,65535)."({}%".PAGE_SIZE."==0)", NULL),
@@ -42,9 +50,14 @@ include_once "include/page_header.php";
"prev"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL)
);
+ $_REQUEST['source'] = get_request('source', get_profile('web.events.source', 0));
+
check_fields($fields);
- validate_group_with_host(PERM_READ_ONLY, array("allow_all_hosts","monitored_hosts","with_items"));
+ $source = get_request('source', EVENT_SOURCE_TRIGGERS);
+
+ update_profile('web.events.source',$source);
+
?>
<?php
$_REQUEST["start"] = get_request("start", 0);
@@ -59,50 +72,72 @@ include_once "include/page_header.php";
if($_REQUEST["start"] < 0) $_REQUEST["start"] = 0;
?>
<?php
- $table = get_history_of_events($_REQUEST["start"],100,$_REQUEST["groupid"],$_REQUEST["hostid"]);
-
- $r_form = new CForm();
-
- $cmbGroup = new CComboBox("groupid",$_REQUEST["groupid"],"submit()");
- $cmbHosts = new CComboBox("hostid",$_REQUEST["hostid"],"submit()");
+ $source = get_request('source', EVENT_SOURCE_TRIGGERS);
- $cmbGroup->AddItem(0,S_ALL_SMALL);
-
- $availiable_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_LIST, null, null, $ZBX_CURNODEID);
-
- $result=DBselect("select distinct g.groupid,g.name from groups g, hosts_groups hg, hosts h, items i ".
- " where h.hostid in (".$availiable_hosts.") ".
- " and hg.groupid=g.groupid and h.status=".HOST_STATUS_MONITORED.
- " and h.hostid=i.hostid and hg.hostid=h.hostid ".
- " order by g.name");
- while($row=DBfetch($result))
+ $r_form = new CForm();
+ if($allow_discovery)
{
- $cmbGroup->AddItem($row["groupid"],$row["name"]);
+ $cmbSource = new CComboBox('source', $source, 'submit()');
+ $cmbSource->AddItem(EVENT_SOURCE_TRIGGERS, S_TRIGGER);
+ $cmbSource->AddItem(EVENT_SOURCE_DISCOVERY, S_DISCOVERY);
+ $r_form->AddItem(array(S_SOURCE, SPACE, $cmbSource));
}
- $r_form->AddItem(array(S_GROUP.SPACE,$cmbGroup));
-
- $cmbHosts->AddItem(0,S_ALL_SMALL);
- if($_REQUEST["groupid"] > 0)
+ show_table_header(S_HISTORY_OF_EVENTS_BIG,$r_form);
+ echo BR;
+
+ $r_form = new CForm();
+
+ if($source == EVENT_SOURCE_DISCOVERY)
{
- $sql="select h.hostid,h.host from hosts h,items i,hosts_groups hg where h.status=".HOST_STATUS_MONITORED.
- " and h.hostid=i.hostid and hg.groupid=".$_REQUEST["groupid"]." and hg.hostid=h.hostid".
- " and h.hostid in (".$availiable_hosts.") ".
- " group by h.hostid,h.host order by h.host";
+ $table = get_history_of_discovery_events($_REQUEST["start"], PAGE_SIZE);
}
else
{
- $sql="select h.hostid,h.host from hosts h,items i where h.status=".HOST_STATUS_MONITORED.
- " and h.hostid=i.hostid".
- " and h.hostid in (".$availiable_hosts.") ".
- " group by h.hostid,h.host order by h.host";
- }
- $result=DBselect($sql);
- while($row=DBfetch($result))
- {
- $cmbHosts->AddItem($row["hostid"],$row["host"]);
- }
+ validate_group_with_host(PERM_READ_ONLY, array("allow_all_hosts","monitored_hosts","with_items"));
- $r_form->AddItem(array(SPACE.S_HOST.SPACE,$cmbHosts));
+ $table = get_history_of_triggers_events($_REQUEST["start"], PAGE_SIZE, $_REQUEST["groupid"],$_REQUEST["hostid"]);
+
+ $cmbGroup = new CComboBox("groupid",$_REQUEST["groupid"],"submit()");
+ $cmbHosts = new CComboBox("hostid",$_REQUEST["hostid"],"submit()");
+
+ $cmbGroup->AddItem(0,S_ALL_SMALL);
+
+ $availiable_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_LIST, null, null, $ZBX_CURNODEID);
+
+ $result=DBselect("select distinct g.groupid,g.name from groups g, hosts_groups hg, hosts h, items i ".
+ " where h.hostid in (".$availiable_hosts.") ".
+ " and hg.groupid=g.groupid and h.status=".HOST_STATUS_MONITORED.
+ " and h.hostid=i.hostid and hg.hostid=h.hostid ".
+ " order by g.name");
+ while($row=DBfetch($result))
+ {
+ $cmbGroup->AddItem($row["groupid"],$row["name"]);
+ }
+ $r_form->AddItem(array(S_GROUP.SPACE,$cmbGroup));
+
+ $cmbHosts->AddItem(0,S_ALL_SMALL);
+ if($_REQUEST["groupid"] > 0)
+ {
+ $sql="select h.hostid,h.host from hosts h,items i,hosts_groups hg where h.status=".HOST_STATUS_MONITORED.
+ " and h.hostid=i.hostid and hg.groupid=".$_REQUEST["groupid"]." and hg.hostid=h.hostid".
+ " and h.hostid in (".$availiable_hosts.") ".
+ " group by h.hostid,h.host order by h.host";
+ }
+ else
+ {
+ $sql="select h.hostid,h.host from hosts h,items i where h.status=".HOST_STATUS_MONITORED.
+ " and h.hostid=i.hostid".
+ " and h.hostid in (".$availiable_hosts.") ".
+ " group by h.hostid,h.host order by h.host";
+ }
+ $result=DBselect($sql);
+ while($row=DBfetch($result))
+ {
+ $cmbHosts->AddItem($row["hostid"],$row["host"]);
+ }
+
+ $r_form->AddItem(array(SPACE.S_HOST.SPACE,$cmbHosts));
+ }
$r_form->AddVar("start",$_REQUEST["start"]);
@@ -116,7 +151,7 @@ include_once "include/page_header.php";
$btnNext->SetEnabled('no');
$r_form->AddItem($btnNext);
- show_table_header(S_HISTORY_OF_EVENTS_BIG,$r_form);
+ show_table_header(S_EVENTS_BIG,$r_form);
$table->Show();
?>
diff --git a/frontends/php/include/defines.inc.php b/frontends/php/include/defines.inc.php
index c7dd3d2c..2d9dd41e 100644
--- a/frontends/php/include/defines.inc.php
+++ b/frontends/php/include/defines.inc.php
@@ -19,158 +19,158 @@
**/
?>
<?php
- define("XML_TAG_ZABBIX_EXPORT", 'zabbix_export');
- define("XML_TAG_HOSTS", 'hosts');
- define("XML_TAG_HOST", 'host');
- define("XML_TAG_GROUPS", 'groups');
- define("XML_TAG_GROUP", 'group');
- define("XML_TAG_ITEMS", 'items');
- define("XML_TAG_ITEM", 'item');
- define("XML_TAG_TRIGGERS", 'triggers');
- define("XML_TAG_TRIGGER", 'trigger');
- define("XML_TAG_GRAPHS", 'graphs');
- define("XML_TAG_GRAPH", 'graph');
- define("XML_TAG_GRAPH_ELEMENT", 'graph_element');
- define("XML_TAG_GRAPH_ELEMENTS", 'graph_elements');
- define("XML_TAG_SCREENS", 'screens');
- define("XML_TAG_SCREEN", 'screen');
- define("XML_TAG_SCREEN_ELEMENT", 'screen_element');
- define("XML_TAG_SCREEN_ELEMENTS", 'screen_elements');
+ define('XML_TAG_ZABBIX_EXPORT', 'zabbix_export');
+ define('XML_TAG_HOSTS', 'hosts');
+ define('XML_TAG_HOST', 'host');
+ define('XML_TAG_GROUPS', 'groups');
+ define('XML_TAG_GROUP', 'group');
+ define('XML_TAG_ITEMS', 'items');
+ define('XML_TAG_ITEM', 'item');
+ define('XML_TAG_TRIGGERS', 'triggers');
+ define('XML_TAG_TRIGGER', 'trigger');
+ define('XML_TAG_GRAPHS', 'graphs');
+ define('XML_TAG_GRAPH', 'graph');
+ define('XML_TAG_GRAPH_ELEMENT', 'graph_element');
+ define('XML_TAG_GRAPH_ELEMENTS', 'graph_elements');
+ define('XML_TAG_SCREENS', 'screens');
+ define('XML_TAG_SCREEN', 'screen');
+ define('XML_TAG_SCREEN_ELEMENT', 'screen_element');
+ define('XML_TAG_SCREEN_ELEMENTS', 'screen_elements');
- define("PAGE_TYPE_HTML", 0);
- define("PAGE_TYPE_IMAGE", 1);
- define("PAGE_TYPE_XML", 2);
-
- define("T_ZBX_STR", 0);
- define("T_ZBX_INT", 1);
- define("T_ZBX_DBL", 2);
- define("T_ZBX_PERIOD", 3);
- define("T_ZBX_IP", 4);
- define("T_ZBX_CLR", 5);
- define("T_ZBX_PORTS", 5);
-
- define("O_MAND", 0);
- define("O_OPT", 1);
- define("O_NO", 2);
-
- define("P_SYS", 1);
- define("P_UNSET_EMPTY", 2);
-// define("P_USR", 2);
-// define("P_GET", 4);
-// define("P_POST", 8);
- define("P_ACT", 16);
- define("P_NZERO", 32);
+ define('PAGE_TYPE_HTML', 0);
+ define('PAGE_TYPE_IMAGE', 1);
+ define('PAGE_TYPE_XML', 2);
+
+ define('T_ZBX_STR', 0);
+ define('T_ZBX_INT', 1);
+ define('T_ZBX_DBL', 2);
+ define('T_ZBX_PERIOD', 3);
+ define('T_ZBX_IP', 4);
+ define('T_ZBX_CLR', 5);
+ define('T_ZBX_PORTS', 5);
+
+ define('O_MAND', 0);
+ define('O_OPT', 1);
+ define('O_NO', 2);
+
+ define('P_SYS', 1);
+ define('P_UNSET_EMPTY', 2);
+// define('P_USR', 2);
+// define('P_GET', 4);
+// define('P_POST', 8);
+ define('P_ACT', 16);
+ define('P_NZERO', 32);
// MISC PARAMETERS
- define("IMAGE_FORMAT_PNG", "PNG");
- define("IMAGE_FORMAT_JPEG", "JPEG");
- define("IMAGE_FORMAT_TEXT", "JPEG");
+ define('IMAGE_FORMAT_PNG', 'PNG');
+ define('IMAGE_FORMAT_JPEG', 'JPEG');
+ define('IMAGE_FORMAT_TEXT', 'JPEG');
// END OF MISC PARAMETERS
- define("AUDIT_ACTION_ADD", 0);
- define("AUDIT_ACTION_UPDATE", 1);
- define("AUDIT_ACTION_DELETE", 2);
- define("AUDIT_ACTION_LOGIN", 3);
- define("AUDIT_ACTION_LOGOUT", 4);
-
- define("AUDIT_RESOURCE_USER", 0);
-// define("AUDIT_RESOURCE_ZABBIX", 1);
- define("AUDIT_RESOURCE_ZABBIX_CONFIG", 2);
- define("AUDIT_RESOURCE_MEDIA_TYPE", 3);
- define("AUDIT_RESOURCE_HOST", 4);
- define("AUDIT_RESOURCE_ACTION", 5);
- define("AUDIT_RESOURCE_GRAPH", 6);
- define("AUDIT_RESOURCE_GRAPH_ELEMENT", 7);
-// define("AUDIT_RESOURCE_ESCALATION", 8);
-// define("AUDIT_RESOURCE_ESCALATION_RULE",9);
-// define("AUDIT_RESOURCE_AUTOREGISTRATION",10);
- define("AUDIT_RESOURCE_USER_GROUP", 11);
- define("AUDIT_RESOURCE_APPLICATION", 12);
- define("AUDIT_RESOURCE_TRIGGER", 13);
- define("AUDIT_RESOURCE_HOST_GROUP", 14);
- define("AUDIT_RESOURCE_ITEM", 15);
- define("AUDIT_RESOURCE_IMAGE", 16);
- define("AUDIT_RESOURCE_VALUE_MAP", 17);
- define("AUDIT_RESOURCE_IT_SERVICE", 18);
- define("AUDIT_RESOURCE_MAP", 19);
- define("AUDIT_RESOURCE_SCREEN", 20);
- define("AUDIT_RESOURCE_NODE", 21);
- define("AUDIT_RESOURCE_SCENARIO", 22);
- define("AUDIT_RESOURCE_DISCOVERY_RULE", 23);
-
- define("CONDITION_TYPE_GROUP", 0);
- define("CONDITION_TYPE_HOST", 1);
- define("CONDITION_TYPE_TRIGGER", 2);
- define("CONDITION_TYPE_TRIGGER_NAME", 3);
- define("CONDITION_TYPE_TRIGGER_SEVERITY",4);
- define("CONDITION_TYPE_TRIGGER_VALUE", 5);
- define("CONDITION_TYPE_TIME_PERIOD", 6);
- define("CONDITION_TYPE_DHOST_IP", 7); /* = # => <= */ /* TODO!!!! */
- define("CONDITION_TYPE_DSERVICE_TYPE", 8); /* = # */ /* TODO!!!! */
- define("CONDITION_TYPE_DSERVICE_PORT", 9); /* = # => <= */ /* TODO!!!! */
-
- define("CONDITION_OPERATOR_EQUAL", 0);
- define("CONDITION_OPERATOR_NOT_EQUAL", 1);
- define("CONDITION_OPERATOR_LIKE", 2);
- define("CONDITION_OPERATOR_NOT_LIKE", 3);
- define("CONDITION_OPERATOR_IN", 4);
- define("CONDITION_OPERATOR_MORE_EQUAL", 5);
- define("CONDITION_OPERATOR_LESS_EQUAL", 6);
-
- define("HOST_STATUS_MONITORED", 0);
- define("HOST_STATUS_NOT_MONITORED", 1);
-// define("HOST_STATUS_UNREACHABLE", 2);
- define("HOST_STATUS_TEMPLATE", 3);
- define("HOST_STATUS_DELETED", 4);
-
- define("HOST_AVAILABLE_UNKNOWN", 0);
- define("HOST_AVAILABLE_TRUE", 1);
- define("HOST_AVAILABLE_FALSE", 2);
-
- define("MAP_LABEL_TYPE_LABEL",0);
- define("MAP_LABEL_TYPE_IP",1);
- define("MAP_LABEL_TYPE_NAME",2);
- define("MAP_LABEL_TYPE_STATUS",3);
- define("MAP_LABEL_TYPE_NOTHING",4);
-
- define("MAP_LABEL_LOC_BOTTOM", 0);
- define("MAP_LABEL_LOC_LEFT", 1);
- define("MAP_LABEL_LOC_RIGHT", 2);
- define("MAP_LABEL_LOC_TOP", 3);
-
- define("SYSMAP_ELEMENT_TYPE_HOST", 0);
- define("SYSMAP_ELEMENT_TYPE_MAP", 1);
- define("SYSMAP_ELEMENT_TYPE_TRIGGER", 2);
- define("SYSMAP_ELEMENT_TYPE_HOST_GROUP",3);
-
- define("SYSMAP_ELEMENT_ICON_ON", 0);
- define("SYSMAP_ELEMENT_ICON_OFF", 1);
- define("SYSMAP_ELEMENT_ICON_UNKNOWN", 2);
-
- define("ITEM_TYPE_ZABBIX",0);
- define("ITEM_TYPE_SNMPV1",1);
- define("ITEM_TYPE_TRAPPER",2);
- define("ITEM_TYPE_SIMPLE",3);
- define("ITEM_TYPE_SNMPV2C",4);
- define("ITEM_TYPE_INTERNAL",5);
- define("ITEM_TYPE_SNMPV3",6);
- define("ITEM_TYPE_ZABBIX_ACTIVE",7);
- define("ITEM_TYPE_AGGREGATE",8);
- define("ITEM_TYPE_HTTPTEST",9);
-
- define("ITEM_VALUE_TYPE_FLOAT",0);
- define("ITEM_VALUE_TYPE_STR",1);
- define("ITEM_VALUE_TYPE_LOG",2);
- define("ITEM_VALUE_TYPE_UINT64",3);
- define("ITEM_VALUE_TYPE_TEXT",4);
-
- define("ITEM_STATUS_ACTIVE",0);
- define("ITEM_STATUS_DISABLED",1);
- define("ITEM_STATUS_NOTSUPPORTED",3);
-
- define("ITEM_SNMPV3_SECURITYLEVEL_NOAUTHNOPRIV",0);
- define("ITEM_SNMPV3_SECURITYLEVEL_AUTHNOPRIV",1);
- define("ITEM_SNMPV3_SECURITYLEVEL_AUTHPRIV",2);
+ define('AUDIT_ACTION_ADD', 0);
+ define('AUDIT_ACTION_UPDATE', 1);
+ define('AUDIT_ACTION_DELETE', 2);
+ define('AUDIT_ACTION_LOGIN', 3);
+ define('AUDIT_ACTION_LOGOUT', 4);
+
+ define('AUDIT_RESOURCE_USER', 0);
+// define('AUDIT_RESOURCE_ZABBIX', 1);
+ define('AUDIT_RESOURCE_ZABBIX_CONFIG', 2);
+ define('AUDIT_RESOURCE_MEDIA_TYPE', 3);
+ define('AUDIT_RESOURCE_HOST', 4);
+ define('AUDIT_RESOURCE_ACTION', 5);
+ define('AUDIT_RESOURCE_GRAPH', 6);
+ define('AUDIT_RESOURCE_GRAPH_ELEMENT', 7);
+// define('AUDIT_RESOURCE_ESCALATION', 8);
+// define('AUDIT_RESOURCE_ESCALATION_RULE',9);
+// define('AUDIT_RESOURCE_AUTOREGISTRATION',10);
+ define('AUDIT_RESOURCE_USER_GROUP', 11);
+ define('AUDIT_RESOURCE_APPLICATION', 12);
+ define('AUDIT_RESOURCE_TRIGGER', 13);
+ define('AUDIT_RESOURCE_HOST_GROUP', 14);
+ define('AUDIT_RESOURCE_ITEM', 15);
+ define('AUDIT_RESOURCE_IMAGE', 16);
+ define('AUDIT_RESOURCE_VALUE_MAP', 17);
+ define('AUDIT_RESOURCE_IT_SERVICE', 18);
+ define('AUDIT_RESOURCE_MAP', 19);
+ define('AUDIT_RESOURCE_SCREEN', 20);
+ define('AUDIT_RESOURCE_NODE', 21);
+ define('AUDIT_RESOURCE_SCENARIO', 22);
+ define('AUDIT_RESOURCE_DISCOVERY_RULE', 23);
+
+ define('CONDITION_TYPE_GROUP', 0);
+ define('CONDITION_TYPE_HOST', 1);
+ define('CONDITION_TYPE_TRIGGER', 2);
+ define('CONDITION_TYPE_TRIGGER_NAME', 3);
+ define('CONDITION_TYPE_TRIGGER_SEVERITY',4);
+ define('CONDITION_TYPE_TRIGGER_VALUE', 5);
+ define('CONDITION_TYPE_TIME_PERIOD', 6);
+ define('CONDITION_TYPE_DHOST_IP', 7); /* = # => <= */ /* TODO!!!! */
+ define('CONDITION_TYPE_DSERVICE_TYPE', 8); /* = # */ /* TODO!!!! */
+ define('CONDITION_TYPE_DSERVICE_PORT', 9); /* = # => <= */ /* TODO!!!! */
+
+ define('CONDITION_OPERATOR_EQUAL', 0);
+ define('CONDITION_OPERATOR_NOT_EQUAL', 1);
+ define('CONDITION_OPERATOR_LIKE', 2);
+ define('CONDITION_OPERATOR_NOT_LIKE', 3);
+ define('CONDITION_OPERATOR_IN', 4);
+ define('CONDITION_OPERATOR_MORE_EQUAL', 5);
+ define('CONDITION_OPERATOR_LESS_EQUAL', 6);
+
+ define('HOST_STATUS_MONITORED', 0);
+ define('HOST_STATUS_NOT_MONITORED', 1);
+// define('HOST_STATUS_UNREACHABLE', 2);
+ define('HOST_STATUS_TEMPLATE', 3);
+ define('HOST_STATUS_DELETED', 4);
+
+ define('HOST_AVAILABLE_UNKNOWN', 0);
+ define('HOST_AVAILABLE_TRUE', 1);
+ define('HOST_AVAILABLE_FALSE', 2);
+
+ define('MAP_LABEL_TYPE_LABEL',0);
+ define('MAP_LABEL_TYPE_IP',1);
+ define('MAP_LABEL_TYPE_NAME',2);
+ define('MAP_LABEL_TYPE_STATUS',3);
+ define('MAP_LABEL_TYPE_NOTHING',4);
+
+ define('MAP_LABEL_LOC_BOTTOM', 0);
+ define('MAP_LABEL_LOC_LEFT', 1);
+ define('MAP_LABEL_LOC_RIGHT', 2);
+ define('MAP_LABEL_LOC_TOP', 3);
+
+ define('SYSMAP_ELEMENT_TYPE_HOST', 0);
+ define('SYSMAP_ELEMENT_TYPE_MAP', 1);
+ define('SYSMAP_ELEMENT_TYPE_TRIGGER', 2);
+ define('SYSMAP_ELEMENT_TYPE_HOST_GROUP',3);
+
+ define('SYSMAP_ELEMENT_ICON_ON', 0);
+ define('SYSMAP_ELEMENT_ICON_OFF', 1);
+ define('SYSMAP_ELEMENT_ICON_UNKNOWN', 2);
+
+ define('ITEM_TYPE_ZABBIX',0);
+ define('ITEM_TYPE_SNMPV1',1);
+ define('ITEM_TYPE_TRAPPER',2);
+ define('ITEM_TYPE_SIMPLE',3);
+ define('ITEM_TYPE_SNMPV2C',4);
+ define('ITEM_TYPE_INTERNAL',5);
+ define('ITEM_TYPE_SNMPV3',6);
+ define('ITEM_TYPE_ZABBIX_ACTIVE',7);
+ define('ITEM_TYPE_AGGREGATE',8);
+ define('ITEM_TYPE_HTTPTEST',9);
+
+ define('ITEM_VALUE_TYPE_FLOAT',0);
+ define('ITEM_VALUE_TYPE_STR',1);
+ define('ITEM_VALUE_TYPE_LOG',2);
+ define('ITEM_VALUE_TYPE_UINT64',3);
+ define('ITEM_VALUE_TYPE_TEXT',4);
+
+ define('ITEM_STATUS_ACTIVE',0);
+ define('ITEM_STATUS_DISABLED',1);
+ define('ITEM_STATUS_NOTSUPPORTED',3);
+
+ define('ITEM_SNMPV3_SECURITYLEVEL_NOAUTHNOPRIV',0);
+ define('ITEM_SNMPV3_SECURITYLEVEL_AUTHNOPRIV',1);
+ define('ITEM_SNMPV3_SECURITYLEVEL_AUTHPRIV',2);
define('GRAPH_ITEM_DRAWTYPE_LINE', 0);
define('GRAPH_ITEM_DRAWTYPE_FILLED_REGION', 1);
@@ -178,144 +178,144 @@
define('GRAPH_ITEM_DRAWTYPE_DOT', 3);
define('GRAPH_ITEM_DRAWTYPE_DASHED_LINE', 4);
- define("SERVICE_ALGORITHM_NONE",0);
- define("SERVICE_ALGORITHM_MAX",1);
- define("SERVICE_ALGORITHM_MIN",2);
-
- define("TRIGGER_VALUE_FALSE",0);
- define("TRIGGER_VALUE_TRUE",1);
- define("TRIGGER_VALUE_UNKNOWN",2);
-
- define("ALERT_STATUS_NOT_SENT",0);
- define("ALERT_STATUS_SENT",1);
-
- define("ALERT_TYPE_EMAIL",0);
- define("ALERT_TYPE_EXEC",1);
- define("ALERT_TYPE_SMS",2);
- define("ALERT_TYPE_JABBER",3);
-
- define("ACTION_STATUS_ENABLED",0);
- define("ACTION_STATUS_DISABLED",1);
-
- define("ACTION_TYPE_MESSAGE",0);
- define("ACTION_TYPE_COMMAND",1);
-
- define("ACTION_EVAL_TYPE_AND_OR",0);
- define("ACTION_EVAL_TYPE_AND",1);
- define("ACTION_EVAL_TYPE_OR",2);
-
- define("TRIGGER_STATUS_ENABLED",0);
- define("TRIGGER_STATUS_DISABLED",1);
- define("TRIGGER_STATUS_UNKNOWN",2);
-
- define("RECIPIENT_TYPE_USER",0);
- define("RECIPIENT_TYPE_GROUP",1);
-
- define("LOGFILE_SEVERITY_NOT_CLASSIFIED",0);
- define("LOGFILE_SEVERITY_INFORMATION",1);
- define("LOGFILE_SEVERITY_WARNING",2);
- define("LOGFILE_SEVERITY_AVERAGE",3);
- define("LOGFILE_SEVERITY_HIGH",4);
- define("LOGFILE_SEVERITY_DISASTER",5);
- define("LOGFILE_SEVERITY_AUDIT_SUCCESS",6);
- define("LOGFILE_SEVERITY_AUDIT_FAILURE",7);
-
- define("SCREEN_RESOURCE_GRAPH", 0);
- define("SCREEN_RESOURCE_SIMPLE_GRAPH", 1);
- define("SCREEN_RESOURCE_MAP", 2);
- define("SCREEN_RESOURCE_PLAIN_TEXT", 3);
- define("SCREEN_RESOURCE_HOSTS_INFO", 4);
- define("SCREEN_RESOURCE_TRIGGERS_INFO", 5);
- define("SCREEN_RESOURCE_SERVER_INFO", 6);
- define("SCREEN_RESOURCE_CLOCK", 7);
- define("SCREEN_RESOURCE_SCREEN", 8);
- define("SCREEN_RESOURCE_TRIGGERS_OVERVIEW", 9);
- define("SCREEN_RESOURCE_DATA_OVERVIEW", 10);
- define("SCREEN_RESOURCE_URL", 11);
- define("SCREEN_RESOURCE_ACTIONS", 12);
- define("SCREEN_RESOURCE_EVENTS",13);
+ define('SERVICE_ALGORITHM_NONE',0);
+ define('SERVICE_ALGORITHM_MAX',1);
+ define('SERVICE_ALGORITHM_MIN',2);
+
+ define('TRIGGER_VALUE_FALSE',0);
+ define('TRIGGER_VALUE_TRUE',1);
+ define('TRIGGER_VALUE_UNKNOWN',2);
+
+ define('ALERT_STATUS_NOT_SENT',0);
+ define('ALERT_STATUS_SENT',1);
+
+ define('ALERT_TYPE_EMAIL',0);
+ define('ALERT_TYPE_EXEC',1);
+ define('ALERT_TYPE_SMS',2);
+ define('ALERT_TYPE_JABBER',3);
+
+ define('ACTION_STATUS_ENABLED',0);
+ define('ACTION_STATUS_DISABLED',1);
+
+ define('ACTION_TYPE_MESSAGE',0);
+ define('ACTION_TYPE_COMMAND',1);
+
+ define('ACTION_EVAL_TYPE_AND_OR',0);
+ define('ACTION_EVAL_TYPE_AND',1);
+ define('ACTION_EVAL_TYPE_OR',2);
+
+ define('TRIGGER_STATUS_ENABLED',0);
+ define('TRIGGER_STATUS_DISABLED',1);
+ define('TRIGGER_STATUS_UNKNOWN',2);
+
+ define('RECIPIENT_TYPE_USER',0);
+ define('RECIPIENT_TYPE_GROUP',1);
+
+ define('LOGFILE_SEVERITY_NOT_CLASSIFIED',0);
+ define('LOGFILE_SEVERITY_INFORMATION',1);
+ define('LOGFILE_SEVERITY_WARNING',2);
+ define('LOGFILE_SEVERITY_AVERAGE',3);
+ define('LOGFILE_SEVERITY_HIGH',4);
+ define('LOGFILE_SEVERITY_DISASTER',5);
+ define('LOGFILE_SEVERITY_AUDIT_SUCCESS',6);
+ define('LOGFILE_SEVERITY_AUDIT_FAILURE',7);
+
+ define('SCREEN_RESOURCE_GRAPH', 0);
+ define('SCREEN_RESOURCE_SIMPLE_GRAPH', 1);
+ define('SCREEN_RESOURCE_MAP', 2);
+ define('SCREEN_RESOURCE_PLAIN_TEXT', 3);
+ define('SCREEN_RESOURCE_HOSTS_INFO', 4);
+ define('SCREEN_RESOURCE_TRIGGERS_INFO', 5);
+ define('SCREEN_RESOURCE_SERVER_INFO', 6);
+ define('SCREEN_RESOURCE_CLOCK', 7);
+ define('SCREEN_RESOURCE_SCREEN', 8);
+ define('SCREEN_RESOURCE_TRIGGERS_OVERVIEW', 9);
+ define('SCREEN_RESOURCE_DATA_OVERVIEW', 10);
+ define('SCREEN_RESOURCE_URL', 11);
+ define('SCREEN_RESOURCE_ACTIONS', 12);
+ define('SCREEN_RESOURCE_EVENTS',13);
/* alignes */
- define("HALIGN_DEFAULT",0);
- define("HALIGN_CENTER", 0);
- define("HALIGN_LEFT", 1);
- define("HALIGN_RIGHT", 2);
+ define('HALIGN_DEFAULT',0);
+ define('HALIGN_CENTER', 0);
+ define('HALIGN_LEFT', 1);
+ define('HALIGN_RIGHT', 2);
- define("VALIGN_DEFAULT",0);
- define("VALIGN_MIDDLE", 0);
- define("VALIGN_TOP", 1);
- define("VALIGN_BOTTOM", 2);
+ define('VALIGN_DEFAULT',0);
+ define('VALIGN_MIDDLE', 0);
+ define('VALIGN_TOP', 1);
+ define('VALIGN_BOTTOM', 2);
/* info module style */
- define("STYLE_HORISONTAL", 0);
- define("STYLE_VERTICAL", 1);
+ define('STYLE_HORISONTAL', 0);
+ define('STYLE_VERTICAL', 1);
/* time module tipe */
- define("TIME_TYPE_LOCAL", 0);
- define("TIME_TYPE_SERVER", 1);
+ define('TIME_TYPE_LOCAL', 0);
+ define('TIME_TYPE_SERVER', 1);
- define("FILTER_TAST_SHOW", 0);
- define("FILTER_TAST_HIDE", 1);
- define("FILTER_TAST_MARK", 2);
- define("FILTER_TAST_INVERT_MARK", 3);
+ define('FILTER_TAST_SHOW', 0);
+ define('FILTER_TAST_HIDE', 1);
+ define('FILTER_TAST_MARK', 2);
+ define('FILTER_TAST_INVERT_MARK', 3);
- define("MARK_COLOR_RED", 1);
- define("MARK_COLOR_GREEN", 2);
- define("MARK_COLOR_BLUE", 3);
+ define('MARK_COLOR_RED', 1);
+ define('MARK_COLOR_GREEN', 2);
+ define('MARK_COLOR_BLUE', 3);
- define("PROFILE_TYPE_UNKNOWN", 0);
- define("PROFILE_TYPE_ARRAY", 1);
- define("PROFILE_TYPE_INT", 2);
- define("PROFILE_TYPE_STR", 3);
+ define('PROFILE_TYPE_UNKNOWN', 0);
+ define('PROFILE_TYPE_ARRAY', 1);
+ define('PROFILE_TYPE_INT', 2);
+ define('PROFILE_TYPE_STR', 3);
- define("CALC_FNC_MIN", 1);
- define("CALC_FNC_AVG", 2);
- define("CALC_FNC_MAX", 4);
- define("CALC_FNC_ALL", 7);
+ define('CALC_FNC_MIN', 1);
+ define('CALC_FNC_AVG', 2);
+ define('CALC_FNC_MAX', 4);
+ define('CALC_FNC_ALL', 7);
- define("SERVICE_TIME_TYPE_UPTIME", 0);
- define("SERVICE_TIME_TYPE_DOWNTIME", 1);
- define("SERVICE_TIME_TYPE_ONETIME_DOWNTIME", 2);
-
- define("USER_TYPE_ZABBIX_USER", 1);
- define("USER_TYPE_ZABBIX_ADMIN", 2);
- define("USER_TYPE_SUPER_ADMIN", 3);
-
- define("PERM_MAX", 3);
- define("PERM_READ_WRITE", 3);
- define("PERM_READ_ONLY", 2);
- define("PERM_READ_LIST", 1);
- define("PERM_DENY", 0);
-
- define("PERM_RES_STRING_LINE", 0); /* return string of nodes id - "1,2,3,4,5" */
- define("PERM_RES_IDS_ARRAY", 1); /* return array of nodes id - array(1,2,3,4) */
- define("PERM_RES_DATA_ARRAY", 2);
-
- define("PERM_MODE_NE", 5);
- define("PERM_MODE_EQ", 4);
- define("PERM_MODE_GT", 3);
- define("PERM_MODE_LT", 2);
- define("PERM_MODE_LE", 1);
- define("PERM_MODE_GE", 0);
-
- define("RESOURCE_TYPE_NODE", 0);
- define("RESOURCE_TYPE_GROUP", 1);
+ define('SERVICE_TIME_TYPE_UPTIME', 0);
+ define('SERVICE_TIME_TYPE_DOWNTIME', 1);
+ define('SERVICE_TIME_TYPE_ONETIME_DOWNTIME', 2);
+
+ define('USER_TYPE_ZABBIX_USER', 1);
+ define('USER_TYPE_ZABBIX_ADMIN', 2);
+ define('USER_TYPE_SUPER_ADMIN', 3);
+
+ define('PERM_MAX', 3);
+ define('PERM_READ_WRITE', 3);
+ define('PERM_READ_ONLY', 2);
+ define('PERM_READ_LIST', 1);
+ define('PERM_DENY', 0);
+
+ define('PERM_RES_STRING_LINE', 0); /* return string of nodes id - '1,2,3,4,5' */
+ define('PERM_RES_IDS_ARRAY', 1); /* return array of nodes id - array(1,2,3,4) */
+ define('PERM_RES_DATA_ARRAY', 2);
+
+ define('PERM_MODE_NE', 5);
+ define('PERM_MODE_EQ', 4);
+ define('PERM_MODE_GT', 3);
+ define('PERM_MODE_LT', 2);
+ define('PERM_MODE_LE', 1);
+ define('PERM_MODE_GE', 0);
+
+ define('RESOURCE_TYPE_NODE', 0);
+ define('RESOURCE_TYPE_GROUP', 1);
define('PARAM_TYPE_SECONDS', 0);
define('PARAM_TYPE_COUNTS', 1);
- define("ZBX_NODE_REMOTE", 0);
- define("ZBX_NODE_LOCAL", 1);
- define("ZBX_NODE_MASTER", 2);
+ define('ZBX_NODE_REMOTE', 0);
+ define('ZBX_NODE_LOCAL', 1);
+ define('ZBX_NODE_MASTER', 2);
- define("HTTPTEST_STATUS_ACTIVE", 0);
- define("HTTPTEST_STATUS_DISABLED", 1);
+ define('HTTPTEST_STATUS_ACTIVE', 0);
+ define('HTTPTEST_STATUS_DISABLED', 1);
- define("HTTPSTEP_ITEM_TYPE_RSPCODE", 0);
- define("HTTPSTEP_ITEM_TYPE_TIME", 1);
- define("HTTPSTEP_ITEM_TYPE_IN", 2);
- define("HTTPSTEP_ITEM_TYPE_LASTSTEP", 3);
+ define('HTTPSTEP_ITEM_TYPE_RSPCODE', 0);
+ define('HTTPSTEP_ITEM_TYPE_TIME', 1);
+ define('HTTPSTEP_ITEM_TYPE_IN', 2);
+ define('HTTPSTEP_ITEM_TYPE_LASTSTEP', 3);
define('EVENT_SOURCE_TRIGGERS', 0);
define('EVENT_SOURCE_DISCOVERY', 1);
@@ -343,9 +343,9 @@
define('DHOST_STATUS_ACTIVE', 0);
define('DHOST_STATUS_DISABLED', 1);
- define("BR", "<br/>\n");
- define("SPACE", "&nbsp;");
- define("RARR", "&rArr;");
+ define('BR', "<br/>\n");
+ define('SPACE', '&nbsp;');
+ define('RARR', '&rArr;');
global $_GET, $_POST, $_COOKIE, $_REQUEST;
diff --git a/frontends/php/include/discovery.inc.php b/frontends/php/include/discovery.inc.php
index 7506a671..a226f357 100644
--- a/frontends/php/include/discovery.inc.php
+++ b/frontends/php/include/discovery.inc.php
@@ -17,8 +17,26 @@
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**/
+ require_once "include/perm.inc.php";
+
?>
<?php
+ function check_right_on_discovery($permission)
+ {
+ global $USER_DETAILS;
+ global $ZBX_CURNODEID;
+
+ if( $USER_DETAILS['type'] >= USER_TYPE_ZABBIX_ADMIN )
+ {
+ $accessible_nodes = get_accessible_nodes_by_user($USER_DETAILS, $permission, null, PERM_RES_IDS_ARRAY);
+
+ if( in_array($ZBX_CURNODEID, $accessible_nodes) )
+ return true;
+ }
+
+ return false;
+ }
+
function discovery_check_type2str($type_int)
{
$str_type[SVC_SSH] = S_SSH;
diff --git a/frontends/php/include/events.inc.php b/frontends/php/include/events.inc.php
index 938fbb92..97c16981 100644
--- a/frontends/php/include/events.inc.php
+++ b/frontends/php/include/events.inc.php
@@ -20,7 +20,7 @@
?>
<?php
- function get_history_of_events($start,$num, $groupid=0, $hostid=0, $nodeid=null)
+ function get_history_of_triggers_events($start,$num, $groupid=0, $hostid=0, $nodeid=null)
{
global $ZBX_CURNODEID;
global $USER_DETAILS;
@@ -89,4 +89,75 @@
}
return $table;
}
+
+ function get_history_of_discovery_events($start,$num,$nodeid=null)
+ {
+ global $ZBX_CURNODEID;
+ global $USER_DETAILS;
+
+ if(is_null($nodeid)) $nodeid = $ZBX_CURNODEID;
+
+ $db_events = DBselect('select distinct e.source,e.object,e.objectid,e.clock,e.value from events e'.
+ ' where '.' e.source='.EVENT_SOURCE_DISCOVERY.' order by e.clock desc',
+ 10*($start+$num)
+ );
+
+ $table = new CTableInfo(S_NO_EVENTS_FOUND);
+ $table->SetHeader(array(S_TIME, S_IP, S_DESCRIPTION, S_STATUS));
+ $col=0;
+
+ $accessible_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY);
+
+ $skip = $start;
+ while(($event_data = DBfetch($db_events))&&($col<$num))
+ {
+ if($skip > 0)
+ {
+ $skip--;
+ continue;
+ }
+
+ if($event_data["value"] == 0)
+ {
+ $value=new CCol(S_DOWN,"off");
+ }
+ elseif($event_data["value"] == 1)
+ {
+ $value=new CCol(S_UP,"on");
+ }
+ else
+ {
+ $value=new CCol(S_UNKNOWN_BIG,"unknown");
+ }
+
+
+ switch($event_data['object'])
+ {
+ case EVENT_OBJECT_DHOST:
+ $object_data = DBfetch(DBselect('select ip from dhosts where dhostid='.$event_data['objectid']));
+ $description = SPACE;
+ break;
+ case EVENT_OBJECT_DSERVICE:
+ $object_data = DBfetch(DBselect('select h.ip,s.type,s.port from dhosts h,dservices s '.
+ ' where h.dhostid=s.dhostid, s.dserviceid='.$event_data['objectid']));
+ $description = S_SERVICE.': '.discovery_check_type2str($object_data['type']).'; '.
+ S_PORT.': '.$object_data['port'];
+ break;
+ default:
+ continue;
+ }
+
+ if(!$object_data) continue;
+
+
+ $table->AddRow(array(
+ date("Y.M.d H:i:s",$event_data["clock"]),
+ $object_data['ip'],
+ $description,
+ $value));
+
+ $col++;
+ }
+ return $table;
+ }
?>
diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php
index 30bc8013..03d93df0 100644
--- a/frontends/php/include/locales/en_gb.inc.php
+++ b/frontends/php/include/locales/en_gb.inc.php
@@ -1244,6 +1244,7 @@
"S_INVENTORY"=> "Inventory",
"S_QUEUE"=> "Queue",
"S_EVENTS"=> "Events",
+ "S_EVENTS_BIG"=> "EVENTS",
"S_MAPS"=> "Maps",
"S_REPORTS"=> "Reports",
"S_GENERAL"=> "General",
diff --git a/frontends/php/include/screens.inc.php b/frontends/php/include/screens.inc.php
index ce5c0af8..070a4a44 100644
--- a/frontends/php/include/screens.inc.php
+++ b/frontends/php/include/screens.inc.php
@@ -370,7 +370,7 @@
}
elseif( ($screenitemid!=0) && ($resourcetype==SCREEN_RESOURCE_EVENTS) )
{
- $item = array(get_history_of_events(0, $elements));
+ $item = array(get_history_of_triggers_events(0, $elements));
if($editmode == 1) array_push($item,new CLink(S_CHANGE,$action));
}
else