new version-alarm lincense

This commit is contained in:
root
2025-06-03 11:52:10 +08:00
parent 4c19c0f873
commit 9ac1251e27
10 changed files with 895 additions and 27 deletions

View File

@@ -387,11 +387,11 @@ function GetTabConf($sysTypeNo)
$objDb='OBJ_'.$sysTypeNo;
$objDbConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'],$objDb);
$sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 <> 'parameter' order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 NOT IN ('parameter', 'neSystem','config','licenseUpdate','control') order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
//PPS do not need show fileOperation in the paramater
//if($sysTypeNo == 360)
// $sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 <> 'parameter' and name_2 <> 'fileOperation' order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
// $sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 NOT IN ('parameter', 'neSystem','config','licenseUpdate','control') and name_2 <> 'fileOperation' order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$res=@mysqli_query($objDbConn,$sql);
//$num=@mysqli_num_rows($res);
@@ -462,7 +462,7 @@ function GetSubTabConf($sysTypeNo,$tabOid)
global $objDbConn;
$where=getLevelWhere($tabOid);
$sql="select * from OBJ_{$sysTypeNo}.paramConf where (maxAccess=0 and name_2 <> 'parameter' and $where) or (maxAccess=21 and name_2 like '%Entry' and $where) order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$sql="select * from OBJ_{$sysTypeNo}.paramConf where (maxAccess=0 and name_2 NOT IN ('parameter', 'neSystem','config','licenseUpdate','control') and $where) or (maxAccess=21 and name_2 like '%Entry' and $where) order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$res=@mysqli_query($objDbConn,$sql);
$num=@mysqli_num_rows($res);

View File

