diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-06-08 13:34:45 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-06-08 13:34:45 +0000 |
| commit | 8b4fe7931a148e8efb768b1a16a9895d031f82e4 (patch) | |
| tree | 152fb0d04f70b73eb2825eac67d6130e69833194 /frontends/php/include | |
| parent | e213f712b4c7fb22b725f024b18c26362a86d630 (diff) | |
| download | zabbix-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.php | 1 | ||||
| -rw-r--r-- | frontends/php/include/export.inc.php | 1 | ||||
| -rw-r--r-- | frontends/php/include/forms.inc.php | 24 | ||||
| -rw-r--r-- | frontends/php/include/httptest.inc.php | 8 | ||||
| -rw-r--r-- | frontends/php/include/import.inc.php | 3 | ||||
| -rw-r--r-- | frontends/php/include/items.inc.php | 31 | ||||
| -rw-r--r-- | frontends/php/include/locales/en_gb.inc.php | 2 |
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', |
