summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-06-08 13:34:45 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-06-08 13:34:45 +0000
commit8b4fe7931a148e8efb768b1a16a9895d031f82e4 (patch)
tree152fb0d04f70b73eb2825eac67d6130e69833194 /frontends/php/include
parente213f712b4c7fb22b725f024b18c26362a86d630 (diff)
downloadzabbix-8b4fe7931a148e8efb768b1a16a9895d031f82e4.tar.gz
zabbix-8b4fe7931a148e8efb768b1a16a9895d031f82e4.tar.xz
zabbix-8b4fe7931a148e8efb768b1a16a9895d031f82e4.zip
- developed database monitoring via ODBC (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@4253 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
-rw-r--r--frontends/php/include/defines.inc.php1
-rw-r--r--frontends/php/include/export.inc.php1
-rw-r--r--frontends/php/include/forms.inc.php24
-rw-r--r--frontends/php/include/httptest.inc.php8
-rw-r--r--frontends/php/include/import.inc.php3
-rw-r--r--frontends/php/include/items.inc.php31
-rw-r--r--frontends/php/include/locales/en_gb.inc.php2
7 files changed, 48 insertions, 22 deletions
diff --git a/frontends/php/include/defines.inc.php b/frontends/php/include/defines.inc.php
index a8db9322..997f2d01 100644
--- a/frontends/php/include/defines.inc.php
+++ b/frontends/php/include/defines.inc.php
@@ -168,6 +168,7 @@
define('ITEM_TYPE_AGGREGATE',8);
define('ITEM_TYPE_HTTPTEST',9);
define('ITEM_TYPE_EXTERNAL',10);
+ define("ITEM_TYPE_DB_MONITOR",11);
define('ITEM_VALUE_TYPE_FLOAT',0);
define('ITEM_VALUE_TYPE_STR',1);
diff --git a/frontends/php/include/export.inc.php b/frontends/php/include/export.inc.php
index 68609b90..a89d0d2e 100644
--- a/frontends/php/include/export.inc.php
+++ b/frontends/php/include/export.inc.php
@@ -52,6 +52,7 @@
'lastlogsize' => '',
'logtimefmt' => '',
'delay_flex' => '',
+ 'params' => '',
'trapper_hosts' => '',
'snmp_community' => '',
'snmp_oid' => '',
diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php
index 944ed609..48e0a298 100644
--- a/frontends/php/include/forms.inc.php
+++ b/frontends/php/include/forms.inc.php
@@ -1351,7 +1351,7 @@
$cmbType->AddItem(-1, S_ALL_SMALL);
foreach(array(ITEM_TYPE_ZABBIX, ITEM_TYPE_ZABBIX_ACTIVE, ITEM_TYPE_SIMPLE,
ITEM_TYPE_SNMPV1, ITEM_TYPE_SNMPV2C, ITEM_TYPE_SNMPV3, ITEM_TYPE_TRAPPER,
- ITEM_TYPE_INTERNAL, ITEM_TYPE_AGGREGATE, ITEM_TYPE_HTTPTEST) as $it)
+ ITEM_TYPE_INTERNAL, ITEM_TYPE_AGGREGATE, ITEM_TYPE_HTTPTEST,ITEM_TYPE_DB_MONITOR) as $it)
$cmbType->AddItem($it, item_type2str($it));
$form->AddRow('with '.bold(S_TYPE), $cmbType);
}
@@ -1457,7 +1457,7 @@
global $USER_DETAILS;
global $ZBX_CURNODEID;
- $frmItem = new CFormTable(S_ITEM);
+ $frmItem = new CFormTable(S_ITEM,"items.php","post");
$frmItem->SetHelp("web.items.item.php");
$frmItem->AddVar("config",get_request("config",0));
@@ -1479,6 +1479,10 @@
$trapper_hosts = get_request("trapper_hosts" ,"");
$units = get_request("units" ,'');
$valuemapid = get_request("valuemapid" ,0);
+ $params = get_request("params" ,"DSN=<database source name>\n".
+ "user=<user name>\n".
+ "password=<password>\n".
+ "sql=<query>");
$multiplier = get_request("multiplier" ,0);
$delta = get_request("delta" ,0);
$trends = get_request("trends" ,365);
@@ -1497,6 +1501,8 @@
$limited = null;
+ if("" == $key && $type == ITEM_TYPE_DB_MONITOR) $key = "db.odbc.select[<unique short description>]";
+
if(is_null($host)){
$host_info = get_host_by_hostid($_REQUEST["hostid"]);
$host = $host_info["host"];
@@ -1528,6 +1534,7 @@
$valuemapid = $item_data["valuemapid"];
$multiplier = $item_data["multiplier"];
$hostid = $item_data["hostid"];
+ $params = $item_data["params"];
$snmpv3_securityname = $item_data["snmpv3_securityname"];
$snmpv3_securitylevel = $item_data["snmpv3_securitylevel"];
@@ -1614,7 +1621,7 @@
$cmbType = new CComboBox("type",$type,"submit()");
foreach(array(ITEM_TYPE_ZABBIX,ITEM_TYPE_ZABBIX_ACTIVE,ITEM_TYPE_SIMPLE,
ITEM_TYPE_SNMPV1,ITEM_TYPE_SNMPV2C,ITEM_TYPE_SNMPV3,ITEM_TYPE_TRAPPER,
- ITEM_TYPE_INTERNAL,ITEM_TYPE_AGGREGATE,ITEM_TYPE_EXTERNAL) as $it)
+ ITEM_TYPE_INTERNAL,ITEM_TYPE_AGGREGATE,ITEM_TYPE_EXTERNAL,ITEM_TYPE_DB_MONITOR) as $it)
$cmbType->AddItem($it,item_type2str($it));
$frmItem->AddRow(S_TYPE, $cmbType);
}
@@ -1692,6 +1699,15 @@
$frmItem->AddRow(S_KEY, array(new CTextBox("key",$key,40,$limited), $btnSelect));
+ if( ITEM_TYPE_DB_MONITOR == $type )
+ {
+ $frmItem->AddRow(S_PARAMS, new CTextArea("params",$params,60,4));
+ }
+ else
+ {
+ $frmItem->AddVar("params",$params);
+ }
+
if(isset($limited))
{
$frmItem->AddVar("value_type", $value_type);
@@ -1983,7 +1999,7 @@
$cmbType = new CComboBox('type',$type);
foreach(array(ITEM_TYPE_ZABBIX,ITEM_TYPE_ZABBIX_ACTIVE,ITEM_TYPE_SIMPLE,ITEM_TYPE_SNMPV1,
ITEM_TYPE_SNMPV2C,ITEM_TYPE_SNMPV3,ITEM_TYPE_TRAPPER,ITEM_TYPE_INTERNAL,
- ITEM_TYPE_AGGREGATE,ITEM_TYPE_AGGREGATE,ITEM_TYPE_EXTERNAL) as $it)
+ ITEM_TYPE_AGGREGATE,ITEM_TYPE_AGGREGATE,ITEM_TYPE_EXTERNAL,ITEM_TYPE_DB_MONITOR) as $it)
$cmbType->AddItem($it, item_type2str($it));
$frmItem->AddRow(array( new CVisibilityBox('type_visible', get_request('type_visible'), 'type', S_ORIGINAL),
diff --git a/frontends/php/include/httptest.inc.php b/frontends/php/include/httptest.inc.php
index 2c03a4cf..728eef06 100644
--- a/frontends/php/include/httptest.inc.php
+++ b/frontends/php/include/httptest.inc.php
@@ -119,7 +119,7 @@
{
if (!($itemid = add_item($item['description'], $item['key_'], $hostid, $delay,
$history, ITEM_STATUS_ACTIVE, ITEM_TYPE_HTTPTEST, '', '', $item['type'], 'localhost',
- 161, $item['units'], 0, 0, '', 0, '', '', '0', $trends, '', 0, '', array($applicationid))))
+ 161, $item['units'], 0, 0, '', 0, '', '', '0', $trends, '', 0, '', '', array($applicationid))))
return false;
}
else
@@ -129,7 +129,7 @@
if (!(update_item($itemid, $item['description'], $item['key_'], $hostid, $delay, $item_data['history'],
$item_data['status'], ITEM_TYPE_HTTPTEST, '', '', $item['type'], 'localhost', 161,
$item['units'], 0, 0, $item_data['delta'], 0, '', '', '0', $item_data['trends'], '',
- $item_data['valuemapid'], '', array($applicationid))))
+ $item_data['valuemapid'], '', '', array($applicationid))))
return false;
}
@@ -271,7 +271,7 @@
{
if (!($itemid = add_item($item['description'], $item['key_'], $hostid, $delay,
$history, ITEM_STATUS_ACTIVE, ITEM_TYPE_HTTPTEST, '', '', $item['type'], 'localhost',
- 161, $item['units'], 0, 0, '', 0, '', '', '0', $trends, '', 0, '', array($applicationid))))
+ 161, $item['units'], 0, 0, '', 0, '', '', '0', $trends, '', 0, '', '', array($applicationid))))
{
$result = false;
break;
@@ -284,7 +284,7 @@
if (!(update_item($itemid, $item['description'], $item['key_'], $hostid, $delay, $item_data['history'],
$item_data['status'], ITEM_TYPE_HTTPTEST, '', '', $item['type'], 'localhost', 161,
$item['units'], 0, 0, $item_data['delta'], 0, '', '', '0', $item_data['trends'], '',
- $item_data['valuemapid'], '', array($applicationid))))
+ $item_data['valuemapid'], '', '', array($applicationid))))
{
$result = false;
break;
diff --git a/frontends/php/include/import.inc.php b/frontends/php/include/import.inc.php
index 6a36a968..06caddce 100644
--- a/frontends/php/include/import.inc.php
+++ b/frontends/php/include/import.inc.php
@@ -301,6 +301,7 @@
if(!isset($data['snmpv3_authpassphrase'])) $data['snmpv3_authpassphrase'] = '';
if(!isset($data['snmpv3_privpassphrase'])) $data['snmpv3_privpassphrase'] = '';
if(!isset($data['valuemap'])) $data['valuemap'] = '';
+ if(!isset($data['params'])) $data['params'] = '';
if(!isset($data['applications'])) $data['applications'] = array();
if(!empty($data['valuemap']))
@@ -357,6 +358,7 @@
$data['logtimefmt'],
$data['valuemapid'],
$data['delay_flex'],
+ $data['params'],
array_unique(array_merge(
$data['applications'],
get_applications_by_itemid($item['itemid'])
@@ -399,6 +401,7 @@
$data['logtimefmt'],
$data['valuemapid'],
$data['delay_flex'],
+ $data['params'],
$data['applications']);
}
diff --git a/frontends/php/include/items.inc.php b/frontends/php/include/items.inc.php
index a78986fc..de9ea63d 100644
--- a/frontends/php/include/items.inc.php
+++ b/frontends/php/include/items.inc.php
@@ -35,6 +35,7 @@
case ITEM_TYPE_AGGREGATE: $type = S_ZABBIX_AGGREGATE; break;
case ITEM_TYPE_HTTPTEST: $type = S_WEB_MONITORING; break;
case ITEM_TYPE_EXTERNAL: $type = S_EXTERNAL_CHECK; break;
+ case ITEM_TYPE_DB_MONITOR: $type = S_ZABBIX_DATABASE_MONITOR; break;
default:$type = S_UNKNOWN; break;
}
return $type;
@@ -81,13 +82,13 @@
}
# Update Item definition for selected group
- function update_item_in_group($groupid,$itemid,$description,$key,$hostid,$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$applications)
+ function update_item_in_group($groupid,$itemid,$description,$key,$hostid,$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$params,$applications)
{
$sql="select i.itemid,i.hostid from hosts_groups hg,items i where hg.groupid=$groupid and i.key_=".zbx_dbstr($key)." and hg.hostid=i.hostid";
$result=DBexecute($sql);
while($row=DBfetch($result))
{
- update_item($row["itemid"],$description,$key,$row["hostid"],$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$applications);
+ update_item($row["itemid"],$description,$key,$row["hostid"],$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$params,$applications);
}
return 1;
}
@@ -120,13 +121,13 @@
# Add Item definition to selected group
- function add_item_to_group($groupid,$description,$key,$hostid,$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$applications)
+ function add_item_to_group($groupid,$description,$key,$hostid,$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$params,$applications)
{
$sql="select hostid from hosts_groups where groupid=$groupid";
$result=DBexecute($sql);
while($row=DBfetch($result))
{
- add_item($description,$key,$row["hostid"],$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$applications);
+ add_item($description,$key,$row["hostid"],$delay,$history,$status,$type,$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$params,$applications);
}
return 1;
}
@@ -140,7 +141,7 @@
$description,$key,$hostid,$delay,$history,$status,$type,$snmp_community,$snmp_oid,
$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,$snmpv3_securityname,
$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,$formula,$trends,$logtimefmt,
- $valuemapid,$delay_flex,$applications,$templateid=0)
+ $valuemapid,$delay_flex,$params,$applications,$templateid=0)
{
$host=get_host_by_hostid($hostid);
@@ -223,7 +224,7 @@
$value_type, $trapper_hosts, $snmp_port, $units, $multiplier,
$delta, $snmpv3_securityname, $snmpv3_securitylevel,
$snmpv3_authpassphrase, $snmpv3_privpassphrase, $formula,
- $trends, $logtimefmt, $valuemapid, $delay_flex,
+ $trends, $logtimefmt, $valuemapid, $delay_flex, $params,
get_same_applications_for_host($applications, $db_item["hostid"]),
$templateid);
@@ -236,14 +237,14 @@
" (itemid,description,key_,hostid,delay,history,nextcheck,status,type,".
"snmp_community,snmp_oid,value_type,trapper_hosts,snmp_port,units,multiplier,".
"delta,snmpv3_securityname,snmpv3_securitylevel,snmpv3_authpassphrase,".
- "snmpv3_privpassphrase,formula,trends,logtimefmt,valuemapid,delay_flex,templateid)".
+ "snmpv3_privpassphrase,formula,trends,logtimefmt,valuemapid,delay_flex,params,templateid)".
" values ($itemid,".zbx_dbstr($description).",".zbx_dbstr($key).",$hostid,$delay,$history,0,
$status,$type,".zbx_dbstr($snmp_community).",".zbx_dbstr($snmp_oid).",$value_type,".
zbx_dbstr($trapper_hosts).",$snmp_port,".zbx_dbstr($units).",$multiplier,$delta,".
zbx_dbstr($snmpv3_securityname).",$snmpv3_securitylevel,".
zbx_dbstr($snmpv3_authpassphrase).",".zbx_dbstr($snmpv3_privpassphrase).",".
zbx_dbstr($formula).",$trends,".zbx_dbstr($logtimefmt).",$valuemapid,".
- zbx_dbstr($delay_flex).",$templateid)");
+ zbx_dbstr($delay_flex).",".zbx_dbstr($params).",$templateid)");
if(!$result)
return $result;
@@ -267,7 +268,7 @@
$value_type, $trapper_hosts, $snmp_port, $units, $multiplier,
$delta, $snmpv3_securityname, $snmpv3_securitylevel,
$snmpv3_authpassphrase, $snmpv3_privpassphrase, $formula,
- $trends, $logtimefmt, $valuemapid,$delay_flex,
+ $trends, $logtimefmt, $valuemapid,$delay_flex, $params,
get_same_applications_for_host($applications, $db_host["hostid"]),
$itemid);
if(!$result)
@@ -304,7 +305,7 @@
function update_item($itemid,$description,$key,$hostid,$delay,$history,$status,$type,
$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,
$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,
- $formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$applications,$templateid=0)
+ $formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$params,$applications,$templateid=0)
{
$host = get_host_by_hostid($hostid);
@@ -348,7 +349,7 @@
$value_type, $trapper_hosts, $snmp_port, $units, $multiplier,
$delta, $snmpv3_securityname, $snmpv3_securitylevel,
$snmpv3_authpassphrase, $snmpv3_privpassphrase, $formula,
- $trends, $logtimefmt, $valuemapid,$delay_flex,
+ $trends, $logtimefmt, $valuemapid,$delay_flex, $params,
get_same_applications_for_host($applications, $db_tmp_item["hostid"]),
$itemid);
@@ -386,7 +387,7 @@
"snmpv3_authpassphrase=".zbx_dbstr($snmpv3_authpassphrase).",".
"snmpv3_privpassphrase=".zbx_dbstr($snmpv3_privpassphrase).",".
"formula=".zbx_dbstr($formula).",trends=$trends,logtimefmt=".zbx_dbstr($logtimefmt).",".
- "valuemapid=$valuemapid,delay_flex=".zbx_dbstr($delay_flex).",".
+ "valuemapid=$valuemapid,delay_flex=".zbx_dbstr($delay_flex).",params=".zbx_dbstr($params).",".
"templateid=$templateid where itemid=$itemid");
if($result)
{
@@ -399,7 +400,7 @@
function smart_update_item($itemid,$description,$key,$hostid,$delay,$history,$status,$type,
$snmp_community,$snmp_oid,$value_type,$trapper_hosts,$snmp_port,$units,$multiplier,$delta,
$snmpv3_securityname,$snmpv3_securitylevel,$snmpv3_authpassphrase,$snmpv3_privpassphrase,
- $formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$applications)
+ $formula,$trends,$logtimefmt,$valuemapid,$delay_flex,$params,$applications)
{
$restore_rules= array(
"description" => array(),
@@ -425,6 +426,7 @@
"trends" => array('template' => 1 , 'httptest' => 1),
"logtimefmt" => array(),
"valuemapid" => array('httptest' => 1),
+ "params" => array(),
"delay_flex" => array());
$item_data = get_item_by_itemid($itemid);
@@ -452,7 +454,7 @@
$multiplier,$delta,$snmpv3_securityname,
$snmpv3_securitylevel,$snmpv3_authpassphrase,
$snmpv3_privpassphrase,$formula,$trends,
- $logtimefmt,$valuemapid,$delay_flex,$applications,
+ $logtimefmt,$valuemapid,$delay_flex,$params,$applications,
$item_data['templateid']);
}
@@ -580,6 +582,7 @@
$db_tmp_item["logtimefmt"],
$db_tmp_item["valuemapid"],
$db_tmp_item["delay_flex"],
+ $db_tmp_item["params"],
$apps,
$copy_mode ? 0 : $db_tmp_item["itemid"]);
}
diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php
index a8ae0f53..05b7141a 100644
--- a/frontends/php/include/locales/en_gb.inc.php
+++ b/frontends/php/include/locales/en_gb.inc.php
@@ -699,6 +699,7 @@
'S_SNMPV2_AGENT'=> 'SNMPv2 agent',
'S_SNMPV3_AGENT'=> 'SNMPv3 agent',
'S_ZABBIX_INTERNAL'=> 'ZABBIX internal',
+ 'S_ZABBIX_DATABASE_MONITOR'=> 'Database monitor',
'S_ZABBIX_AGGREGATE'=> 'ZABBIX aggregate',
'S_EXTERNAL_CHECK'=> 'External check',
'S_WEB_MONITORING'=> 'Web monitoring',
@@ -768,6 +769,7 @@
'S_ORIGINAL'=> 'Original',
'S_NEW_FLEXIBLE_INTERVAL'=> 'New flexible interval',
'S_FLEXIBLE_INTERVALS'=> 'Flexible intervals (sec)',
+ 'S_PARAMS'=> 'Additional parameters',
// events.php
'S_LATEST_EVENTS'=> 'Latest events',