@@ -778,7 +778,7 @@ function GetGlobalID()
function GetTabConf($sysTypeNo)
{
$sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 <> 'parameter' order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 NOT IN ('parameter', 'neSystem','config','licenseUpdate','control') order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$res=@mysqli_query($pubConn,$sql);
$num=@mysqli_num_rows($res);
//echo "$sql<br>";

View File

@@ -18,7 +18,13 @@ NO.1
*********************************************************/
require("../sub_inc/commfunc.php");
$DEBUG = 0;
$ftpInfo=get2GCLicenseAccount();
$impFile=$_FILES['impFile']['tmp_name'];
$sysTypeNo=$_REQUEST['selKeyFieldName'];
if($DEBUG)echo "<br>sysTypeNo= $sysTypeNo";
// echo "<pre>";
// echo print_r($ftpInfo);
// echo "</pre>";
$nGetComm = 0;
$nSetComm = 3;
@@ -29,7 +35,7 @@ $nGlobalSysParam = 2;
$omc_db = 'OMC_PUB';
$sysInfoTable = 'OMC_PUB.sysInfo';
$impObjId = '2.1.2';
$impObjId = '99.2.1.2';
$impFileName = 'system.ini';
$ftpDir = '/usr/local/subsManage/';
$ftpLoginName = 'subsManager';
@@ -46,11 +52,34 @@ if($DEBUG)echo "<br>ftpLoginPwd=$ftpLoginPwd";
if($DEBUG)echo "<br>paramType=$paramType ";
if($DEBUG)echo "<br>maxImpFileSize=$maxImpFileSize ";
function ssh_exec_command($connection, $command) {
$stdio_stream = ssh2_exec($connection, $command);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
stream_set_blocking($stdio_stream, true);
stream_set_blocking($stderr_stream, true);
$output = stream_get_contents($stdio_stream);
$error = stream_get_contents($stderr_stream);
fclose($stdio_stream);
fclose($stderr_stream);
return $output . $error; // <20>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
}
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
if(isset($impFile) && $impFile != "none"){
// $getSysIdSql = "SELECT sysNo,subSysNo,ip
// FROM $sysInfoTable
// WHERE sysTypeNo='200' AND sysNo='9' AND baseStat > '0'
// ORDER BY sysNo,subSysNo
// ";
$getSysIdSql = "SELECT sysNo,subSysNo,ip
FROM $sysInfoTable
WHERE sysTypeNo='200' AND sysNo='9' AND baseStat > '0'
WHERE sysTypeNo='$sysTypeNo' AND baseStat > '0'
ORDER BY sysNo,subSysNo
";
if($DEBUG) echo "<br>getSysIdSql=$getSysIdSql";
@@ -127,6 +156,64 @@ if(isset($impFile) && $impFile != "none"){
exit();
}
if($DEBUG) echo "<br>sysTypeNo= $sysTypeNo";
switch($sysTypeNo){
case '320':
$black='msc';
break;
case '330':
$black='hlr';
break;
case '350':
$black='smsc';
break;
case '360':
$black='ocs';
break;
default:
echo "Uknown sysTypeNo:$sysTypeNo";
exit(1);
}
// <20><><EFBFBD><EFBFBD> HLR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B4A6>
if ($sysTypeNo === '330') {
$tempFilePath = $ftpDir.$impFileName;
$finalFilePath = '/usr/local/etc/udm/license/' . $impFileName;
// 1. <20><><EFBFBD><EFBFBD> subsManager <20>ϴ<EFBFBD><CFB4><EFBFBD> /usr/local/subsManage/
if(!sftp_put($key,$tempFilePath,$impFile,SFTP_ASCII))
{
echo "<br><b>Put file to $dstSeverIp Failed</font>";
exit();
@unlink ($impFile);
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
exit();
}
// 2. <20><> agtuser ssh <20><><EFBFBD>Ӳ<EFBFBD>ִ<EFBFBD><D6B4> sudo mv
$agt_connection = ssh2_connect($dstSeverIp, 22);
if (!$agt_connection) {
echo "<br><b>Connect $dstSeverIp Failed!</font>";
exit();
}
if (!ssh2_auth_password($agt_connection, $ftpInfo['UserName'], $ftpInfo['Password'])) {
echo "<br><b>Login $dstSeverIp Failed!</font>";
exit();
}
$moveCommand = "sudo mv $tempFilePath $finalFilePath";
$moveResult = ssh_exec_command($agt_connection, $moveCommand);
if (strpos($moveResult, 'error') !== false || strpos($moveResult, 'Error') !== false || strpos($moveResult, 'cannot') !== false)
{
echo "<br><b>Failed to move file to $finalFilePath</font>";
exit();
}
@unlink($impFile);
echo "<br><font color=\"#0000FF\" size=2>HLR License Upload Finished</font>";
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
exit();
}
$impFileName="system.ini.".$black;
$remoteFileName=$ftpDir.$impFileName;
if($DEBUG)echo "$ftpCon,$remoteFileName,$impFile";
/* close ftp
@@ -151,13 +238,13 @@ if(isset($impFile) && $impFile != "none"){
}
@unlink ($impFile);
$sysId='388_99_99';
$sysId=$sysTypeNo.'_99_99';
if($DEBUG) echo "<br>(2) sysId=$sysId";
//send set command
$chgResult = setSysParamValue('388_99_99',$impObjId,$instanceNo,'00');
$commIdArr = sysCommSend('388_99_99',$nSetComm,$impObjId);
$chgResult = setSysParamValue($sysTypeNo.'_99_99',$impObjId,$instanceNo,'00');
$commIdArr = sysCommSend($sysTypeNo.'_99_99',$nSetComm,$impObjId);
if($DEBUG){
echo "setSysParamValue($sysId,$impObjId,$instanceNo,$newValue)<br>";
echo "sysCommSend($sysId,$nSetComm,$impObjId)";
@@ -204,6 +291,8 @@ if(isset($impFile) && $impFile != "none"){
}
$remoteFileName =$ftpDir.$baseLogFileName;
//echo "remoteFileName=$remoteFileName";
$timestamp = time();
$nameArray = explode(".",$baseLogFileName);
$logFileName = $nameArray[0].$timestamp."_".$k.".log";
@@ -219,7 +308,6 @@ if(isset($impFile) && $impFile != "none"){
if($retval=='log') unlink($delFileName);
}
*/
//echo "$ftpCon,$localFileName,$remoteFileName";
/* close ftp
if(!ftp_get($ftpCon,$localFileName,$remoteFileName,FTP_ASCII)){
echo "<br><b>Get log file from $dstSeverIp Failed</font>";
@@ -238,7 +326,7 @@ if(isset($impFile) && $impFile != "none"){
}
$logFileUrl="../../../ftpFile/$logFileName";
echo "<br><br><a href=\"$logFileUrl\">Click here to open the log&nbsp;&nbsp;($dstSeverIp).</a>";
echo "<br><br><a href=\"$logFileUrl\" download>Click here to open the log&nbsp;&nbsp;($dstSeverIp).</a>";
}
echo "<p align=\"left\"><a href=\"JavaScript:history.go(-1)\"><img align=absBottom border=0 src=\"../../images/left.gif\" width=\"14\" height=\"14\">Back</a>";
exit();
@@ -286,6 +374,52 @@ echo "<br>";
<font color="#0000FF" size=2>Note:Import File's size <= <?php echo $maxImpFileSize?> bytes</font>
</td>
</tr>
<tr>
<td>Select Object:</td>
<td>
<select size="1" name="selKeyFieldName" >
<?php
$infoSql="select sysTypeNo,sysNo,subSysNo FROM sysInfo where sysTypeNo='330' or sysTypeNo='320' or sysTypeNo='350' or sysTypeNo='360' and baseStat > '0' order by sysNo,subSysNo";
$infoRes=@mysqli_query($pubConn,$infoSql);
$infoCount=mysqli_num_rows($infoRes);
for($i=0;$i<$infoCount;$i++)
{
$infoRow=@mysqli_fetch_array($infoRes);
$sysId=$infoRow['sysTypeNo']."_99_99";
switch($infoRow['sysTypeNo']){
case '320':
$sysTypeName='MSC';
break;
case '330':
$sysTypeName='HLR';
break;
case '350':
$sysTypeName='SMSC';
break;
case '360':
$sysTypeName='PPS';
break;
default:
echo "Uknown sysTypeNo:$sysTypeNo";
exit(1);
}
//if($statRow['sysNo']=$i)
echo "<option value=\"{$infoRow['sysTypeNo']}\">{$sysTypeName}_{$infoRow['sysNo']}_{$infoRow['subSysNo']}</option>";
}//end for
?>
<!-- <option value="msisdn" selected>MSISDN</option>
<option value="imsi">IMSI</option>
<option value="imei">IMEI</option> -->
</select>
</td>
</tr>
<tr>
<td>Select File:</td>
<td>

View File

@@ -0,0 +1,378 @@
<?php
require("../../inc/header.inc");
?>
<script LANGUAGE="JavaScript">
function goPage(numberOfRec){
var pageUrl,bgnNo,numberPerPage;
pageNo=document.selectform.pageNo.value;
numberPerPage='<?php echo "$numberPerPage";?>';
numberPerPage=100;
bgnNo=numberPerPage*(pageNo-1);
var selSysTypeNo=document.selectform.selSysTypeNo.value;
baseUrl='<?php echo "$PHP_SELF?$basePageLink";?>';
pageUrl="&bgnNo="+bgnNo+"&numberOfRecords="+numberOfRec+"&selSysTypeNo="+selSysTypeNo;
window.location.href=baseUrl+pageUrl;
}
</script>
<body leftmargin="15" rightmargin="10" onload="javascript:adjust_frame('down');" onresize="javascript:adjust_frame('down');" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<?php
//&bgnNo=$bgnNo&numberOfRecords=numberOfRecords$basePageLink=$_REQUEST['basePageLink'];
$bgnNo=$_REQUEST['bgnNo'];
$numberOfRecords=$_REQUEST['numberOfRecords'];
$selSysTypeNo=$_REQUEST['selSysTypeNo'];
$nextPageLink=$_REQUEST['nextPageLink'];
$prePageLink=$_REQUEST['prePageLink'];
$actMode=$_REQUEST['actMode'];
echo "<meta http-equiv=\"refresh\" content=\"10; url=$PHP_SELF?selSysTypeNo=$selSysTypeNo&noop=$noop&nolog=1\">";
adjust_head_frame("down");
adjust_title_head_frame("down");
adjust_title_tail_frame("down");
adjust_content_head_frame("down");
echo "<br>";
//*****
//$url_temp=$_SERVER["REQUEST_URI"];
//echo "This page URL:$url_temp<br>";
/*********************************************************
程序说明:
功能说明:告警查询的下部页面,查询显示
调用关系:
变量说明:
作者:
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
$DEBUG = 1;
//if(!isset($selSysTypeNo)) $selSysTypeNo='all';
//==========================================================
//变量定义
//==========================================================
$dbName = 'OMC_PUB';
$logTable = 'sysAlarmEvent';
$numberPerPage = 100; //每页纪录数
$orderByStr = "alarmTime DESC,sysTypeNo,sysNo,subSysNo";//排序顺序
//确定告警内容显示语言种类
if($language=='chn'){
$alarmDesc = alarmDesc_1; //chinese
}else{
$alarmDesc = alarmDesc_2;
}
//初始化设备名和设备编号数组,
//由于三张表一起查时,速度太慢,占用系统资源太大。
//所以系统类型编号对应的系统类型名称不从数据库中直接取。
//将数据到如数组,显示时,从数组中来取。
$device_sql ="SELECT sysTypeNo,sysTypeName
FROM $sysconf_table
WHERE needHeartBeat >'0'
ORDER BY sysTypeNo
";
$device_result = @mysqli_query($pubConn,$device_sql);
$device_rows = @mysqli_fetch_array($device_result);
echo mysqli_error($pubConn);
if($DEBUG)echo "<br>device_sql:$device_sql";
$i=0;
do{
$sysTypeDef[$i][sysTypeNo] = $device_rows[sysTypeNo];
$sysTypeDef[$i][sysTypeName]= $device_rows[sysTypeName];
$i++;
}while($device_rows = mysqli_fetch_array($device_result));
//需要被查询的字段名
$selectFieldList="$logTable.sysTypeNo,sysNo,subSysNo,$logTable.compCode,$logTable.alarmCode,$logTable.alarmInfo,$logTable.alarmId,alarmLevel,$alarmDesc ,alarmTime,clearTime,clearMode,clearInfo";
//显示列表时的表头标题
$noop=0;
if($noop!=1)
{
if ($selectedLanguage == 'eng')
$showFieldArr=array('System','Alarm Info','Alarm time');
elseif ($selectedLanguage == 'chn')
$showFieldArr=array('系统号','详细内容','告警时间');
}
else
{
if ($selectedLanguage == 'eng')
$showFieldArr=array('System','Alarm Info','Alarm time');
elseif ($selectedLanguage == 'chn')
$showFieldArr=array('系统号','详细内容','告警时间');
}
//==========================================================
//输入变量
//==========================================================
//==========================================================
//数据处理
//==========================================================
//告警手动清除
//根据上部页面传来的变量,生成查询条件
if( strlen($selSysTypeNo) > 0){
if( $selSysTypeNo != 'all'){
$whereStr .=" $logTable.sysTypeNo = '$selSysTypeNo'";
}
if(strlen($whereStr) > 0){
$whereStr .=" AND clearMode= '2'";
}else{
$whereStr .=" clearMode= '2'";
}
}else{
if(strlen($whereStr) < 1){
$whereStr =" clearMode= '2' ";
}
}
if($DEBUG) echo "<br>whereStr=$whereStr";
//查询基本条件 test
// if(strlen($whereStr) > 10){
// $bascWhereStr ="
// AND $logTable.sysTypeNo = $defTable.sysTypeNo
// AND $logTable.compCode = $defTable.compCode
// AND $logTable.alarmCode = $defTable.alarmCode
// ";
// }else{
// $bascWhereStr ="
// $logTable.sysTypeNo = $defTable.sysTypeNo
// AND $logTable.compCode = $defTable.compCode
// AND $logTable.alarmCode = $defTable.alarmCode
// ";
// }
if(!$numberOfRecords){
if(!isset($bgnNo))
$bgnNo=0;
$countSql="SELECT count(*) as totalNum
FROM $logTable
WHERE $whereStr
";
if($DEBUG) echo "<br>countSql=$countSql";
$result=mysqli_query($pubConn,$countSql);
echo mysqli_error($pubConn);
$record = @mysqli_fetch_array($result);
$numberOfRecords = $record[0];
if($DEBUG)
echo "<br>numberOfRecords=$numberOfRecords";
//插入日志
if($nolog != 1)
insertLog("View Alarm Log");
}
//找到需要显示的纪录
if($numberOfRecords > 0){
$showSql=" SELECT sysTypeNo,sysNo,subSysNo,alarmInfo,alarmTime
FROM $logTable
WHERE $whereStr
ORDER BY $orderByStr
LIMIT $bgnNo, $numberPerPage
";
if($DEBUG) echo "<br>showSql=$showSql";
$result=@mysqli_query($pubConn,$showSql);
echo mysqli_error($pubConn);
$thisPageOtherNum = @mysqli_num_rows($result);
$rows=@mysqli_fetch_array($result);
if($DEBUG)echo "<br>thisPageOtherNum:$thisPageOtherNum";
if($selSysTypeNo=='all' || !isset($selSysTypeNo)|| strlen($selSysTypeNo)==0)
if($thisPageOtherNum==0 || $thisPageOtherNum< $numberPerPage)
{
//echo "$thisPageOtherNum< $numberPerPage";
$countSql="SELECT count(*) as totalNum
FROM $logTable
WHERE $whereStr
";
if($DEBUG) echo "<br>countSql=$countSql";
$cntResult=mysqli_query($pubConn,$countSql);
echo mysqli_error($pubConn);
$record = @mysqli_fetch_array($cntResult);
$otherTotalNum = $record[0];
}
//下面是控制分页显示需要传递的变量传递变量
if ($numberOfRecords >= 1) {
$nextBgnNo = $bgnNo + $numberPerPage; //本页的结束数目
if ($nextBgnNo > $numberOfRecords){
$nextBgnNo = $numberOfRecords;
}
$t1 = $bgnNo + 1;
$prevBgnNo = $bgnNo - $numberPerPage;
if ($prevBgnNo < 0) {
$prevBgnNo = 0;
}
$basePageLink ="selSysTypeNo=$selSysTypeNo&numberOfRecords=$numberOfRecords";
$prePageLink ="bgnNo=$prevBgnNo";
$nextPageLink ="bgnNo=$nextBgnNo";
}
$showBgnNo=$bgnNo+1;
}
//==========================================================
//输出并显示数据
//==========================================================
?>
<form name="selectform" action="./alarmEvent_down.php" method="post">
<?php
echo "<input type=\"hidden\" value=\"$selSysTypeNo\" name=\"selSysTypeNo\">";
echo "<input type=\"hidden\" value=\"$noop\" name=\"noop\">";
if($numberOfRecords == 0){
echo "<br><font size =\"3\" color=\"#000000\">Currently there is no alarm!</font>";
exit();
}
?>
<TABLE border="0" width="100%" cellpadding="2" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF">
<TR>
<TD >
<?php
echo "$strDisplayRecords<FONT color=#0000ff>&nbsp;$showBgnNo - $nextBgnNo</FONT>, ";
echo "($strTotal:$numberOfRecords)";
?>
</TD>
<TD align="right">
<?php
// NEW: Display a link for the previous set of records.
if ($bgnNo != 0) {
echo "<a href=\"$PHP_SELF?$basePageLink&$prePageLink\">";
echo "Previous&nbsp;<IMG alt=$strPreviousPage align=absBottom border=0 src=../../images/left.gif ></a>&nbsp;";
}else{
echo "<font color=\"#808080\">Previous&nbsp;</font><IMG alt=$strPreviousPage align=absBottom border=0 src=../../images/left_1.gif ></a>&nbsp;";
}
//根据纪录条数,算出页码数,本页页码
if($numberOfRecords > 0){
$totalPageNum = ceil($numberOfRecords / $numberPerPage );
$pageNo = $bgnNo / $numberPerPage + 1;
}
echo "<SELECT size=\"1\" name=\"pageNo\" onChange=\"javasript:goPage($numberOfRecords)\">";
for($i=1;$i<=$totalPageNum;$i++){
if($i== $pageNo){
echo "<option selected value=\"$i\" >$i</option>";
}else{
echo "<option value=\"$i\">$i</option>";
}
}
echo "</SELECT>";
// NEW: Display a link for the next set of records.
if ($nextBgnNo != $numberOfRecords && $numberOfRecords >0) {
echo "<a href=\"$PHP_SELF?$basePageLink&$nextPageLink\">";
echo "<IMG alt=$strNextPage align=absBottom border=0 src=../../images/right.gif>&nbsp;Next</a>";
}else{
echo "<IMG alt=$strNextPage align=absBottom border=0 src=../../images/right_1.gif ><font color=\"#808080\">&nbsp;Next</font>";
}
?>
</TD>
</TR>
</TABLE>
<table border="1" width="100%" cellpadding="1" cellspacing="0" bordercolor="#666666" bordercolordark="#FFFFFF">
<tr bgcolor="#E6E6E6">
<?php
$i=0;
for($i=0;$i<sizeof($showFieldArr);$i++){
echo "<td align=\"center\">";
echo "$showFieldArr[$i]";
echo "</td>";
}
?>
</tr>
<?php
if($thisPageOtherNum>0)
do
{
for($i=0; $i < sizeof($sysTypeDef); $i++){
if($rows[sysTypeNo] == $sysTypeDef[$i][sysTypeNo]){
$sysName=$sysTypeDef[$i][sysTypeName].'_'.$rows[sysNo].'_'.$rows[subSysNo];
$sysId=$rows[sysTypeName].'_'.$rows[sysNo].'_'.$rows[subSysNo];
break;
}
}
if(strlen($sysName) < 3){
$sysName='unknown';
//continue;
}
$sysTypeNo =$rows[sysTypeNo];
$sysNo =$rows[sysNo];
$subSysNo =$rows[subSysNo];
$compCode =$rows[compCode];
$alarmCode =$rows[alarmCode];
$descript =$rows[$alarmDesc];
$alarmInfo =$rows[alarmInfo];
$alarmId =$rows[alarmId];
$alarmTime =$rows[alarmTime];
$clearTime =$rows[clearTime];
$clearMode =$rows[clearMode];
$sysName=getSystemNameBySysTypeNo($sysTypeNo).'_'.$rows[sysNo].'_'.$rows[subSysNo];;
echo "<tr>";
echo "<td align=\"center\">";
echo "&nbsp; $sysName";
echo "</td>";
// echo "<td align=\"left\">";
// echo "&nbsp; $descript";
// echo "</td>";
echo "<td align=\"center\">";
echo "&nbsp; $alarmInfo";
echo "</td>";
echo "<td align=\"center\">";
echo "&nbsp; $alarmTime";
echo "</td>";
echo "</tr>";
}while($rows=mysqli_fetch_array($result));
?>
</table>
</form>
<?php
adjust_content_tail("down");
?>
</body>
</html>

View File

@@ -0,0 +1,28 @@
<?php
require("../../inc/header.inc");
?>
<frameset framespacing="0" border="0" rows="75,*" frameborder="0">
<?php
if(isset($selAlarmLevel) && $selSysTypeNo=='all' && $noop==1)
{
echo "<frame name=\"header\" scrolling=\"no\" noresize target=\"main\" src=\"alarmEvent_up.php?selAlarmLevel=$selAlarmLevel&selSysTypeNo=all&noop=1\">";
echo "<frame name=\"main\" src=\"alarmEvent_down.php?selAlarmLevel=$selAlarmLevel&selSysTypeNo=all&noop=1\" scrolling=\"auto\">";
}
else
{
echo "<frame name=\"header\" scrolling=\"no\" noresize target=\"main\" src=\"alarmEvent_up.php\">";
echo "<frame name=\"main\" src=\"alarmEvent_down.php\" scrolling=\"auto\">";
}
?>
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>
</html>

View File

@@ -0,0 +1,85 @@
<?php
/*********************************************************
程序说明:
功能说明:告警查询的上部页面
调用关系:
变量说明:
返回值:无
作者:
修改注释:
NO.1
姓名:
时间:
修改说明:
*********************************************************/
require("../../inc/header.inc");
$db='OMC_PUB';
$pageTitle = "$strLog&nbsp;>&nbsp;$strLogAlarm";
$device_sql ="SELECT sysTypeNo,sysTypeName
FROM $sysconf_table
WHERE needHeartBeat >'0'
ORDER BY sysTypeNo
";
$device_result = @mysqli_query($pubConn,$device_sql);
$device_rows = @mysqli_fetch_array($device_result);
echo mysqli_error($pubConn);
?>
<base target="main">
<body leftmargin="15" rightmargin="10" onload="javascript:adjust_frame('up');" onresize="javascript:adjust_frame('up');" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;">
<form method="post" name="theform" id="theform" action="alarmEvent_down.php" >
<?php
adjust_head_frame("up");
adjust_title_head_frame("up");
echo "<table id=\"table_up\" border=\"0\" width=\"100%\">";
echo "<tr>";
echo "<td width=\"70%\" align=\"left\">";
echo "$pageTitle";
echo "</td>";
echo "<td align=\"right\" title=\"Help\">";
$helpId = "4.1";
showHelp($helpId);
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"left\">";
echo "$strSysType";
echo "<select size=\"1\" name=\"selSysTypeNo\"> ";
echo "<option value=\"all\">$strAll</option>";
do{
echo "<option value=\"$device_rows[sysTypeNo]\" >";
echo "$device_rows[sysTypeName]";
echo "</option>";
}while($device_rows = mysqli_fetch_array($device_result));
echo "<option value=\"500\" >BSS</option>";
echo "</select>&nbsp;";
echo "</select>&nbsp;&nbsp;&nbsp;&nbsp;";
echo "<input type=\"hidden\" value=$noop name=\"noop\">";
?>
<span id='searchID' onClick="javascript:document.theform.submit();" style="cursor:hand">
<IMG align=absBottom border=0 src="../../images/search.gif" ><?php echo "$strSearch"; ?>
</span>
<?php
echo "</td>";
echo "<td align=\"right\">";
echo "</td>";
echo "</tr>";
echo "</table>";
adjust_title_tail_frame("up");
adjust_content_head_frame("up");
adjust_content_tail_frame("up");
?>
</form>
</body>
</html>

View File

@@ -3,7 +3,9 @@ require("../../inc/lib.inc");
//This script file is executed when login in the ems
//get the alarm number of the five alarm level
if (!session_id()) session_start();
// echo "<pre>";
// print_r($_SESSION);
// echo "</pre>";
if (isset($_SESSION["userInfo"])) {
if (!isset($userInfo)) $userInfo = $_SESSION["userInfo"];
$selectedLanguage = $userInfo['language'];
@@ -14,6 +16,9 @@ if (isset($_SESSION["userInfo"])) {
$session_id = session_id();
$login_time = date('Y-m-d H:i:s', $userInfo['refresh_time']);
}
$dbName = 'OMC_PUB';
$defTable = 'sysAlarmConf';
$logTable = 'sysAlarmLog';
@@ -44,5 +49,213 @@ for ($i = 1; $i <= 5; $i++) {
}
$retureValue = $alarmNumArr[1]['number'] . "_" . $alarmNumArr[2]['number'] . "_" . $alarmNumArr[3]['number'] . "_" . $alarmNumArr[4]['number'] . "_" . $alarmNumArr[5]['number'];
echo "$retureValue"; ///is should
$cpuMax=95;
$default_user_name="agtuser";
$sql="select pubVarValue from OMC_PUB.omcPubVarConf where pubVarName='ResourceThreshold' ";
$res=mysqli_query($pubConn,$sql);
$row=mysqli_fetch_array($res);
if(strlen(trim($row['pubVarValue'])) > 0)
$cpuMax=$row['pubVarValue'];
// 查询 CPU 使用率
$cpuSql = "SELECT sysNo, subSysNo, detailStat FROM OMC_PUB.sysStat WHERE sysTypeNo = 200 and sysNo != 0";
$cpuResult = @mysqli_query($pubConn, $cpuSql);
echo mysqli_error($pubConn);
while ($row = @mysqli_fetch_array($cpuResult)) {
switch($row['sysNo']){
case 0:
$PlatName = 'EMS';
break;
case 3:
$PlatName = 'HLR';
break;
case 5:
$PlatName = 'PPS';
break;
case 6:
$PlatName = 'SMSC';
break;
case 8:
$PlatName = 'VMS';
break;
case 9:
$PlatName = 'MSS';
break;
default:
$PlatName = 'MSS';
}
// 解析 detailStat 获取 CPU 使用率
$baseStat = $row['detailStat'];
$compStat = substr($baseStat, 38);
$compStatLen = strlen($compStat) - 1;
$index = 0;
$i = 0;
while ($i < $compStatLen) {
$tmp = substr($compStat, $i, 4);
$component[$index]['ID'] = $tmp + 0;
$i += 4;
$tmp = substr($compStat, $i, 4);
$component[$index]['Length'] = hexdec($tmp);
$i += 4;
$component[$index]['Content'] = substr($compStat, $i, $component[$index]['Length'] * 2);
$i += $component[$index]['Length'] * 2;
$index++;
}
// 获取组件 8 的内容并计算 CPU 使用率
if ($component[8]['Length'] > 0) {
$snmp_hb = $component[8]['Content'];
//Start Time
$pos=0;
$tmpValue=hexdec(substr($snmp_hb,$pos,8));
$startTime=date("Y-m-d H:i:s",$tmpValue);
$pos+=8;
//GET CPU Use Rate
$cpuValue = 100 - hexdec(substr($snmp_hb, $pos, 2)); // 计算 CPU 使用率
// 初始化计数器(针对每个 sysNo 和 subSysNo
if (!isset($_SESSION['cpu_high_count'])) {
$_SESSION['cpu_high_count'] = []; // 初始化为数组
}
if (!isset($_SESSION['cpu_high_count'][$row['sysNo']])) {
$_SESSION['cpu_high_count'][$row['sysNo']] = []; // 初始化 sysNo 的子数组
}
if (!isset($_SESSION['cpu_high_count'][$row['sysNo']][$row['subSysNo']])) {
$_SESSION['cpu_high_count'][$row['sysNo']][$row['subSysNo']] = 0; // 初始化计数器
}
// 判断 CPU 使用率是否超过 95%
if ($cpuValue > $cpuMax) {
$_SESSION['cpu_high_count'][$row['sysNo']][$row['subSysNo']]++; // 增加计数
} else {
$_SESSION['cpu_high_count'][$row['sysNo']][$row['subSysNo']] = 0; // 重置计数
// 检查是否存在未清除的告警
$clearSql = "UPDATE sysAlarmInfo
SET clearTime = CURRENT_TIMESTAMP, clearMode = 0,clearBy = 'System'
WHERE sysTypeNo = '200'
AND sysNo = '{$row['sysNo']}'
AND subSysNo = '{$row['subSysNo']}'
AND alarmCode = '999'
AND clearTime = '0000-00-00 00:00:00'";
mysqli_query($pubConn, $clearSql);
echo mysqli_error($pubConn);
}
// 如果连续 6 次超过 95%,触发告警
if ($_SESSION['cpu_high_count'][$row['sysNo']][$row['subSysNo']] >= 6) {
$alarmInfo = "$PlatName-CPU usage exceeded 95% for 1 minute"; // 告警描述
$alarmSql = "INSERT INTO sysAlarmInfo (sysTypeNo, sysNo, subSysNo, compCode, alarmCode, alarmTime, clearTime, clearMode, alarmInfo)
VALUES ('200', '{$row['sysNo']}', '{$row['subSysNo']}', '0', '999', CURRENT_TIMESTAMP, '0000-00-00 00:00:00', 1, '$alarmInfo')";
mysqli_query($pubConn, $alarmSql);
echo mysqli_error($pubConn);
// 重置计数器
$_SESSION['cpu_high_count'][$row['sysNo']][$row['subSysNo']] = 0;
}
//CPU Use Rate Process Num
$pos+=2;
//Physical Memory Used/Total
$tmpValue=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
$tmpValue1=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
$tmpValue2=floor(($tmpValue/$tmpValue1)*100);
//$plat[PMTotalRate][Value]="{$tmpValue2}%";
//$plat[PMTotalRateV][Value]=(floor($tmpValue/1024))."M/".(floor($tmpValue1/1024))."M";
//$plat[PMTotalRatePN][Value]=floor($tmpValue2/10);
//Physical Memory Used/Swap
$tmpValue=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
$tmpValue1=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
$tmpValue2=floor(($tmpValue/$tmpValue1)*100);
//$plat[PMSwapRate][Value]="{$tmpValue2}%";
//$plat[PMSwapRateV][Value]=(floor($tmpValue/1024))."M/".(floor($tmpValue1/1024))."M";
//$plat[PMSwapRatePN][Value]=floor($tmpValue2/10);
//Physical Memory Buffers
$tmpValue=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
//$plat[PMBuffers][Value]=(floor($tmpValue/1024))."M";
//Physical Memory Cached
$tmpValue=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
//$plat[PMCached][Value]=(floor($tmpValue/1024))."M";
//Harddisk
$tmpValue=hexdec(substr($snmp_hb,$pos,2));
$pos+=2;
//$plat[HDNum]=$tmpValue;
for($i=0;$i<$plat[HDNum];$i++)
{
$tmpValue=hexdec(substr($snmp_hb,$pos,2));
$pos+=2;
$path_len=$tmpValue;
$path="";
for($j=0;$j<$path_len;$j++)
{
$path.=chr(hexdec(substr($snmp_hb,$pos,2)));
$pos+=2;
}
//$plat[HD][$i][Path][Value]="($path)";
//$plat[HD][$i][Path][Color]="#000000";
//$plat[HD][$i][Path][Display]="block";
$tmpValue=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
$tmpValue1=hexdec(substr($snmp_hb,$pos,8));
$pos+=8;
$tmpValue2=floor(($tmpValue/$tmpValue1)*100);
//$plat[HD][$i][PN][Value]=floor($tmpValue2/10);
//$plat[HD][$i][PN][Color]="#0000ff";
//$plat[HD][$i][PN][Display]="Rect";
//$plat[HD][$i][V][Value]=(floor($tmpValue/1024))."M/".(floor($tmpValue1/1024))."M";
//$plat[HD][$i][V][Color]="#000000";
//$plat[HD][$i][V][Display]="block";
//$plat[HD][$i][Rate][Value]="{$tmpValue2}%";
//$plat[HD][$i][Rate][Color]="#000000";
//$plat[HD][$i][Rate][Display]="block";
}
}
}
?>

View File

@@ -118,6 +118,32 @@ function debug_log($file, $info)
fclose($handle);
}
function get2GCLicenseAccount()
{
global $pubConn;
$default_user_name="agtuser";
$default_password="admin123";
$sql="select pubVarValue from OMC_PUB.omcPubVarConf where pubVarName='NeLicenseUser' ";
$res=mysqli_query($pubConn,$sql);
$row=mysqli_fetch_array($res);
if(strlen(trim($row['pubVarValue'])) > 0)
$ftpInfo['UserName']=$row['pubVarValue'];
else
$ftpInfo['UserName']=$default_user_name;
$sql="select pubVarValue from OMC_PUB.omcPubVarConf where pubVarName='NELicensePwd' ";
$res=mysqli_query($pubConn,$sql);
$row=mysqli_fetch_array($res);
if(strlen(trim($row['pubVarValue'])) > 0)
$ftpInfo['Password']=$row['pubVarValue'];
else
$ftpInfo['Password']=$default_password;
//echo "$ftpInfo[UserName], $ftpInfo[Password]";
return $ftpInfo;
}
//****************************************************************
//函数4 pageAccessChk($pageURL)
//函数说明:
@@ -1109,7 +1135,7 @@ function omcProgressBar($allNum, $doneNum)
//----------------------------------------------------------
function sysCommSend($sysId, $commType, $objIdStr, $selectedSysId = -1, $selectedDPC = 0)
{
global $OMC_server,$pubConn;
global $OMC_server;
$DEBUG = 0;
$pubDb = 'OMC_PUB';
$commTable = 'parameterComm';
@@ -1126,6 +1152,7 @@ function sysCommSend($sysId, $commType, $objIdStr, $selectedSysId = -1, $selecte
$subSysNo = $sysIdArr[2];
$objConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], 'OBJ_'.$sysTypeNo);
$pubConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], "OMC_PUB");
//insert the operation log into the database
$logStr = "";
@@ -1287,7 +1314,7 @@ function sysCommSend($sysId, $commType, $objIdStr, $selectedSysId = -1, $selecte
echo "</script>";
return (-1);
}
//echo "<br>$selRowsNum<br>";
if ($selRowsNum > 0) {
while ($selRows = mysqli_fetch_array($selResult)) {
$sysNo = $selRows[sysNo];
@@ -1535,7 +1562,7 @@ function sysCommSend($sysId, $commType, $objIdStr, $selectedSysId = -1, $selecte
//----------------------------------------------------------
function setSysParamValue($sysId, $objIdStr, $instanceNo, $newValue)
{
global $paramConf_table;
global $paramConf_table,$OMC_server,$pubConn;
$DEBUG = 0;
if ($DEBUG) echo "<br>sysId=$sysId";
@@ -1545,6 +1572,8 @@ function setSysParamValue($sysId, $objIdStr, $instanceNo, $newValue)
$subSysNo = $tmpSysIdArr[2];
$paramDb = 'OBJ_' . $sysTypeNo;
$objConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], $paramDb);
if ($DEBUG) echo "<br>paramDb=$paramDb";
//获取参数定义表的表名根据oid取出参数定义
$tmpObjArr = explode('.', $objIdStr);
@@ -1559,7 +1588,7 @@ function setSysParamValue($sysId, $objIdStr, $instanceNo, $newValue)
$getParamDefResult = mysqli_query($pubConn, $getParamDefSql);
echo mysqli_error($pubConn);
if (mysqli_num_rows($getParamDefResult) <= 0) {
echo "Cannot find this objId from paramConf";
//echo "Cannot find this objId from paramConf";
return (-1);
}
$getParamDefRows = mysqli_fetch_array($getParamDefResult);
@@ -1575,6 +1604,7 @@ function setSysParamValue($sysId, $objIdStr, $instanceNo, $newValue)
$subSysNo = '99';
}
//修改对应的参数值
$setParamValueSql = "UPDATE $paramTable
SET initValue='$newValue',readValue=''
@@ -1582,8 +1612,8 @@ function setSysParamValue($sysId, $objIdStr, $instanceNo, $newValue)
AND $objWhereStr
";
if ($DEBUG) echo "<br> $setParamValueSql <br>";
$setResult = mysqli_query($pubConn, $setParamValueSql);
echo mysqli_error($pubConn);
$setResult = mysqli_query($objConn, $setParamValueSql);
// echo mysqli_error($objConn); //bug
if ($setResult) {
return (1);
} else {
@@ -1629,9 +1659,9 @@ function getSysParamValue($sysId, $objIdStr, $instanceNo, $valueName)
$getParamDefSql = "SELECT paramType FROM $paramConf_table WHERE $objWhereStr";
if ($DEBUG) echo "<br>$getParamDefSql";
$getParamDefResult = mysqli_query($pubConn, $getParamDefSql);
echo mysqli_error($pubConn);
//echo mysqli_error($pubConn);
if (@mysqli_num_rows($getParamDefResult) <= 0) {
echo "Cannot find this objId from paramConf";
//echo "Cannot find this objId from paramConf";
return (-1);
}
$getParamDefRows = mysqli_fetch_array($getParamDefResult);
@@ -1654,7 +1684,7 @@ function getSysParamValue($sysId, $objIdStr, $instanceNo, $valueName)
";
if ($DEBUG) echo "<br> $getParamValueSql <br>";
$getResult = mysqli_query($pubConn, $getParamValueSql);
echo mysqli_error($pubConn);
//echo mysqli_error($pubConn);
if (mysqli_num_rows($getResult) > 0) {
$paramRows = mysqli_fetch_array($getResult);
$paramValue = $paramRows[0];

View File

@@ -227,7 +227,7 @@ function selectChn(){
}
?>
</td></tr>
<tr><td align="center"><b><font size=6>R2505.1</font></b></td></tr>
<tr><td align="center"><b><font size=6>R2506.1</font></b></td></tr>
</table>
</form>
</body>

View File

@@ -89,7 +89,7 @@ function adjustTableName($name)
function GetTabConf($sysTypeNo)
{
$sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 <> 'parameter' order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$sql="select * from OBJ_{$sysTypeNo}.paramConf where maxAccess=0 and name_2 NOT IN ('parameter', 'neSystem','config','licenseUpdate','control') order by level_1,level_2,level_3,level_4,level_5,level_6,level_7,level_8,level_9,level_10 ";
$res=@mysqli_query($pubConn,$sql);
$num=@mysqli_num_rows($res);
//echo "$sql<br>";